.progress-shell{--track-h:.1rem;--node:.4rem;--node-active:.7rem;--step-i:0;--step-n:1;width:100%;box-shadow:none;box-sizing:border-box;background:0 0;border:none;flex-direction:column;gap:.45rem;padding:1.15rem 0 0;display:flex;overflow:visible}.progress-chip{--t:calc(var(--step-i) / max(var(--step-n), 1));bottom:100%;left:calc(100% * var(--t));transform:translateX(calc(-100% * var(--t)));box-shadow:none;color:var(--textSecondary);letter-spacing:.04em;white-space:nowrap;pointer-events:none;transition:left var(--motion-med,.28s ease), transform var(--motion-med,.28s ease);background:0 0;border:none;align-items:center;gap:.3em;margin-bottom:.32rem;padding:0;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex;position:absolute}.progress-chip strong{color:var(--heading);font-weight:650}.progress{--size:var(--node);--bg:var(--line);--activeBg:var(--heading);width:100%;margin:0;position:relative;overflow:visible;&[data-style=steps]{min-height:calc(var(--node-active) + .2rem);flex-direction:row;justify-content:space-between;align-items:center;gap:0;padding:.15rem .1rem;display:flex;overflow:visible;& span{transition:background var(--motion-med), transform var(--motion-fast), box-shadow var(--motion-fast)}& .step{width:var(--node);height:var(--node);background:var(--bg);box-shadow:none;z-index:1;border:.125rem solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:650;display:inline-flex;transform:none;&+.direction{height:var(--track-h);border-radius:var(--pillRadius);background:var(--line);flex:auto;width:auto;min-width:.5rem;margin:0 .5rem;display:block}&.completed,&.active{background:var(--activeBg);color:var(--surface-1);border-color:#0000}&.active{width:var(--node-active);height:var(--node-active);box-shadow:0 0 0 .1875rem var(--wash)}&.completed+.direction{background:var(--ring)}}}&[data-style=progress]{border-radius:var(--pillRadius);background:var(--wash);height:.45em;overflow:hidden}& .bar{background:var(--heading);border-radius:var(--pillRadius);transition:width var(--motion-med);position:absolute;inset:0 auto 0 0}}html[data-shell=smartphone]{& .progress-shell{gap:.4rem}& .progress-chip{font-size:.64rem}}@media (prefers-reduced-motion:reduce){.progress .step,.progress .bar,.progress-chip{transition:none}}dialog.form-wrapper{border:none;width:100%;max-width:50vw;height:fit-content;padding:0!important;& button.action{background:var(--wash);width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;color:var(--heading);box-shadow:none;transition:background var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;place-items:center;margin:0;padding:0;display:inline-grid;position:fixed;top:.75rem;right:.75rem;& 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)}}& 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%}}}&:has(>.form-actions button[data-direction=back])>fieldset.form-fieldset>:last-child{margin-bottom:3rem}& sup{color:var(--danger);font-size:.8em;font-weight:650}& .form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2em;padding:2em 0 0;font-size:1.15em;display:flex;& button{align-items:center;gap:.4em;display:inline-flex}& .form-actions-icon{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}& .form-actions-icon svg,& button svg{flex-shrink:0;width:1em;height:1em;display:block}& button[data-direction=forward],& button[type=submit]{margin-left:auto}& button[data-direction=forward]:not([disabled]){background:var(--heading);color:var(--surface-1);box-shadow:var(--buttonShadow);transition:background var(--motion-fast), opacity var(--motion-fast);&:hover{background:var(--fill-hover)}}& button[data-direction=forward].is-blocked{opacity:.72}}}}html[data-shell=smartphone]{& dialog.form-wrapper{max-width:90vw;& button.action{top:.5rem;right:.5rem}}& .form-wrapper{& form{padding:2em;& .form-actions{text-align:center;flex-direction:column;justify-content:center;align-items:stretch;gap:.75rem;padding:1.5em 0 0;font-size:1em;& button{justify-content:center;width:100%;margin:0}}}}}aside#chat{&:has(#booking-wrapper){flex-shrink:0;width:min(50%,50rem);max-width:min(50%,50rem);left:auto;overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history,& footer.chat-compose{display:none}html[data-shell=smartphone] &{border-radius:inherit;width:100%;max-width:none}html[data-shell=tablet][data-shell-landscape=short] &,html[data-shell=smartphone][data-shell-landscape=short] &{width:100%;max-width:none}}& .booking-panel{background:0 0;border:none;margin:0;padding:0}& #booking-wrapper.form-wrapper{top:var(--chat-panel-header-h,3.55rem);z-index:1;height:auto;padding:0;position:absolute;bottom:0;left:0;right:0;html[data-shell=smartphone] &{top:1.65rem}& .booking-form{box-sizing:border-box;background:var(--surface-1);width:100%;height:100%;color:var(--text);box-shadow:none;border:none;flex-direction:column;gap:0;padding:0;display:flex;position:relative;overflow:hidden;& .progress-shell{z-index:20;pointer-events:none;width:auto;max-width:calc(100% - 2*clamp(1.1rem,3.2vw,1.65rem));margin:0;padding:1.15rem 0 0;position:absolute;inset:.85rem clamp(1.1rem,3.2vw,1.65rem) auto;overflow:visible}& .progress-shell .progress-chip,& .progress-shell .progress{pointer-events:none}& .progress{z-index:3;flex-shrink:0;margin:0;position:relative}& .booking-step-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:1;flex-direction:column;flex:1;align-items:stretch;gap:1rem;width:100%;min-height:0;padding:4.15rem clamp(1.1rem,3.2vw,1.65rem) 6.5rem;scroll-padding-top:3.5rem;scroll-padding-bottom:6rem;display:flex;position:relative;overflow-y:auto;&>h3{letter-spacing:-.03em;color:var(--heading);text-wrap:balance;max-width:22ch;margin:0;font-size:1.32rem;font-weight:650;line-height:1.2}&>p{color:var(--text);max-width:42ch;margin:0;font-size:.96rem;line-height:1.55}&>p+p{margin-top:-.25rem}&:has(.booking-contact-fields),&:has(.booking-confirm-summary):not(:has(.booking-calendar)),&:has(.booking-success){align-items:center}}&:has(>.form-actions button[data-direction=back])>.booking-step-body>:last-child{margin-bottom:3rem}& .form-actions{padding:.85rem clamp(1rem, 3vw, 1.5rem) max(.85rem, env(safe-area-inset-bottom,0));z-index:20;background:var(--surface-1);border-top:.0625rem solid var(--line);box-shadow:none;flex-flow:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:0;font-size:.95rem;display:flex;position:absolute;inset:auto 0 0;& button,& .button{width:auto;max-width:none;min-height:var(--hit-min,2.75rem);border-radius:var(--pillRadius);border:.0625rem solid var(--line);height:auto;color:var(--heading);box-shadow:none;line-height:1.25;font:inherit;font-weight:var(--button-weight);white-space:nowrap;touch-action:manipulation;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;gap:.4rem;margin:0;padding:.5rem 1.15rem;display:inline-flex}& button:hover:not(:disabled):not([type=submit]),& .button:hover:not(:disabled):not(.primary){border-color:var(--ring);background:var(--wash)}& button:focus-visible,& .button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& button:disabled,& .button:disabled{opacity:.45;cursor:not-allowed;transform:none}& button[data-direction=back]{box-shadow:none;background:0 0;border-color:#0000;margin-right:auto}& button[type=submit]{background:var(--heading);color:var(--surface-1);box-shadow:var(--buttonShadow);border-color:#0000}& button[type=submit]:not(:disabled):hover{background:var(--fill-hover)}& button[data-direction=back] svg{flex-shrink:0;width:1.05rem;height:1.05rem;display:block}&:empty{box-shadow:none;border:none;padding:0;display:none}}& .booking-booked-details{margin-top:.25em}& .booking-success{flex-direction:column;align-items:center;gap:.9rem;max-width:28rem;padding:.15rem 0 .35rem;display:flex}& .booking-success-badge{background:color-mix(in srgb, var(--success) 18%, transparent);width:2.85rem;height:2.85rem;color:var(--success);box-shadow:0 0 0 .1875rem color-mix(in srgb, var(--success) 28%, transparent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}& .booking-success-badge svg{stroke-width:2.5px;width:1.35rem;height:1.35rem;display:block}& .booking-success>h3{max-width:18ch;margin:0}& .booking-success>p{max-width:36ch;margin:0}& .booking-success .booking-booked-coordinate{max-width:42ch;color:color-mix(in srgb, var(--text) 72%, transparent);text-align:center;margin:.35rem 0 0;font-size:.85rem;line-height:1.45}& .booking-success .booking-confirm-summary{width:100%}& .booking-success .booking-confirm-summary p{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}& .booking-success .booking-confirm-summary strong{color:var(--heading);font-weight:650}& .booking-calendar-actions{flex-direction:column;align-items:stretch;gap:.55rem;width:100%;max-width:22rem;margin:.15rem 0 0;display:flex;& .button{width:100%;min-height:var(--control-h,2.75rem);border-radius:var(--pillRadius);border:.0625rem solid var(--line);color:var(--heading);box-shadow:none;font:inherit;font-weight:var(--button-weight);text-align:center;touch-action:manipulation;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;padding:.6rem 1.15rem;text-decoration:none;display:inline-flex}& .button:hover{border-color:var(--ring);background:var(--wash)}& .button.primary{background:var(--heading);color:var(--surface-1);border-color:var(--heading);box-shadow:var(--buttonShadow)}& .button.primary:hover{border-color:var(--fill-hover);background:var(--fill-hover)}& .button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .booking-calendar{flex-direction:column;align-self:stretch;gap:1rem;width:100%;min-width:0;display:flex}& .booking-calendar-body{flex-direction:column;gap:.9rem;width:100%;min-width:0;display:flex;container:booking-cal/inline-size}& .booking-calendar-main{flex-direction:column;gap:.9rem;width:100%;min-width:0;display:flex}@container booking-cal (width>=34rem){& .booking-calendar-main{grid-template-columns:minmax(0,.92fr) minmax(14rem,1.08fr);align-items:stretch;gap:.9rem;display:grid}& .booking-calendar-main>#date-picker.booking-slot-picker,& .booking-calendar-main>.booking-day-slots{min-width:0;height:100%}& .booking-calendar-main>.booking-day-slots{flex-direction:column;min-height:100%;max-height:none;display:flex}& .booking-calendar-main>.booking-day-slots .booking-day-slots-periods{overscroll-behavior:contain;flex:auto;min-height:0;padding-right:.1rem;overflow-y:auto}& .booking-calendar-main>#date-picker.booking-slot-picker{padding:.85rem .8rem .95rem}& .booking-calendar-main>#date-picker.booking-slot-picker .days>:is(span,button){min-height:2.1rem}& .booking-calendar-main .booking-day-slots-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr))}}@container booking-cal (width>=42rem){& .booking-calendar-main{grid-template-columns:minmax(0,.88fr) minmax(16rem,1.12fr);gap:1rem}& .booking-calendar-main .booking-day-slots-grid{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr))}}& .booking-calendar-head{flex-direction:column;gap:.4rem;margin:0;padding-bottom:.1rem;display:flex;& .booking-studio-plaque{max-width:100%}}& .booking-calendar-head h3{letter-spacing:-.03em;color:var(--heading);text-wrap:balance;max-width:22ch;margin:0;font-size:1.32rem;font-weight:650;line-height:1.2}& .booking-calendar-hint{color:var(--text);max-width:42ch;margin:0;font-size:.96rem;line-height:1.55}& .booking-studio-plaque{box-sizing:border-box;border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;max-width:28rem;box-shadow:none;color:var(--text);align-items:flex-start;gap:.75rem;margin:.1rem 0 0;padding:.8rem .95rem;display:flex;& .icon{background:var(--heading);width:2.5rem;height:2.5rem;color:var(--surface-1);border-radius:.7rem;flex:0 0 2.5rem;place-items:center;display:grid}& .icon svg{width:1.2rem;height:1.2rem;display:block}& .body{flex-direction:column;flex:auto;gap:.2rem;min-width:0;padding-top:.12rem;display:flex}& .name{letter-spacing:-.02em;color:var(--heading);text-wrap:pretty;font-size:.98rem;font-weight:650;line-height:1.3}& .addr{color:var(--textSecondary,var(--textMuted,var(--text)));font-size:.82rem;font-weight:500;line-height:1.4}& a.addr{width:fit-content;max-width:100%;color:var(--heading);border-bottom:.0625rem solid color-mix(in srgb, var(--heading) 35%, transparent);text-decoration:none}& a.addr:hover{border-bottom-color:var(--heading)}& a.addr:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .booking-day-rail{box-sizing:border-box;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--heading) 35%, transparent) transparent;flex-flow:row;align-items:stretch;gap:.5rem;width:100%;min-width:0;max-width:100%;margin:0;padding:.25rem .15rem .55rem;scroll-padding-inline:.35rem;display:flex;overflow:auto hidden;mask-image:linear-gradient(90deg,#0000 0,#000 .5rem calc(100% - .5rem),#0000 100%)}& .booking-day-rail::-webkit-scrollbar{height:.35rem}& .booking-day-rail::-webkit-scrollbar-track{background:0 0}& .booking-day-rail::-webkit-scrollbar-thumb{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--heading) 32%, transparent)}& .booking-day-rail::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--heading) 48%, transparent)}& .booking-day-chip{scroll-snap-align:start;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);min-width:3.65rem;min-height:4.35rem;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;box-shadow:none;transition:border-color var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.12rem;margin:0;padding:.5rem .45rem .45rem;display:inline-flex}& .booking-day-chip:hover{border-color:var(--ring);background:var(--wash)}& .booking-day-chip:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .booking-day-chip.is-active{background:var(--surface-1);border-color:var(--heading);box-shadow:inset 0 0 0 .0625rem var(--heading)}& .booking-day-chip-wd{letter-spacing:.08em;text-transform:uppercase;opacity:.72;font-size:.62rem;font-weight:650;line-height:1}& .booking-day-chip-num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--heading);font-size:1.35rem;font-weight:650;line-height:1.1}& .booking-day-chip-meta{opacity:.78;text-transform:capitalize;align-items:center;gap:.28rem;font-size:.62rem;font-weight:650;line-height:1;display:inline-flex}& .booking-day-chip-count{border-radius:var(--pillRadius);background:var(--wash);min-width:1.05rem;height:1.05rem;color:var(--heading);font-variant-numeric:tabular-nums;place-items:center;padding:0 .22rem;font-size:.62rem;font-weight:650;display:inline-grid}& .booking-day-chip.is-active .booking-day-chip-count{background:var(--heading);color:var(--surface-1)}& .booking-day-slots{border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);box-shadow:none;flex-direction:column;gap:.85rem;margin-top:.05rem;padding:1rem 1.1rem 1.15rem;display:flex}& .booking-day-slots.is-empty{background:var(--wash)}& .booking-day-slots-head{border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.15rem;display:flex}& .booking-day-slots-title{flex-direction:column;gap:.25rem;min-width:0;padding-bottom:.55rem;display:flex}& .booking-day-slots-label{letter-spacing:-.02em;text-transform:capitalize;color:var(--heading);margin:0;font-size:.98rem;font-weight:650;line-height:1.25}& .booking-day-slots-meta{color:var(--textSecondary,var(--textMuted,var(--text)));font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.76rem;font-weight:650}& .booking-day-slots-empty{border-radius:var(--controlRadius);color:var(--textSecondary);background:var(--wash);border:.0625rem dashed var(--line);margin:.25rem 0 0;padding:.85rem .95rem;font-size:.9rem;line-height:1.5}& .booking-day-nav{flex-shrink:0;gap:.35rem;padding-top:.05rem;display:inline-flex}& .booking-day-nav-btn{background:var(--wash);width:2.75rem;height:2.75rem;min-height:2.75rem;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;margin:0;padding:0;font-size:0;line-height:1;display:inline-grid}& .booking-day-nav-icon{width:1.05rem;height:1.05rem;color:inherit;place-items:center;display:grid}& .booking-day-nav-icon svg{width:100%;height:100%;display:block}& .booking-day-nav-btn:hover:not(:disabled){background:var(--heading);color:var(--surface-1)}& .booking-day-nav-btn:disabled{opacity:.32;cursor:default}& .booking-day-nav-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .booking-day-nav-btn:active:not(:disabled){transform:none}& .booking-day-slots-periods{flex-direction:column;gap:.85rem;display:flex}& .booking-period{flex-direction:column;gap:.5rem;display:flex}& .booking-period-label{letter-spacing:.08em;text-transform:uppercase;color:var(--textSecondary);align-items:center;gap:.5rem;margin:0;font-size:.7rem;font-weight:650;display:flex}& .booking-period-label:after{content:"";background:var(--line);flex:auto;height:.0625rem}& .booking-day-slots-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.5rem;display:grid;& .booking-slot-btn,& button{font:inherit;font-size:.95rem;font-weight:var(--button-weight);border-radius:var(--pillRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;min-width:0;min-height:2.75rem;color:var(--heading);cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums;letter-spacing:-.01em;box-shadow:none;transition:border-color var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast);padding:.5rem .7rem}& .booking-slot-btn:hover,& button:hover{border-color:var(--ring);background:var(--wash)}& .booking-slot-btn:focus-visible,& button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .booking-slot-btn.booking-slot-selected,& button.booking-slot-selected{background:var(--surface-1);border-color:var(--heading);box-shadow:inset 0 0 0 .0625rem var(--heading)}}& .booking-studio-skeleton{flex-direction:column;gap:.75rem;display:flex}& .booking-loading-label{letter-spacing:-.01em;color:var(--textSecondary,var(--textMuted,var(--text)));margin:0;font-size:.88rem;font-weight:650}& .booking-studio-card.is-skeleton{pointer-events:none;cursor:default;opacity:.95;box-shadow:none;transform:none;&:hover{box-shadow:none;border-color:var(--line);transform:none}& .skel-block,& .skel-line,& .skel-score,& .skel-chip,& .skel-cta{background:color-mix(in srgb, var(--heading), transparent 92%);border-radius:.55rem;animation:1.25s ease-in-out infinite booking-skel;display:block}& .logo.skel-block{border-radius:var(--controlRadius);background:color-mix(in srgb, var(--heading), transparent 88%);width:9.5em;min-height:7.25em;box-shadow:none}& .title-row{align-items:center}& .skel-line{width:100%;height:.78rem;margin:0}& .skel-title{flex:auto;width:auto;min-width:8rem;max-width:14rem;height:1.15rem}& .skel-score-wrap{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:inline-flex}& .skel-score-title{width:4.5rem;height:.7rem;margin:0;animation-delay:60ms}& .skel-score{border-radius:.75rem;flex-shrink:0;width:2.65rem;height:2.35rem;animation-delay:80ms}& .skel-meta{width:72%;max-width:16rem;animation-delay:.12s}& .skel-tagline{width:88%;max-width:22rem;height:.85rem;animation-delay:.18s}& .skel-short{width:48%;max-width:11rem}& .badges.skel-badges{border-top:.0625rem solid var(--line);flex-wrap:wrap;gap:.45rem;margin:.15rem 0 0;padding:.65rem 0 0;list-style:none;display:flex}& .skel-chip{border-radius:var(--pillRadius);width:5.5rem;height:1.85rem;animation-delay:.22s}& .skel-chip-wide{width:7.25rem;animation-delay:.28s}& .card-foot{justify-content:flex-end}& .skel-cta{width:9.5rem;height:var(--hit-min);border-radius:var(--pillRadius);background:color-mix(in srgb, var(--heading), transparent 86%);animation-delay:.32s}}& h3{margin:0 0 .2em}& p{margin:0}& ul{margin:0;padding-left:1.2em}& .booking-studio-intro{margin-bottom:var(--space-4,1rem);text-align:center;align-self:center;& h3{letter-spacing:-.025em;text-wrap:balance;max-width:22ch;margin:0 0 .55rem;font-size:1.32rem;font-weight:650;line-height:1.2}& p{color:var(--textSecondary);max-width:44ch;margin:0;font-size:.95rem;line-height:1.6}}& .booking-success .booking-studio-plaque{max-width:100%}& .booking-empty{margin:var(--space-5) 0;text-align:center;border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);box-shadow:none;color:var(--text);flex-direction:column;align-items:center;gap:.85rem;padding:clamp(1.35rem,4vw,2.1rem) clamp(1.05rem,3vw,1.6rem);font-size:.92rem;line-height:1.55;display:flex}& .booking-empty-icon{background:var(--wash);border:.0625rem solid var(--line);width:2.75rem;height:2.75rem;color:var(--heading);border-radius:50%;place-items:center;display:grid}& .booking-empty-icon svg{width:1.25rem;height:1.25rem;display:block}& .booking-empty--error .booking-empty-icon{background:var(--dangerSoft);border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger)}& .booking-empty p{max-width:22rem;color:var(--textSecondary);margin:0;font-weight:500}& .booking-empty-retry{text-align:center;white-space:nowrap;border-radius:var(--pillRadius);border:.0625rem solid var(--heading);background:var(--heading);min-width:8.5rem;max-width:100%;height:auto;min-height:2.75rem;color:var(--surface-1);line-height:1.25;font:inherit;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;box-shadow:var(--buttonShadow);transition:transform var(--motion-fast), opacity var(--motion-fast), background var(--motion-fast);justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.25rem;display:inline-flex}& .booking-empty-retry:hover{border-color:var(--fill-hover);background:var(--fill-hover)}& .booking-empty-retry:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .booking-empty-retry:active{transform:scale(.98)}& .booking-empty-retry:disabled{opacity:.55;cursor:wait;box-shadow:none}& .booking-empty-retry-icon{flex-shrink:0;width:1.05em;height:1.05em;display:inline-flex}& .booking-empty-retry-icon svg{width:100%;height:100%;display:block}& .booking-slots-skeleton{flex-direction:column;gap:.9rem;padding:.15rem 0 .35rem;display:flex}& .booking-skeleton-rail{gap:.5rem;display:flex;overflow:hidden}& .booking-skeleton-rail .sk-chip{border-radius:var(--controlRadius);background:color-mix(in srgb, var(--text), transparent 92%);flex:0 0 3.65rem;height:4.35rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-rail .sk-chip:nth-child(2){animation-delay:.1s}& .booking-skeleton-rail .sk-chip:nth-child(3){animation-delay:.2s}& .booking-skeleton-rail .sk-chip:nth-child(4){animation-delay:.3s}& .booking-skeleton-cal{border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);box-shadow:none;flex-direction:column;gap:.7rem;padding:1rem 1.05rem 1.1rem;display:flex}& .booking-skeleton-cal .sk-head{background:color-mix(in srgb, var(--text), transparent 90%);border-radius:.45rem;width:42%;height:1.35rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-cal .sk-week{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}& .booking-skeleton-cal .sk-week span{background:color-mix(in srgb, var(--text), transparent 93%);border-radius:.3rem;height:.7rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-cal .sk-grid{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}& .booking-skeleton-cal .sk-grid span{aspect-ratio:1;background:color-mix(in srgb, var(--text), transparent 92%);border-radius:.55rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-cal .sk-grid span:nth-child(3n){animation-delay:.12s}& .booking-skeleton-day-panel{border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);flex-direction:column;gap:.75rem;padding:1rem 1.1rem;display:flex}& .booking-skeleton-day-panel .sk-day-title{background:color-mix(in srgb, var(--text), transparent 90%);border-radius:.4rem;width:55%;height:1.1rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-rows{flex-direction:column;gap:.5rem;display:flex}& .booking-skeleton-rows span{border-radius:var(--controlRadius);background:color-mix(in srgb, var(--text), transparent 92%);height:2.65rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-rows span:nth-child(2){width:88%;animation-delay:.15s}& .booking-skeleton-rows span:nth-child(3){width:72%;animation-delay:.3s}& .booking-studio-list{flex-direction:column;gap:1.05rem;width:100%;padding-bottom:.5rem;display:flex}& .booking-studio-card{--brandPrimary:linear-gradient(155deg, color-mix(in srgb, var(--heading), white 8%) 0%, var(--heading) 100%);--studio-radius:var(--cardRadius);text-align:left;border-radius:var(--studio-radius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;box-shadow:none;cursor:pointer;isolation:isolate;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);touch-action:manipulation;flex-direction:column;gap:0;padding:0;font-size:.95em;font-weight:400;line-height:1.4;display:flex;position:relative;overflow:visible;&:after{content:"";z-index:4;border-radius:inherit;pointer-events:none;box-shadow:none;position:absolute;inset:0}&:hover{border-color:var(--ring);background:var(--surface-1);box-shadow:none;transform:none}&:active{box-shadow:none;transform:none}&:has(:focus-visible):after{box-shadow:inset 0 0 0 .125rem var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}&.is-verified:not(:hover){border-color:var(--line)}& .card-select{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}& .card-select:focus{outline:none}& .card-select:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .meta-link,& .cta{z-index:2;position:relative}& .card-top{flex-wrap:wrap;align-items:stretch;gap:1.1rem 1.25rem;padding:1.15rem 1.2rem 1rem;display:flex}& .logo{border-radius:var(--controlRadius);background:var(--brandPrimary);width:9.5em;min-height:7.25em;color:var(--surface-1);text-align:center;text-shadow:none;border:none;flex:none;place-content:center;gap:.3em;padding:.65em .55em;display:grid;overflow:hidden;box-shadow:inset 0 .0625rem #ffffff40;& strong{text-overflow:ellipsis;letter-spacing:-.02em;max-width:100%;font-size:1.02em;font-weight:650;line-height:1.15;overflow:hidden}& small{color:var(--surface-1);font-size:.62em;font-weight:500}}& .body{min-width:0;color:var(--text);flex-direction:column;flex:14em;gap:.7rem;display:flex}& .title-row{flex-wrap:wrap;gap:.55rem .85rem;display:flex}& h4{letter-spacing:-.02em;min-width:0;color:var(--heading);flex-wrap:wrap;flex:10rem;align-items:center;gap:.45em .55em;margin:0;font-size:1.2em;font-weight:650;line-height:1.25;display:flex}& .pill{border-radius:var(--pillRadius);letter-spacing:.02em;white-space:nowrap;color:var(--heading);background:var(--wash);vertical-align:middle;border:none;align-items:center;gap:.3em;padding:.22em .65em .22em .45em;font-size:.58em;font-weight:650;display:inline-flex}& .pill-icon{width:1.15em;height:1.15em;color:inherit;flex-shrink:0;line-height:0;display:inline-flex}& .pill-icon svg{width:100%;height:100%;display:block}& .pill-verified{background:var(--wash);color:var(--success)}& .score{z-index:2;position:relative;&[open]{z-index:3}flex-shrink:0;max-width:100%;margin-left:auto;&>summary{cursor:pointer;border-radius:.6rem;flex-direction:row;align-items:center;gap:.5rem;list-style:none;display:inline-flex;&::-webkit-details-marker{display:none}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .score-basis{border:.0625rem solid var(--line);border-radius:var(--cardRadius);background:var(--surface-1);width:min(18rem,70vw);box-shadow:var(--popoverShadow);color:var(--textSecondary);text-align:left;margin:0;padding:.65rem .75rem;font-size:.8rem;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + .4rem);right:0}& .score-title{letter-spacing:.02em;text-align:right;white-space:nowrap;color:var(--heading);flex-shrink:0;font-size:1.05rem;font-weight:650;line-height:1.25}& b{background:var(--heading);min-width:2.65rem;min-height:2.35rem;color:var(--surface-1);text-shadow:none;letter-spacing:-.02em;box-shadow:none;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;padding:.45em .7em;font-size:1em;font-weight:650;display:inline-flex}}& .meta-row{flex-direction:column;gap:.4rem;display:flex}& .meta{color:var(--text);flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin:0;font-size:.88em;line-height:1.4;display:flex}& .meta-icon{width:1em;height:1em;color:var(--heading);flex-shrink:0;display:inline-flex;& svg{width:100%;height:100%;display:block}}& .meta-link{color:var(--heading);border-bottom:.0625rem solid var(--heading);align-items:center;gap:.25rem;margin-left:.15rem;text-decoration:none;display:inline-flex;&:hover{border-bottom-color:var(--heading)}}& .tagline{color:var(--text);max-width:48ch;margin:0;font-size:.92em;line-height:1.5}& .notes{color:var(--textSecondary);margin:0;padding:0;font-size:.85em;line-height:1.45;list-style:none}& .badges{border-top:.0625rem solid var(--line);flex-wrap:wrap;gap:.45rem .5rem;margin:.15rem 0 0;padding:.65rem 0 0;list-style:none;display:flex;& li{border:.0625rem solid var(--line);border-radius:var(--pillRadius);letter-spacing:.01em;max-width:100%;min-height:1.85rem;color:var(--text);background:var(--surface-2);cursor:help;box-shadow:none;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:.4rem;padding:.35rem .7rem .35rem .5rem;font-size:.78em;font-weight:600;line-height:1.25;display:inline-flex}& .badge-icon{width:1.2rem;height:1.2rem;color:var(--heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;& svg{width:.78rem;height:.78rem;display:block}}& .badge-label{min-width:0;color:inherit}& li.badge-primary{color:var(--heading);background:var(--surface-2);border-color:var(--line);font-weight:650;& .badge-icon{color:var(--heading)}}& li.badge-secondary{color:var(--text);background:var(--surface-2);border-color:var(--line);font-weight:550;& .badge-icon{color:var(--heading)}}}& .legal{border-top:.0625rem solid var(--line);color:var(--text);grid-template-columns:minmax(6.5em,9.5em) 1fr;gap:.25em .85em;margin:.15rem 0 0;padding:.55rem 0 0;font-size:.78em;display:grid;& dt{color:var(--heading);margin:0;font-weight:600}& dd{word-break:break-word;color:var(--text);margin:0}}& .listed-notice{color:var(--text);margin:0;font-size:.82em;line-height:1.4}& .card-foot{border-top:.0625rem solid var(--line);background:color-mix(in srgb, var(--surface-2) 60%, var(--surface-1));border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--studio-radius);border-end-start-radius:var(--studio-radius);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:auto;padding:.85rem 1.25rem 1.2rem;display:flex}& button.cta{min-height:var(--hit-min);border-radius:var(--pillRadius);font:inherit;font-size:.9em;font-weight:var(--button-weight);letter-spacing:.01em;color:var(--surface-1);background:var(--heading);box-shadow:var(--buttonShadow);cursor:pointer;touch-action:manipulation;transition:transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);border:none;justify-content:center;align-items:center;gap:.45rem;margin:0;padding:.55rem 1.15rem .55rem 1.25rem;line-height:1.2;display:inline-flex}& button.cta .cta-icon{width:1.15em;height:1.15em;transition:transform var(--motion-fast);flex-shrink:0;margin-inline-end:-.1em;display:inline-flex;& svg{width:100%;height:100%;display:block}}& button.cta:hover,& button.cta:active{background:var(--fill-hover);text-decoration:none}& button.cta:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& #date-picker.booking-slot-picker{width:100%;min-width:0;max-width:none;box-shadow:none;border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);gap:.55rem;padding:.9rem .9rem 1rem}& #date-picker.booking-slot-picker header{align-items:center;height:auto;min-height:2.75rem;margin:0 0 .35rem}& #date-picker.booking-slot-picker header .title{flex:auto;min-width:0;position:static}& #date-picker.booking-slot-picker header .title span{letter-spacing:-.015em;color:var(--heading);white-space:nowrap;font-size:.98rem;font-weight:650;position:static}& #date-picker.booking-slot-picker header button{background:var(--wash);width:2.75rem;height:2.75rem;color:var(--heading);transition:background var(--motion-fast), color var(--motion-fast);border-radius:50%;place-items:center;font-size:1.45rem;display:inline-grid}& #date-picker.booking-slot-picker header button:hover{background:var(--heading);color:var(--surface-1);scale:1}& #date-picker.booking-slot-picker header button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& #date-picker.booking-slot-picker .week-days,& #date-picker.booking-slot-picker .days{gap:.4rem}& #date-picker.booking-slot-picker .week-days span{letter-spacing:.06em;text-transform:uppercase;opacity:.65;color:var(--textSecondary);aspect-ratio:auto;border:none;width:auto;padding:.35em 0;font-size:.68rem;font-weight:650}& #date-picker.booking-slot-picker .days{padding-top:.2rem;overflow:visible;container-type:inline-size}& #date-picker.booking-slot-picker .days-container{overflow:visible}& #date-picker.booking-slot-picker .days>:is(span,button){box-sizing:border-box;aspect-ratio:1;font-variant-numeric:tabular-nums;isolation:isolate;width:100%;min-width:0;max-width:none;height:auto;min-height:2.35rem;color:var(--textSecondary);text-shadow:none;box-shadow:none;background:0 0;border:none;border-radius:.7rem;padding:.15rem 0 .45rem;font-size:.85rem;font-weight:600;line-height:1;position:relative;overflow:visible;scale:1}& #date-picker.booking-slot-picker .days>:is(span,button).older{opacity:.38}& #date-picker.booking-slot-picker .days>:is(span,button).clickable{background:var(--wash);color:var(--heading);cursor:pointer;font-weight:650}& #date-picker.booking-slot-picker .days>:is(span,button).clickable:hover{box-shadow:inset 0 0 0 .0625rem var(--ring);z-index:2}& #date-picker.booking-slot-picker .days>:is(span,button).clickable:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& #date-picker.booking-slot-picker .days>:is(span,button).current{box-shadow:inset 0 0 0 .125rem color-mix(in srgb, var(--heading), transparent 45%)}& #date-picker.booking-slot-picker .days>:is(span,button).clickable:has(.booking-day-mark.is-selected){background:var(--heading);color:var(--surface-1);box-shadow:none}& #date-picker.booking-slot-picker .days>:is(span,button)>.booking-day-mark{background:var(--heading);pointer-events:none;border-radius:50%;width:.28rem;height:.28rem;margin:0;position:absolute;bottom:.28rem;left:50%;transform:translate(-50%)}& #date-picker.booking-slot-picker .days>:is(span,button).clickable:has(.booking-day-mark.is-selected)>.booking-day-mark{background:var(--surface-1)}& #date-picker.booking-slot-picker .date-details-count,& #date-picker.booking-slot-picker .date-details-popup,& #date-picker.booking-slot-picker .days :is(span,button):hover .date-details-popup{pointer-events:none;display:none}& .booking-slot-list{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.75em;width:100%;display:grid}& .booking-slot.is-selected{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& .booking-contact-fields{letter-spacing:-.01em;flex-direction:column;align-items:stretch;gap:.85rem;width:100%;max-width:28rem;margin-top:.25rem;font-size:.88rem;font-weight:600;display:flex;& label{border-radius:var(--cardRadius);background:var(--wash);width:100%;box-shadow:none;font:inherit;color:var(--text);border:none;flex-direction:column;gap:.45rem;margin:0;padding:.85rem 1rem;display:flex}& fieldset.phone-input,& .email-field-control{width:100%;min-inline-size:0;font-weight:400}& label.phone-field,& label.email-field{font-weight:600}}& .booking-empty--error .generic-error{max-width:none;margin:0}& .booking-empty--error .generic-error-icon{display:none}& .booking-confirm-summary{border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--wash);box-shadow:none;flex-direction:column;gap:.55rem;max-width:28rem;margin:.35rem 0 0;padding:1.05rem 1.15rem;list-style:none;display:flex;& li{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}& li strong{color:var(--heading);font-weight:650}}}}}html[data-shell=smartphone] aside#chat #booking-wrapper.form-wrapper .booking-form{& .progress-shell{max-width:calc(100% - 1.7rem);padding:1.15rem 0 0;inset:.5rem .85rem auto}& .progress{padding:0}& .booking-step-body{padding:3.75rem 1rem 7.5rem;&>h3{max-width:none;font-size:1.15rem}}& .booking-studio-list{gap:.95rem}& .booking-studio-card{& .card-top{flex-direction:column;gap:.9rem;padding:1rem 1rem .85rem}& .logo{border-radius:.75rem;width:100%;max-width:none;min-height:4.75em}& .body{flex:auto;gap:.65rem;width:100%}& .title-row{flex-direction:column;align-items:stretch;gap:.55rem}& h4{font-size:1.12em}& .score{margin-left:auto;&>summary{gap:.45rem}& .score-title{text-align:right;white-space:nowrap;flex-shrink:0;max-width:none;font-size:.85rem}& b{min-width:2.75rem;min-height:2.5rem}}& .badges{gap:.4rem;padding-top:.55rem;& li{min-height:2rem;padding:.4rem .75rem .4rem .5rem;font-size:.8em}& .badge-icon{width:1.3rem;height:1.3rem;& svg{width:.85rem;height:.85rem}}}& .card-foot{justify-content:stretch;padding:.75rem 1rem .9rem}& button.cta{width:100%;min-height:2.85rem;font-size:.95em}&.is-skeleton{& .logo.skel-block{border-radius:.75rem;width:100%;min-height:4.75em}& .title-row{flex-direction:row;align-items:center;gap:.55rem}& .skel-score{margin-left:auto}& .card-foot{justify-content:stretch}& .skel-cta{width:100%;min-height:2.85rem}}}& .booking-contact-fields{max-width:none}& .form-actions{padding:.75rem .85rem max(.75rem, env(safe-area-inset-bottom,0));text-align:center;flex-direction:column;justify-content:center;align-items:stretch;gap:.45rem;font-size:.95rem;& button,& .button{text-align:center;flex:none;justify-content:center;width:100%;min-width:0;margin:0;padding:.55rem .85rem}& button[data-direction=back]{flex:none;margin:0}}}html[data-shell=smartphone]{& aside#chat #booking-wrapper.form-wrapper .booking-form{& .booking-day-slots-grid{grid-template-columns:repeat(auto-fill,minmax(4rem,1fr));gap:.4rem}& .booking-day-slots-grid button,& .booking-day-slots-grid .booking-slot-btn{min-width:0;min-height:2.75rem;padding:.4rem .5rem;font-size:.88rem}& .booking-day-chip{min-width:3.5rem;min-height:4.2rem}& .booking-studio-plaque{gap:.65rem;padding:.7rem .8rem;& .icon{border-radius:.6rem;flex-basis:2.25rem;width:2.25rem;height:2.25rem}& .name{font-size:.92rem}}& #date-picker.booking-slot-picker,& .booking-skeleton-cal{display:none}& .booking-confirm-summary,& .booking-studio-plaque{max-width:none}}}@media (prefers-reduced-motion:reduce){aside#chat #booking-wrapper.form-wrapper .booking-form{& .form-actions button,& .booking-studio-card,& .booking-day-chip,& .booking-day-nav-btn,& .booking-day-slots-grid button,& .booking-day-slots-grid .booking-slot-btn,& #date-picker.booking-slot-picker .days>:is(span,button),& #date-picker.booking-slot-picker header button{transition:none;transform:none}& .booking-skeleton-cal .sk-head,& .booking-skeleton-cal .sk-grid span,& .booking-skeleton-cal .sk-week span,& .booking-skeleton-rows span,& .booking-skeleton-rail .sk-chip,& .booking-skeleton-day-panel .sk-day-title{animation:none}}}@keyframes booking-skel{0%,to{opacity:.55}50%{opacity:1}}html[data-shell=smartphone] .ui-tip,html[data-shell=smartphone] .ui-tip.on{opacity:0!important;display:none!important}.ui-tip{z-index:var(--z-toast,10060);pointer-events:none;background:var(--heading);max-width:min(92vw,18rem);color:var(--surface-1);letter-spacing:.01em;box-shadow:var(--softShadow);opacity:0;white-space:normal;word-break:break-word;border-radius:.5rem;padding:.45em .75em;font-size:.78em;font-weight:500;line-height:1.35;transition:opacity .1s;position:fixed;transform:translate(-50%,calc(-100% - .55rem))}.ui-tip.on{opacity:1}label.email-field{flex-direction:column;gap:.45rem;width:100%;min-width:0;margin:0;display:flex}.email-field-label{font:inherit;letter-spacing:-.01em;color:var(--heading,var(--text));font-weight:600}.email-field-hint{color:var(--textMuted,var(--textTertiary,var(--text)));margin:0;font-size:.9em;font-weight:400;line-height:1.4}.email-field-control{border:.0625rem solid var(--inputBorder,var(--subtleBorder));border-radius:var(--fieldRadius);background:var(--softInputBg,var(--surface-2));width:100%;min-width:0;box-shadow:var(--inputShadow,none);transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease), background-color var(--motion-fast,.16s ease);flex-direction:row;align-items:stretch;margin:0;padding:0;display:flex;overflow:hidden;&:hover{border-color:var(--inputBorderHover,var(--inputBorder))}&:focus-within{border-color:var(--inputBorderFocus,var(--heading));box-shadow:var(--inputFocusRing,var(--focus-ring));background-color:var(--surface-1,var(--elevatedFill,var(--softInputBg)))}&:has(input:disabled){opacity:.78;cursor:not-allowed;&:hover{border-color:var(--inputBorder,var(--subtleBorder))}}&:has(input:user-invalid:not(:placeholder-shown)),&:has(input:user-invalid:focus){border-color:var(--danger);background-color:color-mix(in srgb, var(--danger) 12%, var(--softInputBg,var(--surface-2)));box-shadow:var(--inputInvalidRing)}}input.email-field-input{width:100%;min-width:0;min-height:var(--control-h,2.75rem);height:auto;box-shadow:none;color:var(--heading,var(--text));font:inherit;letter-spacing:.01em;font-variant-ligatures:none;background-color:#0000;background-image:none;background-position:right .85rem center;background-repeat:no-repeat;background-size:1.1rem;border:none;border-radius:0;flex:auto;margin:0;padding:.55rem .95rem;font-weight:400;line-height:1.35;display:block;&::placeholder{color:var(--textTertiary,var(--textMuted,var(--text)));opacity:.55;letter-spacing:.01em}&:hover,&:focus,&:focus-visible{box-shadow:none;background-color:#0000;border:none;outline:none}&:user-invalid{background-blend-mode:normal;background-color:#0000;background-image:url(/i/alert.svg);background-position:right .85rem center;background-repeat:no-repeat;background-size:1.1rem;padding-right:2.4rem}&:valid:not(:placeholder-shown){background-image:url(/i/check-double.svg);background-position:right .85rem center;background-repeat:no-repeat;background-size:1.1rem;padding-right:2.4rem}&:disabled{cursor:not-allowed;opacity:1;background-image:none}}[data-theme=dark] input.email-field-input:valid:not(:placeholder-shown){background-image:url(/i/check-double-light.svg)}[data-theme=dark] input.email-field-input:user-invalid{background-image:url(/i/alert-light.svg)}html[data-shell=smartphone]{& input.email-field-input{padding-inline:.75rem;font-size:.95em}}label.phone-field{flex-direction:column;gap:.45rem;width:100%;min-width:0;margin:0;display:flex}.phone-field-label{font:inherit;letter-spacing:-.01em;color:var(--heading,var(--text));font-weight:600}.phone-field-hint{color:var(--textMuted,var(--textTertiary,var(--text)));margin:0;font-size:.9em;font-weight:400;line-height:1.4}fieldset.phone-input{width:100%;min-width:0;border:.0625rem solid var(--inputBorder,var(--subtleBorder));border-radius:var(--fieldRadius);background:var(--softInputBg,var(--surface-2));min-inline-size:0;box-shadow:var(--inputShadow,none);transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease), background-color var(--motion-fast,.16s ease);flex-direction:row;align-items:stretch;gap:0;margin:0;padding:0;display:flex;overflow:hidden;&:hover{border-color:var(--inputBorderHover,var(--inputBorder))}&:focus-within{border-color:var(--inputBorderFocus,var(--heading));box-shadow:var(--inputFocusRing,var(--focus-ring));background-color:var(--surface-1,var(--elevatedFill,var(--softInputBg)))}&:has(input:user-invalid){border-color:var(--danger);background-color:color-mix(in srgb, var(--danger) 12%, var(--softInputBg,var(--surface-2)));box-shadow:var(--inputInvalidRing)}& select.phone-input-country,& input.phone-input-number{box-shadow:none;min-height:var(--control-h,2.75rem);height:auto;color:var(--heading,var(--text));font:inherit;background-color:#0000;background-image:none;border:none;border-radius:0;margin:0;font-weight:400;line-height:1.35;transition:none;display:block;&:hover,&:focus,&:focus-visible{box-shadow:none;background-color:#0000;border:none;outline:none}}& select.phone-input-country{font-variant-numeric:tabular-nums;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border-inline-end:.0625rem solid var(--line);touch-action:manipulation;background-image:url(/i/expander.svg);background-position:right .55rem center;background-repeat:no-repeat;background-size:.7rem;flex:none;width:auto;min-width:3.5rem;max-width:4.75rem;padding:.55rem 1.65rem .55rem .7rem;font-weight:650;[data-theme=dark] &{filter:none;background-image:url(/i/expander-light.svg)}& option{text-transform:none;letter-spacing:0;font-weight:500}}& input.phone-input-number{font-variant-numeric:tabular-nums;letter-spacing:.02em;flex:auto;width:auto;min-width:0;padding:.55rem 2.5rem .55rem .75rem;&::placeholder{color:var(--textTertiary,var(--textMuted,var(--text)));opacity:.55;letter-spacing:.04em}}}html[data-shell=smartphone]{& fieldset.phone-input{flex-direction:row;& select.phone-input-country{width:auto;min-width:3.15rem;max-width:4.25rem;padding-inline:.5rem 1.35rem;font-size:.88em}& input.phone-input-number{letter-spacing:0;padding-inline:.5rem 2.6rem;font-size:.85em}}}section#date-picker{--border-color:var(--heading);box-sizing:border-box;border:.0625rem solid var(--line);background:var(--surface-1);border-radius:var(--cardRadius);flex-direction:column;gap:1em;width:100%;min-width:min(25.625rem,100%);max-width:25%;padding:1.5em;line-height:1.2em;transition:all .2s;position:relative;&.hidden{border:none;height:0;padding:0;overflow:hidden}&[data-mode=range]{box-shadow:var(--floatShadow)}& header{justify-content:space-between;align-items:center;height:2em;margin:0 0 1em;display:flex;position:relative;& .title{justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative;& span{white-space:nowrap;font-weight:650;position:absolute;inset:auto}}& button{color:inherit;height:inherit;font-size:2em;line-height:inherit;cursor:pointer;user-select:none;text-shadow:inherit;box-shadow:none;transition:background var(--motion-fast);background:0 0;border:none;border-radius:50%;padding:0;&:hover{background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}& .days-container{&.reverse{flex-direction:row-reverse}}& .week-days,& .days{grid-template-columns:repeat(7,1fr);gap:.5em;display:grid;&.days[inert]{position:absolute}&>:is(span,button){aspect-ratio:1/.7;border-radius:var(--controlRadius);width:2rem;font:inherit;color:inherit;appearance:none;background:0 0;border:.0625rem solid #0000;justify-content:center;align-items:center;padding:.5em 1.25em;transition:all .2s;display:inline-flex;position:relative;&.older{color:var(--text)}&.current{border-color:var(--border-color)}&.clickable{color:var(--heading);cursor:pointer;background:var(--wash);font-weight:650;&:hover{border-color:var(--ring)}}& .date-details-count{background:var(--surface-1);color:var(--text);z-index:2;box-shadow:var(--floatShadow);border:.0625rem solid var(--line);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}& .date-details-popup{background:var(--surface-1);width:100%;height:100%;box-shadow:var(--floatShadow);color:var(--text);text-shadow:none;border:.0625rem solid var(--line);border-radius:var(--controlRadius);opacity:0;text-align:left;flex-direction:column;padding:1em;font-size:0;transition:all .3s;display:flex;position:absolute;overflow:hidden;& button{height:inherit;line-height:inherit;box-shadow:none;letter-spacing:0;background:0 0;border:none;padding:0;transition:none;position:static}}&:hover{z-index:10;& .date-details-count{opacity:0}& .date-details-popup{opacity:1;width:fit-content;height:fit-content;font-size:1rem;overflow:visible}}}&.week-days{user-select:none;& span{text-transform:capitalize;font-weight:600}}}}html[data-shell=smartphone]{& section#date-picker{gap:.65em;width:100%;min-width:0;max-width:none;padding:1rem .75rem}}html[data-shell=smartphone]{& section#date-picker{padding:.85rem .5rem}& section#date-picker .days,& section#date-picker .week-days{text-align:center;& span{padding:.25em}}}.init-kitchen-estimate{background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));border-top:.0625rem solid var(--divider,transparent);flex-flow:wrap;align-items:baseline;gap:.65rem;margin:.15rem 0 0;padding:.7rem 0 .15rem;font-size:.9em;line-height:1.3;display:flex}.init-kitchen-estimate .label{min-width:0;color:var(--textSecondary,var(--textMuted));flex:auto;font-size:.72rem;font-weight:550;line-height:1.25}.init-kitchen-estimate strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;flex:none;margin-left:auto;font-weight:650}.init-kitchen-estimate .includes{text-align:end;color:var(--textSecondary,var(--textMuted));flex:1 0 100%;margin-top:-.35rem;font-size:.68rem}.init-kitchen-estimate[data-over-budget=true] strong{color:var(--danger,#b42318)}.init-kitchen-estimate .over{text-align:end;color:var(--danger,#b42318);flex:1 0 100%;margin-top:-.2rem;font-size:.72rem;font-weight:550}.estimates>.init-kitchen-estimate{box-shadow:none;background:0 0;border:none;margin:0;padding:0}aside#chat fieldset#plan .init-kitchen-estimate,aside#chat fieldset#budget .init-kitchen-estimate{z-index:12;box-shadow:0 -.65rem .7rem color-mix(in srgb, var(--surface-1,#fff) 88%, transparent);flex:none;margin:0;padding:.55rem 0 0}aside#chat fieldset#plan>.estimates{z-index:12;width:auto;max-width:none;margin-top:auto;margin-inline:calc(-1 * var(--init-pad-inline,1.5rem));padding:.55rem var(--init-pad-inline,1.5rem) var(--init-actions-h,5rem);background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));border-top:.0625rem solid var(--divider,transparent);box-shadow:0 -.65rem .7rem color-mix(in srgb, var(--surface-1,#fff) 88%, transparent);flex-direction:column;flex:none;align-self:stretch;gap:.45rem;display:flex;position:sticky;bottom:0}html[data-shell=smartphone] aside#chat fieldset#plan .init-kitchen-estimate,html[data-shell=smartphone] aside#chat fieldset#budget .init-kitchen-estimate{text-align:left;flex-flow:column;align-items:flex-start;gap:.15rem;width:100%;min-width:0;padding:.4rem 0 .15rem}html[data-shell=smartphone] aside#chat fieldset#plan>.estimates{z-index:12;margin-top:auto;margin-inline:calc(-1 * var(--init-pad-inline,.9rem));padding:.55rem var(--init-pad-inline,.9rem) .5rem;text-align:left;width:auto;min-width:0;box-shadow:0 -.65rem .7rem color-mix(in srgb, var(--surface-1,#fff) 88%, transparent);position:sticky;bottom:0}html[data-shell=smartphone] aside#chat fieldset#budget .init-kitchen-estimate strong,html[data-shell=smartphone] aside#chat fieldset#plan .init-kitchen-estimate strong{margin-left:0}html[data-shell=smartphone] aside#chat fieldset#plan .init-kitchen-estimate .includes,html[data-shell=smartphone] aside#chat fieldset#budget .init-kitchen-estimate .includes{text-align:start;flex:none;margin-top:0}.init-kitchen-fit{border:.0625rem solid color-mix(in srgb, var(--alert) 45%, transparent);border-radius:var(--controlRadius);background:color-mix(in srgb, var(--alert) 10%, var(--surface-1));color:var(--heading);align-items:flex-start;gap:.5rem;margin:0;padding:.55rem .7rem;font-size:.78rem;font-weight:500;line-height:1.4;display:flex;position:relative;& .icon{width:1rem;height:1rem;color:var(--alert);flex:none;margin-top:.05rem}& .icon svg{width:100%;height:100%;display:block}}.init-kitchen-fit-guard{opacity:0;pointer-events:none;border:0;width:.0625rem;height:.0625rem;min-height:0;margin:0;padding:0;position:absolute;top:0;left:0}.appliances{flex-direction:column;gap:.85rem;min-inline-size:0;display:flex}.appliances .estimates,.appliances~.estimates{background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));border-top:.0625rem solid var(--line);flex-direction:column;flex:none;gap:.45rem;min-inline-size:0;margin-top:.15rem;padding:.7rem 0 .15rem;display:flex}aside#chat fieldset#budget .appliances{min-height:auto;min-inline-size:0;flex-direction:column;flex:none;width:100%;max-width:100%;display:flex;overflow:visible}aside#chat fieldset#budget .appliances .stack{flex:none;min-height:auto;overflow:visible}aside#chat fieldset#budget .appliances ul{flex:none;overflow:visible}aside#chat fieldset#budget .appliances .estimates,aside#chat fieldset#budget .appliances~.estimates{z-index:12;width:auto;max-width:none;margin:auto calc(-1 * var(--init-pad-inline,1.5rem)) 0;padding:.55rem var(--init-pad-inline,1.5rem) var(--init-actions-h,5rem);background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));box-shadow:0 -.65rem .7rem color-mix(in srgb, var(--surface-1,#fff) 88%, transparent);flex:none;align-self:stretch;position:sticky;bottom:0}.appliances .estimate,.appliances~.estimates .estimate{background:0 0;flex-direction:row;align-items:baseline;gap:.65rem;margin:0;padding:0;font-size:.9em;line-height:1.3;display:flex}.appliances .estimate .label,.appliances~.estimates .estimate .label{min-width:0;color:var(--textSecondary,var(--textMuted));flex:auto;font-size:.72rem;font-weight:550;line-height:1.25}.appliances .estimate strong,.appliances~.estimates .estimate strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;color:var(--heading,#1a1a1a);flex:none;margin-left:auto;font-size:.92rem;font-weight:650}.appliances .estimate[data-over-budget=true] strong,.appliances~.estimates .estimate[data-over-budget=true] strong{color:var(--danger,#b42318)}.appliances .estimate .count,.appliances~.estimates .estimate .count{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--heading,#1a1a1a), transparent 90%);border-radius:50rem;flex-shrink:0;justify-content:center;align-items:center;min-width:1.35em;padding:.05em .4em;font-size:.72em;font-weight:650;display:inline-flex}.appliances ul{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.appliances ul li,.appliances ul li::marker,.appliances ul li:before{content:none;list-style:none}.appliances fieldset{border:none;flex-direction:column;gap:.35rem;min-inline-size:0;margin:0;padding:0;display:flex}.appliances legend{letter-spacing:.01em;color:var(--textSecondary,var(--textMuted));margin:0 0 .1rem;padding:0;font-size:.82rem;font-weight:650}.appliances .tiles{min-inline-size:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.55rem;width:100%;display:grid}.appliances .tile{flex-direction:column;flex:unset;cursor:pointer;box-sizing:border-box;border:.0625rem solid var(--line);background:var(--surface-1);box-shadow:none;border-radius:var(--controlRadius);white-space:normal;text-align:center;min-width:0;max-width:none;color:var(--heading,#1a1a1a);transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease);align-items:center;gap:.4rem;margin:0;padding:.65rem .5rem .6rem;display:flex;position:relative;overflow:hidden}.appliances .tile:hover{border-color:var(--ring)}.appliances .tile:has(input:checked){border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}.appliances .tile:has(input:focus-visible){outline:var(--focus-outline);outline-offset:.125rem}.appliances .selection-mark{background:var(--heading);width:1.1rem;height:1.1rem;color:var(--surface-1);visibility:hidden;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}.appliances .selection-mark svg{width:.75rem;height:.75rem}.appliances .tile:has(input:checked) .selection-mark{visibility:visible}.appliances .tile input{opacity:0;appearance:none;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.appliances .tile .schematic{width:5.25rem;height:5.25rem;color:var(--heading,#1a1a1a);place-items:center;padding:0;line-height:0;display:grid}.appliances .tile .schematic svg{shape-rendering:geometricprecision;pointer-events:none;width:100%;height:100%;margin:0 auto;display:block}.appliances .tile .schematic .face{fill:var(--surface-1)}.appliances .tile .schematic .face.top{fill:color-mix(in srgb, currentColor 6%, var(--surface-1))}.appliances .tile .schematic .break{stroke-width:.75px}.appliances .tile .schematic .detail{stroke-width:.85px}.appliances .caption{letter-spacing:-.01em;color:var(--text);overflow-wrap:anywhere;max-width:100%;margin:0;font-size:.78rem;font-weight:650;line-height:1.35}.appliances .note{color:var(--textTertiary,var(--textMuted));margin:.1rem 0 0;font-size:.75rem;line-height:1.4}aside#chat fieldset#budget .appliances ul,aside#chat fieldset#budget .appliances ul li{list-style:none}aside#chat fieldset#budget .appliances ul li:before{content:none}aside#chat fieldset#budget .appliances .tiles{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}aside#chat fieldset#budget .appliances .tile{flex-direction:column;flex:unset;align-items:center;gap:.4rem;min-width:0;max-width:none;display:flex}aside#chat fieldset#budget .appliances label.tile{flex-direction:column}html[data-shell=smartphone] aside#chat fieldset#budget .appliances,html[data-shell=smartphone] aside#chat fieldset#budget .appliances .stack,html[data-shell=smartphone] aside#chat fieldset#budget .appliances ul{flex:none;overflow:visible}html[data-shell=smartphone] aside#chat fieldset#budget .appliances .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;display:grid}html[data-shell=smartphone] aside#chat fieldset#budget .appliances .tile{touch-action:manipulation;flex:unset;max-width:none;min-height:var(--hit-min,2.75rem);padding:.55rem .4rem}html[data-shell=smartphone] aside#chat fieldset#budget .appliances .tile .schematic{width:4.5rem;height:4.5rem}html[data-shell=smartphone] aside#chat fieldset#budget .appliances .caption{font-size:.75rem}html[data-shell=smartphone] aside#chat fieldset#budget .appliances+.estimates{z-index:auto;background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));width:100%;min-width:0;box-shadow:none;margin-top:auto;padding:.4rem 0 .15rem;position:static;bottom:auto}html[data-shell=smartphone] aside#chat fieldset#budget .appliances+.estimates .estimate{flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-width:0}html[data-shell=smartphone] aside#chat fieldset#budget .appliances+.estimates .estimate .label{white-space:normal;text-overflow:ellipsis;flex:none;min-width:0;font-size:.64rem;overflow:hidden}html[data-shell=smartphone] aside#chat fieldset#budget .appliances+.estimates .estimate strong{flex:none;font-size:.84rem}html[data-shell=tablet] .appliances .tile .schematic{height:8.6625rem}html[data-shell=tablet] .appliances .caption{font-size:.7rem}fieldset.budget-segment-radio{order:4;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;&[data-field=manufacturer]{grid-template-columns:repeat(3,minmax(0,1fr));& label:has(input:disabled){cursor:not-allowed;opacity:.45}& .logo{height:2.75rem;color:var(--heading);justify-content:center;align-items:center;display:flex;& svg{width:auto;max-width:min(100%,6rem);height:100%;display:block}}&>.notice{color:var(--textSecondary,var(--textMuted));grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.3}}min-inline-size:0;color:var(--heading,#1a1a1a);border:none;gap:.55rem .65rem;margin:0 0 .75rem;padding:0;&>h3{letter-spacing:-.02em;color:var(--heading);grid-column:1/-1;margin:0 0 .35rem;font-size:.92rem;font-weight:650;line-height:1.25}& label{cursor:pointer;min-width:0;position:relative;box-shadow:none!important;background:0 0!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;display:flex!important;& input[type=radio]{opacity:0;pointer-events:none;width:.0625rem;height:.0625rem;position:absolute}& .content{box-sizing:border-box;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;height:100%;box-shadow:none;text-align:center;min-height:5.25rem;transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.85rem .55rem .75rem;display:flex;& .range{letter-spacing:-.03em;color:var(--heading);margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}& p{letter-spacing:-.01em;color:var(--textSecondary,var(--textMuted));margin:0;font-size:.72rem;font-weight:650;line-height:1.25}}&:hover .content{border-color:var(--ring)}&:has(input[type=radio]:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}&:has(input[type=radio]:focus-visible) .content{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}fieldset.worktop-material-radio{min-inline-size:0;width:100%;max-width:100%;color:var(--heading,#1a1a1a);border:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:.3rem .8rem;margin:.75rem 0 .35rem;padding:0;display:grid;& legend{letter-spacing:.01em;color:var(--textSecondary,var(--textMuted));grid-column:1/-1;margin:0 0 .15rem;padding:0;font-size:.82rem;font-weight:650}& label{cursor:pointer;min-width:0;position:relative;box-shadow:none!important;background:0 0!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;display:flex!important;& input[type=radio]{opacity:0;pointer-events:none;width:.0625rem;height:.0625rem;position:absolute}& .content{box-sizing:border-box;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;height:100%;box-shadow:none;text-align:center;transition:box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease);flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden;& .schematic{width:100%;color:var(--heading,#1a1a1a);aspect-ratio:8/5;background:0 0;padding:0;line-height:0;display:block}& .schematic svg{shape-rendering:geometricprecision;pointer-events:none;width:100%;height:100%;display:block}& .schematic .face{fill:var(--surface-1)}& .schematic .face.top{fill:color-mix(in srgb, currentColor 6%, var(--surface-1))}& .schematic .hatch{stroke-width:.45px;opacity:.7}& .schematic .dot{opacity:.8}& .schematic .break{stroke-width:.75px}& .schematic .detail{stroke-width:.85px}& p{overflow-wrap:break-word;hyphens:auto;letter-spacing:-.01em;color:var(--text);flex:1;place-items:center;margin:0;padding:.2rem .25rem .25rem;font-size:.72rem;font-weight:650;line-height:1.25;display:grid}}&:hover .content{border-color:var(--ring)}&:has(input[type=radio]:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}&:has(input[type=radio]:focus-visible) .content{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}html[data-shell=smartphone] fieldset.worktop-material-radio{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}aside#chat #init-wrapper fieldset#budget fieldset.worktop-material-radio{scroll-margin-bottom:calc(var(--init-actions-h,5rem) + 3rem);& label .content{padding:0}}fieldset#geometry-input{min-inline-size:0;color:var(--heading);border:none;gap:1rem;margin:0 0 .85rem;padding:0;grid-template-columns:unset!important;flex-direction:column!important;display:flex!important;& .plan{flex-direction:column;gap:.55rem;min-inline-size:0;margin:0;padding:0;display:flex}& .schematic{border-radius:var(--cardRadius);background:var(--wash);color:var(--heading);justify-items:center;padding:.7rem 1rem .65rem;display:grid}& .plan-schematic,& .schematic .plan-preview{width:100%;max-width:14rem;max-height:9.25rem;margin:0 auto;display:block}& .plan-preview .paper{pointer-events:none}& .plan-preview .grid-minor{stroke:color-mix(in srgb, currentColor 38%, transparent);stroke-width:1.15px}& .plan-preview .grid-major{stroke:color-mix(in srgb, currentColor 62%, transparent);stroke-width:1.7px}& .plan-preview .hatch-fill{fill:color-mix(in srgb, currentColor 32%, transparent)}& .plan-preview .hatch{stroke:color-mix(in srgb, currentColor 78%, transparent);stroke-width:1.25px}& .plan-preview .wall{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:square;stroke-linejoin:miter}& .plan-preview .run{stroke:currentColor;stroke-width:2.5px;stroke-linejoin:miter}& .plan-preview .over{fill:color-mix(in srgb, var(--danger) 22%, transparent);stroke:var(--danger);stroke-width:3px;stroke-linejoin:miter}& .plan-preview .frame,& .plan-preview .leaf,& .plan-preview .arc{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linejoin:miter}& .plan-preview .opening-dim{fill:currentColor;font-variant-numeric:tabular-nums;font-size:38px;font-weight:650}& .plan-preview .utility-dot{stroke:var(--surface-1);stroke-width:2px}& .room-plan{border-top:.0625rem solid var(--line);flex-wrap:wrap;gap:.45rem;width:100%;padding-top:.7rem;display:flex}& .room-plan-label{color:var(--textSecondary);flex:1 0 100%;margin:0;font-size:.75rem;font-weight:550;line-height:1.3}& .room-plan button{min-width:0;min-height:3rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--controlRadius);font:inherit;font-size:.8125rem;font-weight:var(--button-weight);text-align:start;cursor:pointer;flex:auto;align-items:center;gap:.55rem;margin:0;padding:.45rem .75rem;line-height:1.2;display:flex}& .room-plan button span{white-space:normal;min-width:0;font-weight:inherit}& .room-plan .room-plan-upload{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& .room-plan button:hover{background:var(--wash);border-color:var(--ring)}& .room-plan .room-plan-upload:hover{border-color:var(--heading)}& .room-plan button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .room-plan .icon{flex:none;place-items:center;width:1.15rem;height:1.15rem;display:grid}& .room-plan .icon svg{width:100%;height:100%;display:block}& .room-plan-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}& .room-plan-text small{color:var(--textSecondary);font-size:.7rem;font-weight:450}& .room-plan-file{display:none}& .geometry-fields{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));align-items:start;gap:.65rem;display:grid;&>.field{min-width:0;box-shadow:none;background:0 0;flex-direction:column;gap:.28rem;margin:0;padding:0;transition:none;display:flex;container:geometry-field/inline-size;&.is-focused .decimal-stepper{border-color:var(--heading);box-shadow:var(--inputFocusRing)}}}@container geometry-field (width<=10rem){& .decimal-stepper{grid-template-columns:2rem minmax(0,1fr) 2rem}& .decimal-nudge{width:2rem;min-width:2rem}& .decimal-value input[type=text]{padding:0 1.1rem 0 .1rem}& .decimal-unit{right:.25rem}}& .field-label{letter-spacing:-.01em;color:var(--text);font-size:.8rem;font-weight:650;line-height:1.3}& .decimal-value input{scroll-margin-bottom:calc(var(--init-actions-h,5rem) + 3.5rem);border-radius:0}& .field-hint{color:var(--textSecondary);font-size:.75rem;font-weight:500;line-height:1.35}& .ceiling-height{border:none!important;border-top:.0625rem solid var(--line)!important;box-shadow:none!important;background:0 0!important;flex-direction:column!important;align-items:stretch!important;gap:.28rem!important;margin:.1rem 0 0!important;padding:.7rem 0 0!important;display:flex!important}& .field.is-invalid .decimal-stepper,& .ceiling-height.is-invalid .decimal-stepper{border-color:var(--danger);box-shadow:var(--inputInvalidRing)}}html[data-shell=smartphone] fieldset#geometry-input{& .schematic{padding:.55rem .65rem .7rem}& .plan-schematic,& .schematic .kitchen-layout-schematic{max-height:7.5rem}& .room-plan button{gap:.45rem;padding-inline:.6rem}}.kitchen-layout-schematic{width:100%;height:auto;max-height:5.5rem;color:var(--heading,#1a1a1a);shape-rendering:geometricprecision;display:block}.kitchen-layout-schematic .floor{fill:none}.kitchen-layout-schematic .wall{fill:none;stroke:currentColor;stroke-width:3.2px;stroke-linecap:butt;stroke-linejoin:miter}.kitchen-layout-schematic .lower,.kitchen-layout-schematic .island-body{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:square;stroke-linejoin:miter}.kitchen-layout-schematic .upper{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:square;stroke-linejoin:miter}label:has(input:checked) .kitchen-layout-schematic .wall,.slot.active .kitchen-layout-schematic .wall{stroke-width:3.4px}fieldset.island-checkbox{min-inline-size:0;color:var(--heading);order:2;margin:0 0 .75rem;padding:0;display:block;box-shadow:none!important;border:none!important;&[hidden]{display:none}& label.island-toggle{cursor:pointer;transition:border-color var(--motion-fast);grid-template-columns:4.5rem minmax(0,1fr) auto;position:relative;border:.0625rem solid var(--line)!important;border-radius:var(--controlRadius)!important;background:var(--surface-1)!important;box-shadow:none!important;align-items:center!important;gap:.75rem!important;margin:0!important;padding:.55rem .85rem .55rem .55rem!important;display:grid!important;&:hover{border-color:var(--ring)!important}&:has(input:checked){border-color:var(--heading)!important}& input[type=checkbox]{pointer-events:none;opacity:0!important;width:.0625rem!important;height:.0625rem!important;margin:0!important;position:absolute!important}}& .schematic{opacity:.45;transition:opacity var(--motion-fast);line-height:0;display:block;& svg{width:100%;max-height:3.25rem}}& label:has(input:checked) .schematic{opacity:1}& .text{gap:.15rem;min-width:0;display:grid}& .title{letter-spacing:-.01em;color:var(--heading);font-size:.88rem;font-weight:650;line-height:1.25}& .hint{color:var(--textSecondary,var(--textMuted));font-size:.78rem;line-height:1.35}& .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);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}}& input:checked~.switch{background:var(--heading);&:after{translate:.95rem}}& input:focus-visible~.switch{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}.ceiling-cabinets-schematic{width:100%;height:auto;max-height:6.75rem;color:var(--heading);shape-rendering:geometricprecision;display:block}.ceiling-cabinets-schematic .plane{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:square}.ceiling-cabinets-schematic .cab,.ceiling-cabinets-schematic .shelf,.ceiling-cabinets-schematic .plinth,.ceiling-cabinets-schematic .worktop,.ceiling-cabinets-schematic .strip{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:miter;stroke-linecap:square}.ceiling-cabinets-schematic .cab.loft{stroke-width:1.35px}.ceiling-cabinets-schematic .hatch{stroke:currentColor;stroke-width:.9px;opacity:.45}.ceiling-cabinets-schematic .void{stroke:none}.ceiling-cabinets-schematic .strip{fill:currentColor;fill-opacity:.18}.ceiling-cabinets-schematic .panel,.ceiling-cabinets-schematic .knob{fill:none;stroke:currentColor;stroke-width:1px}.ceiling-cabinets-schematic .bar{stroke:currentColor;stroke-width:2px;stroke-linecap:square}.ceiling-cabinets-schematic .groove{fill:currentColor;fill-opacity:.28;stroke:none}fieldset.ceiling-cabinets-checkbox{min-inline-size:0;color:var(--heading);order:3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.55rem .65rem;margin:0 0 .75rem;padding:0;display:grid;box-shadow:none!important;border:none!important;&>h3{letter-spacing:-.02em;color:var(--heading);grid-column:1/-1;margin:0 0 .35rem;font-size:.92rem;font-weight:650;line-height:1.25}&>.hint{color:var(--textSecondary,var(--textMuted));grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.3}& label:last-of-type:nth-of-type(odd){grid-column:1/-1}& label{cursor:pointer;min-width:0;position:relative;box-shadow:none!important;background:0 0!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;display:flex!important;& input[type=radio]{opacity:0;pointer-events:none;width:.0625rem;height:.0625rem;position:absolute}& .content{box-sizing:border-box;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);text-align:center;transition:box-shadow var(--motion-fast), border-color var(--motion-fast);flex-direction:column;flex:1;gap:.3rem;padding:.5rem .4rem .55rem;display:flex}& .schematic{line-height:0;display:block}& .schematic svg{width:100%;max-height:5.35rem;margin:0 auto}& .caption{letter-spacing:-.01em;color:var(--text);font-size:.72rem;font-weight:650;line-height:1.25}&:hover .content{border-color:var(--ring)}&:has(input:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}&:has(input:focus-visible) .content{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}fieldset.layout-radio{min-inline-size:0;color:var(--heading,#1a1a1a);border:none;order:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;margin:0 0 .75rem;padding:0;display:grid;&>h3{letter-spacing:-.02em;color:var(--heading);grid-column:1/-1;margin:0 0 .35rem;font-size:.92rem;font-weight:650;line-height:1.25}& label{cursor:pointer;min-width:0;position:relative;box-shadow:none!important;background:0 0!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;display:flex!important;& input[type=radio]{opacity:0;pointer-events:none;width:.0625rem;height:.0625rem;position:absolute}& .content{box-sizing:border-box;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;height:100%;box-shadow:none;text-align:center;min-height:6.15rem;transition:box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease);flex-direction:column;align-items:stretch;gap:.3rem;padding:.55rem .4rem;display:flex;& .schematic{color:var(--heading,#1a1a1a);background:0 0;border-radius:0;padding:.2rem .1rem;line-height:0;display:block}& .schematic svg{width:100%;max-height:5.35rem;margin:0 auto}& p{letter-spacing:-.01em;color:var(--text);margin:0;font-size:.72rem;font-weight:650;line-height:1.25}}&:hover .content{border-color:var(--ring)}&:has(input[type=radio]:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}&:has(input[type=radio]:focus-visible) .content{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}html[data-shell=tablet] fieldset.layout-radio{gap:.6rem .7rem;& label .content{gap:.35rem;padding:.5rem .4rem .55rem;& .schematic svg{max-height:5rem}& p{font-size:.74rem}}}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:.1875rem 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)}}}}}}fieldset#style{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));display:grid;& label{& .content{text-align:center;border:.1875rem 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)}}}}}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes chat-enter{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:none}}.init-skeleton{box-sizing:border-box;flex-direction:column;flex:1;gap:.85rem;min-height:0;padding:1.35rem clamp(1.15rem,3vw,1.75rem) 6.5rem;display:flex}.init-skeleton .sk-shimmer{background:linear-gradient(90deg, color-mix(in srgb, var(--heading), transparent 94%) 0%, color-mix(in srgb, var(--heading), transparent 88%) 45%, color-mix(in srgb, var(--heading), transparent 94%) 100%);background-size:200% 100%;animation:1.25s ease-in-out infinite sk-shimmer}.init-skeleton-progress{border-radius:var(--cardRadius,1rem);width:100%;height:2.6rem;margin-bottom:.35rem}.init-skeleton-title{border-radius:.45rem;width:min(16rem,72%);height:1.35rem}.init-skeleton-text{border-radius:.4rem;width:min(22rem,92%);height:.75rem}.init-skeleton-text.is-short{width:min(14rem,60%)}.init-skeleton-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.65rem;display:grid}.init-skeleton-card{aspect-ratio:1.15;border-radius:var(--cardRadius,1rem);min-height:5.5rem}.init-skeleton-actions{padding:1rem clamp(1.15rem, 3vw, 1.75rem) max(1rem, env(safe-area-inset-bottom,0));background:var(--surface-1,var(--elevatedFill));border-top:.0625rem solid var(--line);justify-content:flex-end;gap:.65rem;display:flex;position:absolute;inset:auto 0 0}.init-skeleton-btn{height:var(--control-h,2.75rem);border-radius:50rem;width:6.5rem;display:block}.init-skeleton-btn.is-primary{width:8rem}html[data-shell=smartphone]{& .init-skeleton-cards{grid-template-columns:repeat(2,minmax(0,1fr))}& aside#chat .form-actions button{min-height:var(--hit-min,2.75rem)}& aside#chat .chat-header-tool,& aside#chat .chat-header-close{min-width:var(--hit-min,2.75rem);min-height:var(--hit-min,2.75rem);width:var(--hit-min,2.75rem);height:var(--hit-min,2.75rem)}}@media (prefers-reduced-motion:reduce){.init-skeleton .sk-shimmer{animation:none}}aside#chat{&:has(#init-wrapper){flex-shrink:0;left:auto;overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history{display:none}}& .init-shell{top:var(--chat-panel-header-h,3.55rem);z-index:1;flex-direction:column;min-height:0;display:flex;position:absolute;bottom:0;left:0;right:0}& .init-shell:has(.init-skeleton){background:var(--surfaceWarm,var(--surface-1,var(--elevatedFill)))}& .init-shell.is-busy{pointer-events:none}& .init-shell.is-busy #init-wrapper.form-wrapper:after{content:"";z-index:25;background:color-mix(in srgb, var(--elevatedFill,var(--uiBackground)), transparent 55%);pointer-events:none;position:absolute;inset:0}& .init-shell.is-busy #init-wrapper form button[type=submit]{opacity:.7}& .init-shell.is-busy #init-wrapper form .form-actions button[type=submit]:after{content:"…";margin-left:.15em}& #init-wrapper.form-wrapper{background:var(--elevatedFill,var(--uiBackground));height:100%;min-height:0;color:var(--text);flex-direction:column;flex:1;padding:0;display:flex;position:relative;& form{--init-actions-h:5rem;width:100%;height:100%;min-height:0;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:0;padding:0;display:flex;position:relative;overflow:hidden;&>fieldset.form-fieldset{--init-pad-inline:clamp(1.5rem, 3.6vw, 2.25rem);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:5.75rem var(--init-pad-inline) 7.5rem;box-shadow:none;color:var(--text);scroll-behavior:smooth;background:0 0;border:none;flex:auto;margin:0;scroll-padding-top:5.5rem;scroll-padding-bottom:7rem;overflow:auto;&>*{max-width:min(36rem, var(--measure,40ch) * 1.15)}&>fieldset,&>.geometry-fields,&>.appliances,&>.estimates,&>div[class*=-view],&>dialog{max-width:none}&.active{animation:chat-enter var(--motion-med) both}&>h1,&>h2,&>h3,&>h4{margin:0 0 var(--space-3,.75rem);font-size:var(--fs-xl,1.28rem);letter-spacing:var(--tracking-tight,-.03em);font-weight:650;line-height:var(--lh-tight,1.2);color:var(--heading);max-width:22ch}&>p{margin:0 0 var(--space-4,1rem);font-size:var(--fs-md,.95rem);line-height:var(--lh-loose,1.6);color:var(--textSecondary,var(--textMuted));max-width:var(--measure,40ch)}&>p+p{margin-top:-.35rem}&>.init-intro-card,&.has-detail-widgets>h1{max-width:none}&>.init-intro-card{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.5rem;max-width:36rem;margin:0 0 1.15rem;padding:0;display:flex;& h1,& h2,& h3,& h4{letter-spacing:-.035em;color:var(--heading);text-wrap:balance;max-width:22ch;margin:0;font-size:1.32rem;font-weight:650;line-height:1.18}& h1~h1,& h1~h2,& h1~h3,& h2~h2,& h2~h3,& h3~h2,& h3~h3{display:none}& p{color:var(--textSecondary,var(--textMuted));max-width:44ch;margin:0;font-size:.92rem;line-height:1.55}}flex-direction:column;display:flex;&>.init-intro-card{order:0}& .estimates{order:30}&>fieldset.budget-segment-radio{order:4;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;margin-bottom:1.5rem;display:grid;&[data-field=manufacturer]{order:5;grid-template-columns:repeat(3,minmax(0,1fr))}&>h3{grid-column:1/-1}}&>fieldset.layout-radio{order:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;margin-bottom:.65rem;display:grid}&>fieldset.island-checkbox{order:2;margin-bottom:1.5rem;display:block;&[hidden]{display:none}}&>fieldset.ceiling-cabinets-checkbox{order:3;margin-bottom:1.5rem;display:grid}&>fieldset{border:none;min-inline-size:0;margin:0 0 .5rem;padding:0}& legend{letter-spacing:.01em;color:var(--textSecondary,var(--textMuted));text-transform:none;margin:0 0 .65rem;padding:0;font-size:.82rem;font-weight:650}& p,& label{color:var(--text)}&:not(#budget) label{flex-direction:column;gap:.55rem;margin-bottom:.2rem;display:flex;&>span:first-child{letter-spacing:-.01em;color:var(--heading);font-size:.88rem;font-weight:600;line-height:1.3}&>.hint,&>span.hint{opacity:1;color:var(--textTertiary,var(--textMuted));margin-top:.15rem;font-size:.8rem;line-height:1.45}&:has(input[type=checkbox]){box-shadow:none;cursor:pointer;background:0 0;border:none;flex-direction:row;align-items:flex-start;gap:.8rem;padding:0;& input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--heading);flex-shrink:0;margin:.15rem 0 0}}}& sup{color:var(--danger);margin-left:.15em;font-weight:700}& input[type=number],& input[type=text]:not([role=spinbutton]),& input[type=email],& input[type=tel],& select,& textarea{min-height:var(--control-h);border-radius:var(--fieldRadius);border:.0625rem solid var(--inputBorder,var(--subtleBorder));background:var(--softInputBg,var(--surface-2));color:var(--text);box-shadow:var(--inputShadow,none);font:inherit;width:100%;transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease);padding:.55rem .95rem}& input:not([role=spinbutton]):hover,& select:hover,& textarea:hover{border-color:var(--inputBorderHover,var(--inputBorder))}& input:not([role=spinbutton]):focus-visible,& select:focus-visible,& textarea:focus-visible{border-color:var(--inputBorderFocus,var(--heading));box-shadow:var(--inputFocusRing,var(--focus-ring));background:var(--surface-1,var(--elevatedFill));outline:none}& input:user-invalid,& select:user-invalid,& textarea:user-invalid{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--softInputBg,var(--surface-2)));box-shadow:var(--inputInvalidRing)}& input:focus-visible:user-invalid,& select:focus-visible:user-invalid,& textarea:focus-visible:user-invalid{border-color:var(--danger);box-shadow:var(--inputInvalidRing)}&>fieldset:has(label):not(.layout-radio):not(.island-checkbox):not(.ceiling-cabinets-checkbox):not(.budget-segment-radio):not(.worktop-material-radio):not(#geometry-input):not(#budget):not(#plan){grid-template-columns:repeat(auto-fit,minmax(9.75rem,1fr));gap:.9rem;margin-top:.55rem;display:grid;& label{cursor:pointer;gap:0;margin:0;position:relative}& label>input[type=radio]{opacity:0;pointer-events:none;width:.0625rem;height:.0625rem;position:absolute}& label .content{box-sizing:border-box;border-radius:var(--controlRadius);border:.0625rem solid var(--line);background:var(--surface-1);width:100%;height:100%;box-shadow:none;text-align:center;transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease);flex-direction:column;padding:.75rem;display:flex}& label:has(input:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& label .content img{border-radius:calc(var(--cardRadius,1rem) - .3rem);width:100%;margin:0 0 .4rem;display:block}& label.island-toggle:has(input[type=checkbox]){flex-direction:column;align-items:stretch;gap:.4rem}& label .content p,& label .content h5{color:var(--text);margin:0;font-size:.82rem;font-weight:650;line-height:1.3}& label:hover .content{border-color:var(--ring)}& label:has(input[type=radio]:checked) .content{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& label:has(input[type=radio]:focus-visible) .content{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}&#palette>fieldset:has(label){grid-template-columns:1fr;gap:.85rem;& label .content{text-align:left;padding:.85rem 1rem}& label .content .colors{border:none;border-radius:.55rem;height:2.15rem;margin:0 0 .65rem;overflow:hidden}& label .content .popularity{background:var(--chipFill,var(--surfaceMuted));border-radius:50rem;height:.3rem;margin:.35rem 0 .5rem}}&#style>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}&#geometry-input,&>#geometry-input{gap:1.2rem}& .geometry-fields label{margin-bottom:0}}& .progress-shell{z-index:20;pointer-events:none;width:auto;max-width:calc(100% - 2*clamp(1rem,3.2vw,1.75rem));margin:0;position:absolute;inset:.95rem clamp(1rem,3.2vw,1.75rem) auto}& .progress-shell:before{content:"";z-index:-1;background:linear-gradient(var(--elevatedFill,var(--uiBackground)) 72%, transparent);position:absolute;inset:-.95rem calc(-1*clamp(1rem,3.2vw,1.75rem)) -1.1rem}& .progress-shell .progress-chip,& .progress-shell .progress{pointer-events:none}&:has(>.form-actions button[data-direction=back])>fieldset.form-fieldset:not(#budget)>:last-child:not(.estimates){margin-bottom:3rem}&:has(.init-kitchen-fit-guard:invalid) .form-actions button[type=submit]{&,&:hover{opacity:.45;background:var(--heading);cursor:not-allowed}}& .form-actions{position:absolute;inset:auto 0 0;html[data-shell=smartphone] &{z-index:auto;position:static;inset:auto}justify-content:flex-end;align-items:center;gap:var(--space-3,.75rem);padding:var(--space-4,1rem) clamp(1.15rem, 3.2vw, 1.75rem) max(var(--space-4,1rem), env(safe-area-inset-bottom,0));z-index:20;background:var(--surface-1,var(--elevatedFill));border-top:.0625rem solid var(--line);box-shadow:none;font-size:var(--fs-md,.95rem);flex-flow:wrap;display:flex;& button{width:auto;min-height:var(--hit-min,2.75rem);border-radius:var(--pillRadius);border:.0625rem solid var(--line);height:auto;color:var(--heading);box-shadow:none;line-height:1.25;font-weight:var(--button-weight);white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;gap:.4rem;margin:0;padding:.5rem 1.2rem;display:inline-flex}& button:hover:not(:disabled):not([data-direction=forward]):not([type=submit]){border-color:var(--ring);background:var(--wash)}& button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& button:disabled{opacity:.45;cursor:not-allowed;transform:none}& button[data-direction=back]{box-shadow:none;background:0 0;border-color:#0000;margin-right:auto}& button[data-direction=forward],& button[type=submit]{background:var(--heading);color:var(--surface-1);box-shadow:var(--buttonShadow);border-color:#0000;margin-left:0}& button[data-direction=forward]:not([disabled]):hover,& button[type=submit]:not([disabled]):hover{background:var(--fill-hover)}& .form-actions-icon{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}& button[data-direction=forward] svg,& button[data-direction=back] svg{flex-shrink:0;width:1.05rem;height:1.05rem;display:block}& button[type=submit].is-busy{pointer-events:none;opacity:.7}}& fieldset#intro{& img{border-radius:var(--cardRadius,1rem);width:100%;max-width:100%;box-shadow:none;pointer-events:none;user-select:none;object-fit:cover;border:none;margin:0 0 1.25rem}}& fieldset#plan{min-height:0;flex-direction:column;min-inline-size:0;padding-bottom:0;display:flex;overflow:hidden auto;&>#geometry-input{flex:none;min-height:auto;margin-bottom:0;overflow:visible}&>.estimates{padding-bottom:var(--init-actions-h,5rem);flex:none;margin-top:auto;margin-bottom:0;position:sticky;bottom:0}}& fieldset#budget{min-height:0;flex-direction:column;min-inline-size:0;padding-bottom:0;display:flex;overflow:hidden auto;&>:last-child{margin-bottom:0}& .budget-input-wrapper{border-radius:var(--fieldRadius);border:.0625rem solid var(--inputBorder,var(--subtleBorder));background:var(--softInputBg,var(--surface-2));width:100%;box-shadow:var(--inputShadow,none);transition:border-color var(--motion-fast,.16s ease), box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease);align-items:center;gap:.65rem;padding:.35rem;display:flex;& input[type=number]{width:auto;min-width:0;box-shadow:none;font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:0 0;border:none;flex:1;padding:.45rem .65rem;font-size:1.2rem;font-weight:700}& input[type=number]:focus-visible{box-shadow:none;background:0 0}}& .budget-input-wrapper:hover{border-color:var(--inputBorderHover,var(--inputBorder))}& .budget-input-wrapper:focus-within{border-color:var(--inputBorderFocus,var(--heading));box-shadow:var(--inputFocusRing,var(--focus-ring));background:var(--surface-1,var(--elevatedFill))}& .budget-input-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;width:100%;margin-top:.55rem;display:grid;& button{border-radius:var(--pillRadius);border:.0625rem solid var(--line);width:100%;height:auto;min-height:2.4rem;color:var(--heading);box-shadow:none;font-size:.82rem;font-weight:var(--button-weight);font-variant-numeric:tabular-nums;touch-action:manipulation;background:0 0;justify-content:center;padding:.4rem .5rem}& button:hover{border-color:var(--ring);background:var(--wash);box-shadow:none;transform:none}& button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}}}}html[data-shell=tablet]{& aside#chat:has(#init-wrapper){width:min(54%,30rem);max-width:min(54%,30rem)}& aside#chat #init-wrapper.form-wrapper form{&>fieldset.form-fieldset{--init-pad-inline:.15rem;padding-inline:var(--init-pad-inline)}& fieldset.layout-radio label .content,& fieldset.island-checkbox .slot,& fieldset.ceiling-cabinets-checkbox label .content{min-height:5.5rem;padding:.55rem .4rem}& fieldset.layout-radio label .content p{font-size:.74rem}& fieldset.layout-radio .schematic svg{max-height:5rem}}}html[data-shell=tablet][data-shell-landscape=short]{& aside#chat:has(#init-wrapper){width:100%;max-width:none}& aside#chat #init-wrapper.form-wrapper form{& fieldset.layout-radio{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}& fieldset.layout-radio label .content{min-height:4.75rem;padding:.4rem .3rem .45rem}& fieldset.layout-radio .schematic svg{max-height:3.75rem}}}html[data-shell=smartphone][data-shell-landscape=short]{& aside#chat:has(#init-wrapper){width:100%;max-width:none}}html[data-shell=smartphone]{& aside#chat:has(#init-wrapper){border-radius:inherit;width:100%;max-width:none}& aside#chat .init-shell{flex:auto;order:25;width:100%;min-height:0;position:relative;inset:auto}& aside#chat #init-wrapper.form-wrapper form{overscroll-behavior:contain;overflow:hidden auto;& .progress-shell{top:0;z-index:20;background:var(--elevatedFill,var(--uiBackground));width:100%;max-width:none;margin:0;padding:.4rem .75rem .35rem;position:sticky;inset:auto}&>fieldset.form-fieldset{--init-pad-inline:.35rem;min-height:auto;padding-top:.75rem;padding-inline:var(--init-pad-inline);flex:none;scroll-padding-bottom:0;overflow:visible}& fieldset.layout-radio{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}& fieldset.layout-radio label .content{min-height:5.25rem;padding:.5rem .35rem}& fieldset.layout-radio .schematic svg{max-height:4.25rem}& fieldset.layout-radio label .content p{font-size:.72rem}--init-actions-h:0;& .form-actions{z-index:auto;width:100%;padding:.75rem .9rem max(.85rem, env(safe-area-inset-bottom,0));border-top:.0625rem solid var(--line);text-align:start;border-radius:0;flex-flow:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-top:0;position:static;inset:auto;& button{border-radius:50rem;flex:none;justify-content:center;width:auto;min-width:0;min-height:3rem;margin:0;padding:.55rem 1.15rem}& button[data-direction=back]{border:.125rem solid color-mix(in srgb, currentColor 72%, transparent);background:color-mix(in srgb, currentColor 5%, transparent);width:3rem;min-width:3rem;height:3rem;min-height:3rem;color:inherit;box-shadow:none;transition:background var(--motion-fast,.12s ease), border-color var(--motion-fast,.12s ease);border-radius:50%;padding:0;position:relative;& .form-actions-icon{place-items:center;width:1.25rem;height:1.25rem;display:grid;transform:translate(-.08rem)}& .form-actions-label{clip-path:inset(50%);white-space:nowrap;width:.0625rem;height:.0625rem;position:absolute;overflow:hidden}& svg{width:1.25rem;height:1.25rem;display:block}&:active{background:color-mix(in srgb, currentColor 12%, transparent);border-color:currentColor}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& button[data-direction=forward],& button[type=submit]{margin-left:auto}}&:has(>.form-actions button[data-direction=back])>fieldset.form-fieldset:not(#budget)>:last-child:not(.estimates){margin-bottom:0}& fieldset#plan{flex-direction:column;flex:1 0 auto;min-height:calc(100% + 6rem);display:flex;overflow:visible;&>.estimates{z-index:12;margin-top:auto;padding-bottom:0;position:sticky;bottom:0}}&>fieldset.form-fieldset{--init-pad-inline:var(--phone-gutter,.9rem);padding:.75rem var(--init-pad-inline) 1.25rem;&>h1,&>h2,&>h3,&>h4,& .init-intro-card h2{max-width:none;font-size:1.18rem}&>fieldset.budget-segment-radio{grid-template-columns:repeat(2,minmax(0,1fr));&[data-field=manufacturer]{grid-template-columns:repeat(3,minmax(0,1fr))}}&>fieldset.layout-radio{grid-template-columns:repeat(2,minmax(0,1fr))}&>fieldset.island-checkbox{display:block;&[hidden]{display:none}}&>fieldset.ceiling-cabinets-checkbox{grid-template-columns:repeat(2,minmax(0,1fr))}&#palette>fieldset:has(label){grid-template-columns:1fr}}& fieldset#budget{min-height:auto;flex-direction:column;flex:auto;min-inline-size:0;padding-bottom:0;display:flex;overflow:visible}}}@media (prefers-reduced-motion:reduce){aside#chat #init-wrapper.form-wrapper form{& .form-actions button,& fieldset.form-fieldset label .content,& fieldset#budget .budget-input-actions button{transition:none}}}.init-start{& fieldset.form-fieldset>*{flex-shrink:0}& .start-paths{gap:.6rem;max-width:36rem;display:grid}& .start-path,& .reference-upload{width:100%;min-width:0;height:auto;min-height:4.5rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--cardRadius);font:inherit;text-align:start;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);justify-content:flex-start;align-items:center;gap:.85rem;margin:0;padding:.9rem 1rem;display:flex}& .start-path{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}& .reference-upload{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& .start-path:hover,& .reference-upload:hover:not(:disabled){background:var(--wash);border-color:var(--ring)}& .reference-upload:hover:not(:disabled){border-color:var(--heading)}&[data-drop] .reference-upload{background:var(--wash);border-style:dashed}& .start-path:focus-visible,& .reference-upload:focus-visible,& .reference-tile:focus-visible,& .reference-thumb:focus-visible,& .reference-plan button:focus-visible,& .reference-plan-state button:focus-visible,& .reference-change:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .start-art{color:var(--heading);padding:1.8rem 1rem .6rem;display:block;position:relative}& .reference-tile .art svg{filter:none}& .start-art svg{filter:none;width:100%;max-width:24rem;height:auto;margin:0 auto;display:block}html[data-shell=smartphone] & .start-art{padding:1.8rem .75rem .35rem}html[data-shell=smartphone] & .start-art svg{max-height:4.75rem}html[data-shell=smartphone] & .start-path .start-path-text{--go-end:.9rem;padding:.3rem var(--go-end) calc(var(--go-end) + .315rem)}& .start-path .start-path-text{--go-end:1rem;padding:.35rem var(--go-end) calc(var(--go-end) + .315rem);position:relative}& .start-path .start-path-text small{text-wrap:balance}& .start-path .start-path-text small:after{content:"";width:2.4rem;display:inline-block}& .start-path .start-path-text .go{inset-inline-end:var(--go-end);bottom:var(--go-end);width:1.75rem;height:1.75rem;padding:.35rem;position:absolute}& .go{flex:none;place-items:center;width:1.1rem;height:1.1rem;display:grid}& .go svg{width:100%;height:100%;display:block}& .start-path .go{box-shadow:inset 0 0 0 .0625rem var(--ring);border-radius:50%}& .start-path[data-primary] .go{color:var(--surface-1);background:var(--heading);box-shadow:none}& .start-art .meta{color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--pillRadius);padding:.15rem .5rem;font-size:.7rem;font-weight:600;line-height:1.4;position:absolute;top:.55rem;left:.65rem}html[dir=rtl] & .start-art .meta{left:auto;right:.65rem}html[dir=rtl] & .go svg{transform:scaleX(-1)}& .reference-upload .icon{background:var(--wash);border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}& .reference-upload .icon svg{width:1.25rem;height:1.25rem}& .start-path-text,& .reference-upload-text{white-space:normal;flex-direction:column;gap:.2rem;min-width:0;display:flex}& .start-path-text strong,& .reference-upload-text strong{font-size:.95rem;font-weight:650;line-height:1.25}& .start-path-text small,& .reference-upload-text small{color:var(--textSecondary);font-size:.8rem;font-weight:450;line-height:1.4}& .reference-how{flex-direction:column;gap:.6rem;margin-top:1.5rem;display:flex}& .reference-how ol{counter-reset:how;flex-direction:column;gap:.7rem;margin:0;padding:0;display:flex}& .reference-how li{color:var(--heading);counter-increment:how;grid-template-columns:1.5rem 1fr;align-items:start;gap:.7rem;font-size:.875rem;line-height:1.45;list-style:none;display:grid}& .reference-how li:before{content:counter(how);border:.0625rem solid var(--heading);border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;margin-top:-.05rem;font-size:.75rem;font-weight:650;line-height:1;display:grid}& .reference-how li:first-child:before{color:var(--surface-1);background:var(--heading)}& .reference-private{color:var(--textSecondary);align-items:center;gap:.5rem;margin:.2rem 0 0;font-size:.78rem;line-height:1.4;display:flex}& .reference-private .icon{flex:none;place-items:center;width:1.5rem;display:grid}& .reference-private .icon svg{width:.9rem;height:.9rem;display:block}& .drop-hint{display:none}html[data-shell=desktop] & .drop-hint{display:block}html[data-shell=desktop] & .camera-hint{display:none}& .reference-error{color:var(--heading);background:var(--dangerSoft,var(--wash));border-radius:var(--controlRadius);grid-template-columns:1.25rem 1fr;align-items:start;gap:.35rem .6rem;margin:0 0 1rem;padding:.75rem .85rem;display:grid}& .reference-error>.icon{color:var(--danger)}& .reference-error>.icon svg{width:1.25rem;height:1.25rem;display:block}& .reference-error p{margin:0;font-size:.85rem;line-height:1.45}& .reference-error button{min-height:2.25rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--pillRadius);font:inherit;font-size:.78rem;font-weight:var(--button-weight);cursor:pointer;grid-column:2;justify-self:start;margin:0;padding:0 .85rem}& .reference-reading{flex-direction:column;gap:.6rem;width:100%;display:flex}& .reference-reading .frame{border-radius:var(--cardRadius);background:var(--wash);max-height:16rem;position:relative;overflow:hidden}& .reference-reading img{object-fit:cover;opacity:.85;width:100%;height:100%;max-height:16rem;display:block}& .reference-reading .scan{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--surface-1) 55%, transparent), transparent);height:3rem;animation:1.6s ease-in-out infinite alternate reference-scan;position:absolute;inset:0 0 auto}@media (prefers-reduced-motion:reduce){& .reference-reading .scan{opacity:0;animation:none}}& .reference-reading p{color:var(--heading);align-items:center;gap:.4rem;margin:0;font-size:.875rem;display:flex}& .reference-samples{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}&[data-mode=choice] .reference-samples{max-width:36rem}&[data-mode=choice] .reference-samples h3{color:var(--textSecondary);font-size:.85rem;font-weight:600}& .reference-sample-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}& .reference-sample{min-width:0;min-height:0;color:var(--heading);background:var(--surface-1);border-radius:var(--controlRadius);box-shadow:none;font:inherit;white-space:normal;cursor:pointer;border:none;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}& .reference-sample:after{content:"";border:.0625rem solid var(--line);border-radius:inherit;pointer-events:none;position:absolute;inset:0}& .reference-sample:hover:after{border-color:var(--ring)}& .reference-sample:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .reference-sample img{aspect-ratio:4/3;object-fit:cover;filter:none;flex:none;width:100%;height:auto;display:block}& .reference-sample span{text-align:center;padding:.35rem .4rem .45rem;font-size:.7rem;font-weight:600;line-height:1.25}& .reference-upload[aria-busy=true]{cursor:progress;opacity:.72}& .reference-file{display:none}& .reference-seen,& .reference-room{flex-direction:column;gap:1.1rem;margin:0 0 1.5rem;display:flex}& .reference-room{border-top:.0625rem solid var(--line);gap:.75rem;padding-top:1.25rem}& h3{color:var(--heading);margin:0;font-size:.95rem;font-weight:650;line-height:1.3}& h4{color:var(--heading);margin:0;font-size:.8rem;font-weight:650;line-height:1.3}& .reference-room>p,& .reference-head-text p,& .reference-note{color:var(--textSecondary);margin:0;font-size:.8rem;line-height:1.45}& .reference-head{grid-template-columns:5.5rem 1fr;align-items:start;gap:.4rem .85rem;display:grid}& .reference-thumb{aspect-ratio:4/3;border:.0625rem solid var(--line);border-radius:var(--controlRadius);background:var(--wash);cursor:zoom-in;grid-row:span 2;width:5.5rem;min-height:0;margin:0;padding:0;display:block;overflow:hidden}& .reference-thumb[aria-expanded=true]{border-color:var(--heading);cursor:zoom-out}& .reference-thumb img,& .reference-photo{object-fit:cover;width:100%;height:100%;display:block}& .reference-photo{border-radius:var(--cardRadius);height:auto;max-height:18rem}& .reference-head-text{flex-direction:column;gap:.25rem;min-width:0;display:flex}& .reference-head-text .reference-legend{align-items:center;gap:.3rem;font-size:.75rem;display:flex}& .reference-change{min-height:2.25rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--pillRadius);font:inherit;font-size:.78rem;font-weight:var(--button-weight);cursor:pointer;justify-self:start;align-items:center;gap:.4rem;margin:0;padding:0 .85rem;display:inline-flex}& .reference-change:hover:not(:disabled){border-color:var(--ring)}& .reference-change span{font-weight:inherit}& .reference-change .icon svg{width:1rem;height:1rem;display:block}& .ai{width:1rem;height:1rem;color:var(--heading);place-items:center;display:inline-grid}& .ai svg{width:.85rem;height:.85rem;display:block}& .reference-group{flex-direction:column;gap:.5rem;display:flex}& .reference-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}& .reference-tile{min-width:0;min-height:0;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--controlRadius);box-shadow:none;font:inherit;text-align:center;white-space:normal;cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;justify-content:flex-start;align-items:center;gap:.3rem;margin:0;padding:.5rem .35rem .55rem;display:flex;position:relative}& .reference-tile:hover{border-color:var(--ring)}& .reference-tile[aria-checked=true]{border-color:var(--heading);box-shadow:0 0 0 .0625rem var(--heading)}& .reference-tile .art{width:100%;line-height:0;display:block}& .reference-tile .art svg{width:100%;max-width:7rem;height:auto;max-height:5.25rem;margin:0 auto;display:block}& .reference-tile .caption{overflow-wrap:break-word;hyphens:auto;color:var(--heading);font-size:.72rem;font-weight:600;line-height:1.25}& .reference-tile .ai{position:absolute;top:.3rem;right:.3rem}html[dir=rtl] & .reference-tile .ai{left:.3rem;right:auto}& .reference-makers-group{margin-bottom:1rem}& .reference-makers-group>fieldset{margin:0}& .reference-switch{min-height:2.5rem;color:var(--heading);box-shadow:none;font:inherit;font-size:.875rem;font-weight:var(--button-weight);cursor:pointer;background:0 0;border:none;align-self:start;align-items:center;gap:.6rem;margin:0;padding:0 .25rem 0 0;display:inline-flex}& .reference-switch>span{font-weight:inherit}& .reference-switch .track{border-radius:var(--pillRadius);background:var(--ring);width:2.4rem;height:1.4rem;transition:background var(--motion-fast);flex:none;position:relative}& .reference-switch .track:before{content:"";background:var(--surface-1);width:1.1rem;height:1.1rem;box-shadow:var(--buttonShadow);transition:transform var(--motion-fast);border-radius:50%;position:absolute;top:.15rem;left:.15rem}& .reference-switch[aria-checked=true] .track{background:var(--heading)}& .reference-switch[aria-checked=true] .track:before{transform:translate(1rem)}html[dir=rtl] & .reference-switch .track:before{left:auto;right:.15rem}html[dir=rtl] & .reference-switch[aria-checked=true] .track:before{transform:translate(-1rem)}& .reference-switch:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .reference-facts{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;display:flex}& .reference-facts li{color:var(--heading);background:var(--wash);border-radius:var(--pillRadius);padding:.3rem .65rem;font-size:.78rem;line-height:1.3;list-style:none}& .reference-colours{flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}& .reference-colours li{grid-template-columns:1.5rem 1fr auto;align-items:center;gap:.6rem;font-size:.8rem;line-height:1.3;list-style:none;display:grid}& .reference-colours .swatch{width:1.5rem;height:1.5rem;box-shadow:inset 0 0 0 .0625rem var(--line);border-radius:50%}& .reference-colours .role{color:var(--heading)}& .reference-colours .name{color:var(--heading);font-weight:600}& .reference-room-plan{border-radius:var(--cardRadius);background:var(--wash);color:var(--heading);padding:.6rem .9rem}& .reference-room-schematic{shape-rendering:geometricprecision;width:100%;max-width:20rem;height:auto;margin:0 auto;display:block}& .reference-room-schematic .wall{stroke:currentColor;stroke-width:3.2px;stroke-linecap:square;stroke-linejoin:miter}& .reference-room-schematic .run,& .reference-room-schematic .island{stroke:currentColor;stroke-width:1.3px;stroke-linejoin:miter}& .reference-room-schematic .island{stroke-dasharray:3 2.4}& .reference-room-schematic .hatch{stroke:currentColor;stroke-width:.8px;opacity:.45}& .reference-room-schematic .dim line{stroke:currentColor;stroke-width:.8px}& .reference-room-schematic .dim .tick{stroke-width:1.2px}& .reference-room-schematic text{fill:currentColor;font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:650}& .reference-room-schematic .dim{transition:opacity var(--motion-fast)}& .reference-room-schematic.has-focus .dim:not(.active){opacity:.35}& .reference-room-schematic .dim.active line{stroke-width:1.3px}& .reference-fields{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;display:grid}& .reference-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}& .reference-field>label{color:var(--heading);font-size:.8rem;font-weight:550}& .reference-field>small{color:var(--textSecondary);font-size:.7rem;line-height:1.3}& .reference-field.is-invalid>small{color:var(--danger)}& .reference-plan-state{border:.0625rem solid var(--line);border-radius:var(--controlRadius);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.85rem;display:flex}& .reference-plan-state>span:nth-child(2){flex:auto;min-width:0}& .reference-plan-state>.icon svg{width:1.1rem;height:1.1rem;display:block}& .reference-plan-state button{min-height:2.25rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--pillRadius);font:inherit;font-size:.78rem;font-weight:var(--button-weight);cursor:pointer;align-items:center;gap:.4rem;margin:0;padding:0 .85rem;display:inline-flex}& .reference-plan-state button span{font-weight:inherit}& .reference-plan-state button .icon svg{width:1rem;height:1rem;display:block}& .reference-plan{flex-wrap:wrap;gap:.45rem;margin-top:.25rem;display:flex}& .reference-plan button{min-height:3rem;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--controlRadius);font:inherit;font-size:.8125rem;font-weight:var(--button-weight);text-align:start;cursor:pointer;flex:auto;align-items:center;gap:.5rem;margin:0;padding:.45rem .75rem;line-height:1.2;display:flex}& .reference-plan button span{white-space:normal;min-width:0;font-weight:inherit}& .reference-plan button:hover{background:var(--wash);border-color:var(--ring)}& .reference-plan .icon{flex:none;place-items:center;width:1.15rem;height:1.15rem;display:grid}& .reference-plan .icon svg{width:100%;height:100%;display:block}& .reference-plan-text{flex-direction:column;gap:.1rem;display:flex}& .reference-plan-text small{color:var(--textSecondary);font-size:.7rem;font-weight:450}}@keyframes reference-scan{0%{transform:translateY(-3rem)}to{transform:translateY(16rem)}}aside#chat #init-wrapper.init-start form>fieldset.form-fieldset{padding-top:1.75rem}.start-art .art-rail{opacity:.35}.start-art .art-ghost{opacity:.12}.start-art :is(.art-layout-i,.art-layout-u){opacity:0}.start-art :is(.art-dot,.art-spark,.art-layout){transform-box:fill-box;transform-origin:50%}.start-art .art-layout{transform-origin:50% 100%}.start-art :is(.art-swirl,.art-progress){stroke-dasharray:1}@media (prefers-reduced-motion:no-preference){.start-art .art *{animation-duration:14s;animation-timing-function:cubic-bezier(.33,1,.68,1);animation-iteration-count:infinite;animation-fill-mode:backwards}.start-art .art-polaroid{animation-name:art-photo-drop}.start-art .art-film{animation-name:art-photo-film}.start-art .art-image{animation-name:art-photo-image}.start-art .art-wand{animation-name:art-photo-wand}.start-art .art-swirl{animation-name:art-photo-swirl}.start-art .art-magic .art-spark{animation-name:art-photo-spark}.start-art .art-spark-2{animation-delay:.15s}.start-art .art-spark-3{animation-delay:.3s}.start-art .art-spark-4{animation-delay:.1s}.start-art .art-spark-5{animation-delay:.25s}.start-art .art-wipe{animation-name:art-photo-wipe}.start-art .art-kitchen .art-spark{animation-name:art-photo-spark-kitchen}.start-art .art-spark-7{animation-delay:.2s}.start-art .art-photo .art-progress{animation-name:art-photo-progress}.start-art .art-photo .art-dot-1{animation-name:art-photo-dot-1}.start-art .art-photo .art-dot-2{animation-name:art-photo-dot-2}.start-art .art-photo .art-dot-3{animation-name:art-photo-dot-3}.start-art .art-scene-1{animation-name:art-steps-scene-1}.start-art .art-layout-i{animation-name:art-steps-layout-i}.start-art .art-layout-u{animation-name:art-steps-layout-u}.start-art .art-layout-l{animation-name:art-steps-layout-l}.start-art .art-scene-2{animation-name:art-steps-scene-2}.start-art .art-tape{animation-name:art-steps-tape}.start-art .art-appliance-1{animation-name:art-steps-appliance-1}.start-art .art-appliance-2{animation-name:art-steps-appliance-2}.start-art .art-appliance-3{animation-name:art-steps-appliance-3}.start-art .art-steps .art-progress{animation-name:art-steps-progress}.start-art .art-steps .art-dot-1{animation-name:art-steps-dot-1}.start-art .art-steps .art-dot-2{animation-name:art-steps-dot-2}.start-art .art-steps .art-dot-3{animation-name:art-steps-dot-3}}@keyframes art-photo-drop{0%{opacity:0;transform:translateY(-120px)rotate(-9deg)}6%,93%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes art-photo-film{0%,5%{fill-opacity:.85}15%,to{fill-opacity:0}}@keyframes art-photo-image{0%,7%{opacity:0}16%,93%{opacity:1}to{opacity:0}}@keyframes art-photo-wand{0%,15%{transform:rotate(-28deg)}19%{transform:rotate(5deg)}21%,93%{transform:none}to{transform:rotate(-28deg)}}@keyframes art-photo-swirl{0%,17%{stroke-dashoffset:1px;opacity:1}26%,93%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes art-photo-spark{0%,22%{transform:scale(0)}25%{transform:scale(1.4)rotate(45deg)}28%,93%{transform:none}to{transform:scale(0)}}@keyframes art-photo-wipe{0%,24%{transform:scaleX(0)}34%,95%{transform:none}to{transform:scaleX(0)}}@keyframes art-photo-spark-kitchen{0%,33%{transform:scale(0)}36%{transform:scale(1.4)rotate(45deg)}39%,93%{transform:none}to{transform:scale(0)}}@keyframes art-photo-progress{0%,12%{stroke-dashoffset:1px}17%,24%{stroke-dashoffset:.5px}33%,93%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}@keyframes art-photo-dot-1{0%,2%,8%,to{transform:none}5%{transform:scale(1.9)}}@keyframes art-photo-dot-2{0%,15%,21%,to{transform:none}18%{transform:scale(1.9)}}@keyframes art-photo-dot-3{0%,31%,37%,to{transform:none}34%{transform:scale(1.9)}}@keyframes art-steps-scene-1{0%,40%{opacity:1}44%{opacity:.14}47%,to{opacity:1}}@keyframes art-steps-layout-i{0%,43.9%{opacity:0;transform:none}44%,50%{opacity:1;transform:none}51.5%,to{opacity:0;transform:scale(.94)}}@keyframes art-steps-layout-u{0%,50.5%{opacity:0;transform:scale(.94)}52%,55.5%{opacity:1;transform:none}57%,to{opacity:0;transform:scale(.94)}}@keyframes art-steps-layout-l{0%,43%{opacity:1;transform:none}44%,56.5%{opacity:0;transform:scale(.94)}58%,to{opacity:1;transform:none}}@keyframes art-steps-scene-2{0%,40%{opacity:1;transform:none}44%,59%{opacity:.14;transform:none}60%{opacity:.14;transform:translateY(60px)}63%,to{opacity:1;transform:none}}@keyframes art-steps-tape{0%,40%{transform:none}44%,63%{transform:translate(var(--tape-x), var(--tape-y))}71%,to{transform:none}}@keyframes art-steps-appliance-1{0%,40%{opacity:1;transform:none}44%,73%{opacity:.14;transform:none}74%{opacity:.14;transform:translateY(-70px)}77%,to{opacity:1;transform:none}}@keyframes art-steps-appliance-2{0%,40%{opacity:1;transform:none}44%,77%{opacity:.14;transform:none}78%{opacity:.14;transform:translateY(-70px)}81%,to{opacity:1;transform:none}}@keyframes art-steps-appliance-3{0%,40%{opacity:1;transform:none}44%,81%{opacity:.14;transform:none}82%{opacity:.14;transform:translateY(-70px)}85%,to{opacity:1;transform:none}}@keyframes art-steps-progress{0%,40%{stroke-dashoffset:0}44%,58%{stroke-dashoffset:1px}62%,70%{stroke-dashoffset:.5px}74%,to{stroke-dashoffset:0}}@keyframes art-steps-dot-1{0%,44%,50%,to{transform:none}47%{transform:scale(1.9)}}@keyframes art-steps-dot-2{0%,59%,65%,to{transform:none}62%{transform:scale(1.9)}}@keyframes art-steps-dot-3{0%,71%,77%,to{transform:none}74%{transform:scale(1.9)}}@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}}@media (prefers-reduced-motion:reduce){.sk-shimmer,.chat-skeleton-row .sk-line,.chat-history-skel .sk-line,.chat-entry,.chat-empty{animation:none}}.chat-skeleton-row .sk-line,.chat-history-skel .sk-line{background:linear-gradient(90deg, color-mix(in srgb, var(--heading), transparent 94%) 0%, color-mix(in srgb, var(--heading), transparent 88%) 45%, color-mix(in srgb, var(--heading), transparent 94%) 100%);background-size:200% 100%;border-radius:.55rem;animation:1.25s ease-in-out infinite sk-shimmer;display:block}button.chat-caller{border-radius:var(--pillRadius);background:linear-gradient(160deg, color-mix(in srgb, var(--surface-1), var(--heading) 3%) 0%, var(--surface-1,var(--uiBackground)) 100%);box-shadow:var(--floatShadow,var(--popoverShadow)), var(--premiumGlow);cursor:pointer;border:none;padding:0;display:none;position:relative;& .chat-caller-badge{z-index:2;background:var(--heading);width:.7rem;height:.7rem;box-shadow:0 0 0 .125rem var(--surface-1,#fff), 0 .0625rem .25rem color-mix(in srgb, var(--heading) 40%, transparent);pointer-events:none;border-radius:50%;animation:1.6s ease-in-out infinite chat-coach-badge-pulse;position:absolute;top:.05rem;right:.05rem}&.chat-caller--coach-badge{box-shadow:var(--floatShadow,var(--popoverShadow)), 0 0 0 .125rem color-mix(in srgb, var(--heading) 45%, transparent)}html[data-shell=smartphone] &{display:none!important}html[data-shell=tablet][data-shell-landscape=short] &{left:50%;right:auto;bottom:calc(var(--mobile-toolbox-h,0) + var(--fab-gap,.7rem) + var(--chat-fab-lift,.65rem) + env(safe-area-inset-bottom,0));z-index:var(--z-chat-mobile);width:var(--chat-fab-size,2.75rem);height:var(--chat-fab-size,2.75rem);border-radius:50rem;place-items:center;min-width:2.75rem;min-height:2.75rem;display:grid;position:fixed;transform:translate(-50%)}html[data-shell=smartphone][data-shell-landscape=short] &{left:50%;right:auto;bottom:calc(var(--mobile-toolbox-h,0) + var(--fab-gap,.625rem) + var(--chat-fab-lift,.75rem));z-index:var(--z-chat-mobile);width:var(--chat-fab-size,max(var(--fab-size,2.5rem), 3rem));height:var(--chat-fab-size,max(var(--fab-size,2.5rem), 3rem));border-radius:50rem;place-items:center;min-width:3rem;min-height:3rem;display:grid;position:fixed;transform:translate(-50%)}}@keyframes chat-coach-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}body:has(aside#chat.chat-drawer-open) button.chat-caller{html[data-shell=tablet][data-shell-landscape=short] &{opacity:0;pointer-events:none;transform:translate(-50%)scale(.9)}}body:has(aside#chat.chat-drawer-open) #toolbox-wrap{html[data-shell=smartphone] &,html[data-shell=tablet][data-shell-landscape=short] &,html[data-shell=smartphone][data-shell-landscape=short] &{pointer-events:none;opacity:0;visibility:hidden}}section#workspace:has(#scene.fullscreen)>button.chat-caller{width:3em;height:3em;z-index:var(--z-chat);transition:transform var(--motion-fast), box-shadow var(--motion-fast);border-radius:50%;place-items:center;margin-inline:0;font-size:1.25em;display:grid;position:absolute;inset:auto 1.5em 1.5em auto;&:hover{transform:scale(1.05)}& svg{width:1.5em;height:1.5em}}.chat-backdrop{display:none}html[data-shell=smartphone]{& .chat-backdrop{z-index:calc(var(--z-header) + 2);background:color-mix(in srgb, var(--heading), transparent 48%);-webkit-backdrop-filter:blur(.2rem);width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--mobile-duration,.36s) var(--mobile-ease,ease);-webkit-appearance:none;appearance:none;border:0;border-radius:0;margin:0;padding:0;display:block;position:fixed;inset:0}& .chat-backdrop.is-open{opacity:1;pointer-events:auto}}html[data-shell=tablet][data-shell-landscape=short]{& .chat-backdrop{z-index:var(--z-chat-backdrop);background:color-mix(in srgb, var(--heading), transparent 55%);backdrop-filter:blur(.125rem);width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--motion-med);-webkit-appearance:none;appearance:none;border:0;border-radius:0;margin:0;padding:0;display:block;position:fixed;inset:0}& .chat-backdrop.is-open{opacity:1;pointer-events:auto}}html[data-shell=smartphone],html[data-shell=smartphone][data-shell-landscape=short]{& .chat-backdrop{z-index:calc(var(--z-header) + 2);background:color-mix(in srgb, var(--heading), transparent 55%);backdrop-filter:blur(.125rem);width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--motion-med);-webkit-appearance:none;appearance:none;border:0;border-radius:0;margin:0;padding:0;display:block;position:fixed;inset:0}& .chat-backdrop.is-open{opacity:1;pointer-events:auto}}html[data-shell=smartphone]:has(aside#chat[data-quiz].chat-drawer-open) .chat-backdrop.is-open,html[data-shell=smartphone][data-shell-landscape=short]:has(aside#chat[data-quiz].chat-drawer-open) .chat-backdrop.is-open{-webkit-backdrop-filter:none;pointer-events:none;opacity:0;background:0 0}aside#chat{--border:var(--subtleBorder);--bottomSpace:var(--chat-bottom-space,10em);--chat-suggest-band:0;--chat-muted:var(--textSecondary,var(--textMuted));--chat-transition-fast:var(--motion-fast);--chat-disabled-opacity:.45;--chat-panel-header-h:3.85rem;--chat-footer-stack:calc(var(--bottomSpace) + var(--chat-suggest-band));&:has(#request-form.compose-voice-idle){--bottomSpace:max(13.5rem, var(--chat-bottom-space,10em))}&:has(#request-form #voice-error){--bottomSpace:max(19rem, var(--chat-bottom-space,10em))}&:has(#request-form.compose-voice-draft),&:has(#request-form.compose-voice-listening),&:has(#request-form.compose-voice-transcribing),&:has(#request-form.compose-type-first){--bottomSpace:max(9.75rem, var(--chat-bottom-space,10em))}&:has(footer.chat-compose section.chat-hints),&:has(footer.chat-compose .chat-compose-ctas),&:has(footer.chat-compose .chat-book-cta){--chat-suggest-band:3rem}html[data-shell=smartphone] &{&:has(#request-form.compose-voice-idle){--bottomSpace:max(6.25rem, var(--chat-bottom-space,8.5em))}&:has(#request-form #voice-error){--bottomSpace:max(12.5rem, var(--chat-bottom-space,8.5em))}&:has(#request-form.compose-voice-draft),&:has(#request-form.compose-voice-listening),&:has(#request-form.compose-voice-transcribing),&:has(#request-form.compose-type-first){--bottomSpace:max(8.75rem, var(--chat-bottom-space,8.5em))}&:has(footer.chat-compose section.chat-hints),&:has(footer.chat-compose .chat-compose-ctas),&:has(footer.chat-compose .chat-book-cta){--chat-suggest-band:2.5rem}}background:var(--surfaceWarm,var(--surface-1,var(--elevatedFill)));height:calc(100dvh - var(--header-h) - var(--workspace-pad) * 3);width:var(--chat-width);max-width:var(--chat-max-width);margin:0 var(--workspace-pad) var(--workspace-pad);border-radius:var(--panelRadius);box-shadow:var(--softShadow), var(--panelHighlight);z-index:var(--z-chat);border:none;flex-direction:column;gap:0;margin-left:auto;display:flex;position:relative;overflow:hidden;&:before{content:"";background:var(--surfaceGlow);pointer-events:none;z-index:0;position:absolute;inset:0}&>header.chat-header,&>article.chat-history,&>footer.chat-compose,&>.init-shell,&>#init-wrapper,&>.booking-shell,&>.photo-render-shell{z-index:1}&.chat-density-compact{--bottomSpace:max(7.5rem, calc(var(--chat-bottom-space,8.5em) * .92));--header-action-size:2rem;font-size:.94em;&:has(#request-form.compose-voice-idle){--bottomSpace:max(12.5rem, var(--chat-bottom-space,8.5em))}&:has(#request-form.compose-voice-draft),&:has(#request-form.compose-voice-listening),&:has(#request-form.compose-voice-transcribing),&:has(#request-form.compose-type-first){--bottomSpace:max(9.5rem, var(--chat-bottom-space,8.5em))}& header.chat-header{min-height:2.85rem;padding:.55rem .55rem .55rem .85rem}& article.chat-history{gap:.95em;padding-block:.5rem}}& .chat-header-actions{--header-action-size:2.25rem;flex-shrink:0;align-items:center;gap:.375rem;margin:0;padding:0;display:flex;& .chat-header-tool:not(:hover,.is-on){color:var(--textSecondary);background:0 0}& .chat-header-tool:not(:hover,:focus-visible,.is-on){opacity:var(--idle-opacity)}}& .chat-header-tool,& .chat-header-close{width:var(--header-action-size);height:var(--header-action-size);min-width:var(--header-action-size);min-height:var(--header-action-size);background:var(--wash);color:var(--heading);cursor:pointer;opacity:1;touch-action:manipulation;box-shadow:none;z-index:1;transition:background var(--motion-fast), color var(--motion-fast), opacity var(--motion-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.15rem;line-height:1;display:inline-flex;position:relative;& svg{flex-shrink:0;width:1rem;height:1rem}& .chat-header-close-icon{place-items:center;width:1rem;height:1rem;line-height:0;display:inline-grid}& .chat-header-close-icon svg{width:100%;height:100%}&:hover,&.is-on{background:var(--heading);color:var(--surface-1,var(--elevatedFill))}&:focus-visible{outline:var(--focus-outline);outline-offset:.125rem}}& :is(button.chat-caller,.chat-header-close,.chat-header-tool,.chat-suggestion,.chat-history-load-button,.chat-price-sticky,.chat-empty-retry):focus-visible{outline:var(--focus-outline);outline-offset:.125rem;box-shadow:var(--focus-ring)}html[data-shell=tablet] &{height:calc(100dvh - var(--header-h) - var(--workspace-pad) * 3);max-height:calc(100dvh - var(--header-h) - var(--workspace-pad) * 3);width:var(--chat-width);max-width:var(--chat-max-width);border-radius:var(--tablet-chat-radius,var(--panelRadius));--chat-history-pad-x:.85rem;--chat-history-pad-y:.8rem;margin:0}html[data-shell=smartphone] &{width:100%;max-width:none;height:var(--mobile-chat-sheet-h,97dvh);max-height:var(--mobile-chat-sheet-h,97dvh);padding:0;padding-bottom:max(.35rem, env(safe-area-inset-bottom,0));border-radius:var(--mobile-sheet-radius,1.25rem) var(--mobile-sheet-radius,1.25rem) 0 0;background:var(--mobile-sheet-bg,var(--surface-1,var(--elevatedFill)));-webkit-backdrop-filter:none;z-index:calc(var(--z-header) + 5);transition:transform var(--mobile-duration,.36s) var(--mobile-ease,ease);box-shadow:var(--mobile-sheet-shadow,var(--floatShadow));pointer-events:none;visibility:hidden;box-sizing:border-box;border:none;flex-direction:column;margin:0;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;transform:translateY(calc(100% + 1.25rem));&.chat-drawer-open{pointer-events:auto;visibility:visible;transform:translateY(0)}&[data-quiz]{height:min(90dvh, calc(100dvh - var(--header-h,4.5rem) - .35rem));max-height:min(90dvh, calc(100dvh - var(--header-h,4.5rem) - .35rem))}&.is-sheet-dragging{transition:none}&>footer.chat-compose{box-sizing:border-box;flex:none;order:40;max-height:none;margin-top:0;padding-bottom:0}&>article.chat-history{--chat-history-pad-x:.85rem;--chat-history-pad-y:.65rem;min-height:0;padding-bottom:var(--chat-history-pad-y,.65rem);scroll-padding-bottom:var(--space-4,1rem);flex:1 1 0;order:20}&>header.chat-header{display:none}&>.chat-price-sticky{flex-shrink:0;order:15}&>.booking-shell,&>.photo-render-shell,&>.init-shell,&>#init-wrapper{order:25;min-height:0}}&>.chat-mobile-hide{display:none}html[data-shell=smartphone] &{&>.chat-mobile-hide{box-sizing:border-box;width:100%;min-height:1.65rem;color:var(--textSecondary,var(--textMuted,var(--text)));font:inherit;letter-spacing:.02em;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;order:0;justify-content:center;align-items:center;gap:.2rem;margin:0;padding:.45rem 1rem .2rem;font-size:.68rem;font-weight:550;line-height:1.15;display:flex}&>.chat-mobile-hide:active{background:color-mix(in srgb, var(--heading) 4%, transparent)}&>.chat-mobile-hide:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}&>.chat-mobile-hide .chat-mobile-hide-grip{background:color-mix(in srgb, var(--heading) 22%, transparent);border-radius:50rem;width:min(2.75rem,26vw);height:.22rem;display:block}&>footer.chat-compose{margin-top:0}}html[data-shell=tablet][data-shell-landscape=short] &{&>.chat-mobile-hide{box-sizing:border-box;width:100%;min-height:1.65rem;color:var(--textSecondary,var(--textMuted,var(--text)));cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;order:0;justify-content:center;align-items:center;gap:0;margin:0;padding:.45rem 1rem .2rem;display:flex}&>.chat-mobile-hide:active{background:color-mix(in srgb, var(--heading) 4%, transparent)}&>.chat-mobile-hide:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}&>.chat-mobile-hide .chat-mobile-hide-grip{background:color-mix(in srgb, var(--heading) 22%, transparent);border-radius:50rem;width:min(2.75rem,26vw);height:.22rem;display:block}&>footer.chat-compose{margin-top:0}}html[data-shell=tablet][data-shell-landscape=short] &{--bottomSpace:var(--chat-bottom-space,5rem);top:var(--header-h);width:100%;max-width:none;height:min(90dvh, calc(100dvh - var(--header-h)));max-height:calc(100dvh - var(--header-h));border:none;border-bottom:.0625rem solid var(--divider,transparent);z-index:var(--z-chat-mobile);transition:transform var(--motion-med);box-shadow:var(--floatShadow);pointer-events:none;visibility:hidden;border-radius:0;margin:0;padding:0;position:fixed;bottom:auto;left:0;right:0;transform:translateY(calc(-100% - 1rem));&.chat-drawer-open{pointer-events:auto;visibility:visible;transform:translateY(0)}&.chat-float{top:var(--header-h);width:100%;max-width:none;max-height:calc(100dvh - var(--header-h));border-radius:0;position:fixed;bottom:auto;left:0;right:0}}html[data-shell=smartphone][data-shell-landscape=short] &{--bottomSpace:var(--chat-bottom-space,5rem);height:var(--mobile-chat-sheet-h,92dvh);max-height:var(--mobile-chat-sheet-h,92dvh);border-radius:var(--mobile-sheet-radius,1rem) var(--mobile-sheet-radius,1rem) 0 0;top:auto;bottom:0;transform:translateY(calc(100% + 1rem));&.chat-drawer-open{transform:translateY(0)}&.chat-float{height:var(--mobile-chat-sheet-h,92dvh);max-height:var(--mobile-chat-sheet-h,92dvh);border-radius:var(--mobile-sheet-radius,1rem) var(--mobile-sheet-radius,1rem) 0 0;top:auto;bottom:0}}&.chat-float{top:auto;right:max(1.5rem, env(safe-area-inset-right,0));bottom:max(7rem, calc(4.5rem + env(safe-area-inset-bottom,0)));width:min(var(--chat-width), calc(100vw - 2.5rem));height:min(80vh, calc(100dvh - var(--header-h) - 9rem));z-index:var(--z-chat-mobile);box-shadow:var(--floatShadow);border:none;margin:0;position:absolute;left:auto;transform:none;html[data-shell=smartphone] &{top:var(--header-h);width:100%;max-width:none;height:min(88dvh, calc(100dvh - var(--header-h) - env(safe-area-inset-bottom,0)));max-height:calc(100dvh - var(--header-h));border:none;border-bottom:.0625rem solid var(--divider,transparent);border-radius:0;position:fixed;bottom:auto;left:0;right:0;&:after{display:none}}&:after{content:"";border:1em solid #0000;border-top:1em solid var(--elevatedFill,white);pointer-events:none;width:2em;height:2em;margin:0 0 -2em;position:absolute;top:100%;left:calc(100% - 4em)}[data-theme=dark] &:after{border-top-color:var(--elevatedFill,var(--background))}}& header.chat-header{--header-action-size:2.75rem;min-height:var(--chat-panel-header-h,3.85rem);height:var(--chat-panel-header-h,3.85rem);border-bottom:.0625rem solid var(--line);background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));letter-spacing:.01em;box-sizing:border-box;z-index:80;flex-shrink:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .75rem .6rem 1.25rem;font-size:.92rem;display:flex;position:relative;& h2{color:var(--heading);letter-spacing:0;margin:0;font-size:.95rem;font-weight:650;line-height:1.2}& .chat-header-text{min-width:0;padding:0;& .chat-header-title{flex-wrap:wrap;align-items:center;gap:.4em .65em;display:flex}& .chat-header-logo{object-fit:contain;width:auto;max-width:6rem;height:1.35em;display:block}& .chat-status{opacity:1;color:var(--text);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:var(--text);margin:.35em 0 0;font-size:.78rem;line-height:1.45}}}& article.chat-history{gap:var(--space-3,1rem);min-height:0;padding:var(--chat-history-pad-y,var(--space-3,1rem)) var(--chat-history-pad-x,var(--space-3,1rem)) calc(var(--chat-footer-stack) + var(--chat-history-pad-y,var(--space-3,1rem)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:var(--space-4,1rem);scroll-padding-bottom:calc(var(--chat-footer-stack) + var(--space-4,1rem));scroll-behavior:smooth;background:0 0;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto;@media (prefers-reduced-motion:reduce){scroll-behavior:auto}& .chat-empty{padding:var(--space-6,2rem) var(--space-4,1rem);text-align:center;align-items:center;gap:var(--space-3,.75rem);animation:chat-enter var(--motion-med) both;flex-direction:column;margin:auto 0;display:flex}& .chat-empty-title{font-size:var(--fs-md,.95rem);color:var(--heading);letter-spacing:var(--tracking-tight,-.01em);font-weight:650;line-height:var(--lh-tight,1.25);margin:0}& .chat-empty-hint{font-size:var(--fs-sm,.82rem);line-height:var(--lh-loose,1.6);color:var(--textSecondary,var(--textMuted));max-width:min(var(--measure,40ch), 18rem);margin:0;font-weight:450}& .chat-empty-error{gap:var(--space-2,.5rem)}& .chat-empty-error .chat-empty-title{color:var(--danger)}& .chat-empty-error .chat-empty-retry{margin-top:var(--space-3,.75rem);min-height:var(--hit-min,var(--control-h))}& .chat-history-error{color:var(--danger);text-align:center;margin:0 0 .35em;font-size:.72rem}& .chat-status.is-error{color:var(--danger);opacity:1}& .chat-status.is-stopped{color:var(--text);opacity:1}& .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);background:var(--surface-2,var(--pillBg));color:var(--text);box-shadow:none;cursor:pointer;border:none;padding:.28em .65em;font-size:.65rem;&:disabled{opacity:.55;cursor:wait}}&.is-busy{scroll-behavior:auto}& span.bottom-offset{height:var(--chat-footer-stack);pointer-events:none;position:absolute;inset:auto 0 0}}& .chat-qa{z-index:3;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;position:absolute;bottom:calc(100% + .5rem);left:.85rem;right:.85rem;&>*{pointer-events:auto}}& .chat-qa-toggle{aspect-ratio:1;border:.0625rem solid var(--line);background:var(--surface-1);width:2.25rem;min-width:0;height:2.25rem;min-height:0;box-shadow:none;color:var(--textSecondary);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border-radius:50%;place-items:center;margin:0;padding:0;display:grid;& span,& svg{width:1rem;height:1rem;display:block}&:hover,&[aria-expanded=true]{background:var(--heading);border-color:var(--heading);color:var(--surface-1)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .chat-qa-form{box-sizing:border-box;border:.0625rem solid var(--line);border-radius:var(--cardRadius);background:var(--surface-1);width:100%;box-shadow:var(--popoverShadow);gap:.5rem;margin:0;padding:.75rem;display:grid;& label{color:var(--heading);font-size:.85rem;font-weight:650}& textarea{box-sizing:border-box;border:.0625rem solid var(--line);border-radius:var(--fieldRadius);background:var(--surface-1);width:100%;min-height:4.5rem;color:var(--text);font:inherit;resize:vertical;margin:0;padding:.5rem .65rem;font-size:.85rem;line-height:1.4;&:focus-visible{outline:var(--focus-outline);outline-offset:0}}& .actions{justify-content:flex-end;gap:.5rem;display:flex}& button{border-radius:var(--pillRadius);min-height:2.25rem;font:inherit;font-size:.82rem;font-weight:var(--button-weight);cursor:pointer;margin:0;padding:0 .9rem}& .cancel{border:.0625rem solid var(--ring);color:var(--heading);background:0 0}& .send{background:var(--heading);color:var(--surface-1);border:0;&:disabled{opacity:.45;cursor:not-allowed}}}&:has(.chat-qa) article.chat-history{padding-bottom:3.25rem}& footer.chat-compose{min-height:var(--chat-footer-stack);isolation:isolate;flex-shrink:0;position:relative;& .chat-compose-ctas{top:auto;left:.65rem;right:.65rem;bottom:var(--bottomSpace);z-index:5;scrollbar-width:none;pointer-events:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.4rem;max-width:calc(100% - 1.3rem);margin:0;padding:0;display:flex;position:absolute;overflow:visible}& .chat-compose-ctas::-webkit-scrollbar{display:none}& .chat-book-cta,& .chat-photo-render-cta{box-sizing:border-box;min-width:0;min-height:var(--hit-min,2.75rem);border-radius:var(--pillRadius);background:var(--heading);max-width:min(16rem,70vw);color:var(--surface-1);font:inherit;font-size:.82rem;font-weight:var(--button-weight);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--buttonShadow);cursor:pointer;touch-action:manipulation;pointer-events:auto;border:none;flex:none;justify-content:center;align-items:center;gap:.4rem;margin:0;padding:0 .95rem;line-height:1.2;display:inline-flex;position:relative;overflow:hidden}& .chat-book-cta:hover,& .chat-photo-render-cta:hover{background:var(--fill-hover)}& .chat-cta-icon{opacity:.95;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}& .chat-cta-icon svg{width:100%;height:100%;display:block}& .chat-cta-label{text-overflow:ellipsis;min-width:0;overflow:hidden}& .chat-book-cta:focus-visible,& .chat-photo-render-cta:focus-visible{outline:var(--focus-outline,.125rem solid var(--heading));outline-offset:.125rem}& .chat-book-cta:active,& .chat-photo-render-cta:active{transform:scale(.98)}html[data-shell=smartphone] &{& .chat-compose-ctas{left:.5rem;right:.5rem;bottom:max(.4rem, env(safe-area-inset-bottom,0));align-items:stretch;gap:.3rem;max-width:calc(100% - 1rem)}&:has(.chat-compose-ctas) #request-form{translate:0 calc(-1 * var(--chat-suggest-band))}& .chat-book-cta,& .chat-photo-render-cta{max-width:none;height:auto;min-height:2.2rem;font-size:.72rem;font-weight:var(--button-weight);letter-spacing:.015em;white-space:nowrap;text-overflow:ellipsis;text-align:center;flex:1 1 0;gap:.3rem;padding:.28rem .55rem;line-height:1.15;overflow:hidden}& .chat-cta-icon{width:.95rem;height:.95rem}& .chat-cta-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-weight:inherit;display:block;overflow:hidden}}& #request-form{width:auto;height:calc(var(--bottomSpace) - 1.2rem);min-height:5.5rem;max-height:calc(var(--bottomSpace) - 1.1rem);inset:auto .65rem .55rem;box-sizing:border-box;inset-block:auto .55rem;inset-inline:.65rem}& #request-form.compose-voice-primary,& #request-form.compose-voice-idle{width:auto;height:auto;max-height:calc(var(--bottomSpace) - 1rem);min-height:min(calc(var(--bottomSpace) - 1rem), max(5.5rem, calc(var(--bottomSpace) - 1.5rem)));inset:auto .55rem .5rem}& #request-form.compose-type-first{height:calc(var(--bottomSpace) - 1.2rem);min-height:5.5rem;max-height:calc(var(--bottomSpace) - 1.1rem)}html[data-shell=smartphone] &{& #request-form{bottom:max(.45rem, env(safe-area-inset-bottom,0));inset-block-end:max(.45rem, env(safe-area-inset-bottom,0))}& #request-form.compose-voice-primary,& #request-form.compose-voice-idle{bottom:max(.35rem, env(safe-area-inset-bottom,0));max-height:calc(var(--bottomSpace) - .55rem);min-height:min(calc(var(--bottomSpace) - .6rem), max(3.75rem, calc(var(--bottomSpace) - .85rem)))}& #request-form.compose-type-first{height:calc(var(--bottomSpace) - 1rem);min-height:5.5rem;max-height:calc(var(--bottomSpace) - .9rem)}}& section.chat-hints{left:0;right:0;bottom:var(--bottomSpace);z-index:5;box-sizing:border-box;min-height:var(--chat-suggest-band);max-height:var(--chat-suggest-band);pointer-events:auto;background:linear-gradient(180deg, color-mix(in srgb, var(--surfaceWarm,var(--surface-1,#fff)), transparent 55%) 0%, color-mix(in srgb, var(--surfaceWarm,var(--surface-1,#fff)), transparent 12%) 42%, var(--surfaceWarm,var(--surface-1,#faf9f7)) 100%);align-items:center;margin:0;padding:.28rem .65rem .42rem;display:flex;position:absolute;top:auto;overflow:hidden;&:before,&:after{content:"";z-index:2;pointer-events:none;opacity:0;width:.85rem;transition:opacity var(--motion-fast);position:absolute;top:0;bottom:0}&:before{background:linear-gradient(to right, var(--surfaceWarm,var(--surface-1,#faf9f7)), transparent);left:0}&:after{background:linear-gradient(to left, var(--surfaceWarm,var(--surface-1,#faf9f7)), transparent);right:0}&:has(.chat-suggestions[data-overflow=true]):before,&:has(.chat-suggestions[data-overflow=true]):after{opacity:1}&:dir(rtl):before{background:linear-gradient(to left, var(--surfaceWarm,var(--surface-1,#faf9f7)), transparent);left:auto;right:0}&:dir(rtl):after{background:linear-gradient(to right, var(--surfaceWarm,var(--surface-1,#faf9f7)), transparent);left:0;right:auto}& .chat-suggestions{--chat-suggest-fade:.55rem;box-sizing:border-box;overscroll-behavior-x:contain;scroll-snap-type:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--heading), transparent 75%) transparent;touch-action:pan-x;flex-flow:row;flex:auto;align-items:center;gap:.35rem;width:100%;min-width:0;max-width:100%;padding-block:.05rem;padding-inline:.15rem .35rem;display:flex;overflow:auto hidden;&::-webkit-scrollbar{height:.1875rem}&::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--heading), transparent 70%);border-radius:50rem}}& .chat-suggestion{z-index:1;width:fit-content;max-width:min(16rem,80vw);height:auto;min-height:2.25rem;font-size:.72rem;font-weight:var(--button-weight);letter-spacing:.01em;text-align:start;white-space:nowrap;border-radius:var(--pillRadius);box-sizing:border-box;background:var(--heading);color:var(--surface-1);text-shadow:none;cursor:pointer;touch-action:manipulation;user-select:none;box-shadow:var(--buttonShadow);transition:background var(--motion-fast);border:none;flex:none;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.45rem .82rem;line-height:1.2;display:inline-flex;position:relative;& .chat-suggestion-icon{opacity:.92;flex-shrink:0;width:.9375rem;height:.9375rem;display:inline-flex}& .chat-suggestion-icon svg{width:100%;height:100%;display:block}& .chat-suggestion-label{text-overflow:ellipsis;min-width:0;overflow:hidden}&:hover:not(:disabled){background:var(--fill-hover)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}&:disabled{cursor:not-allowed;opacity:var(--chat-disabled-opacity);filter:grayscale(.25)}}html[data-shell=smartphone] &{padding:.22rem .5rem .38rem;& .chat-suggestions{--chat-suggest-fade:.65rem;gap:.34rem}& .chat-suggestion{max-width:min(15.5rem,86vw);min-height:2.5rem;padding:.48rem .85rem;font-size:.74rem}& .chat-suggestion .chat-suggestion-icon{width:1rem;height:1rem}}html[data-shell=smartphone] &{& .chat-suggestion{max-width:min(14.5rem,88vw);min-height:2.5rem;padding:.48rem .78rem;font-size:.72rem}}@media (prefers-reduced-motion:reduce){& .chat-suggestion{transition:none}& .chat-suggestion:hover:not(:disabled),& .chat-suggestion:active:not(:disabled){transform:none}}}& .chat-send-hint{color:var(--textTertiary,var(--textMuted));pointer-events:none;user-select:none;z-index:2;white-space:nowrap;text-overflow:ellipsis;transition:opacity var(--motion-fast);margin:0;font-size:.66rem;line-height:1.3;position:absolute;inset:auto auto 1.5rem 2rem;overflow:hidden}&:has(#request-form .voice-listening),&:has(#request-form #voice-error),&:has(#request-form .voice-hint),&:has(#request-form.compose-voice-primary),&:has(#request-form.compose-voice-idle){& .chat-send-hint{opacity:0;visibility:hidden}}html[data-shell=smartphone] &{& .chat-send-hint{display:none}& section.chat-hints .chat-suggestion{border-radius:50rem;min-height:2.5rem;padding-inline:.7rem;font-size:.78rem}}}html[data-shell=smartphone] &{& header.chat-header{display:none}}}html[data-shell=smartphone][data-studio-capture]{& aside#chat,& aside#chat.chat-drawer-open,& .chat-backdrop,& .chat-backdrop.is-open,& aside#chat.is-studio-capturing{opacity:0!important;visibility:hidden!important;pointer-events:none!important}}html[data-shell=desktop] aside#chat,html[data-shell=tablet] aside#chat{&>.chat-summary{z-index:2;border-bottom:.0625rem solid var(--line);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:0 .5rem;padding:.3rem .5rem .3rem 1.25rem;display:flex;position:relative;&:not(:has(*)){display:none}& :is(.chat-price-sticky,.editor-selection){-webkit-backdrop-filter:none;background:0 0;border:none;width:auto;min-height:2.25rem;& .label{max-width:none;color:var(--textSecondary);letter-spacing:0;text-transform:none;margin:0;font-size:.78rem;font-weight:500}}& .chat-price-sticky{border-radius:var(--pillRadius);flex:none;justify-content:flex-start;gap:.45rem;margin-left:-.6rem;padding:0 .6rem;& .label{clip-path:inset(50%);width:.0625rem;height:.0625rem;position:absolute;overflow:hidden}& .value:before{content:"≈ ";color:var(--textSecondary);font-weight:500}&.is-compact{opacity:1;min-height:2.25rem;padding-block:0;& .label{font-size:.78rem}& .value{font-size:.88rem}}& .value{text-align:start;flex:none;font-size:.88rem}&:hover{background:var(--wash)}}& .editor-selection{flex:0 auto;gap:.35rem;min-width:0;margin-left:auto;padding:0;& .value{flex:0 auto;min-width:0}& .value select:not([multiple]){field-sizing:content;border-radius:var(--fieldRadius);background:var(--wash);width:auto;max-width:min(14rem,100%);min-height:2.25rem;font-size:.8rem;font-weight:var(--button-weight);color:var(--heading);text-align:start;text-align-last:start;padding:0 1.7rem 0 .8rem;&:hover:not(:disabled){background:color-mix(in srgb, var(--heading) 11%, transparent)}}&:not([data-set]) .value select:not([multiple]){color:var(--textSecondary);font-weight:500}&[data-set] .label,html[data-shell=tablet] & .label{display:none}& .chevron{width:.9rem;height:.9rem;right:.6rem}& button{border-radius:50%;flex-basis:2.25rem;height:2.25rem;min-height:0}& .pick{background:var(--wash);&:hover:not(:disabled,[aria-pressed=true]){background:var(--heading);color:var(--surface-1)}}}}&>article.chat-history{padding-bottom:var(--chat-history-pad-y,1rem);scroll-padding-bottom:var(--space-4,1rem);& span.bottom-offset{display:none}}&>footer.chat-compose{border-top:.0625rem solid var(--line);flex-direction:column;gap:.6rem;min-height:0;padding:.7rem .85rem .85rem;display:flex;& .chat-compose-ctas{pointer-events:auto;flex-wrap:wrap;gap:.5rem;max-width:none;position:static}& :is(.chat-book-cta,.chat-photo-render-cta){background:var(--heading);min-width:max-content;min-height:2.5rem;box-shadow:none;color:var(--surface-1);font-size:.8rem;font-weight:var(--button-weight);transition:background var(--motion-fast);border:none;flex:1 1 0;justify-content:center;padding:0 1rem;&:hover{background:color-mix(in srgb, var(--heading), var(--surface-1) 14%)}}& .chat-photo-render-cta{box-shadow:inset 0 0 0 .0625rem var(--ring);color:var(--heading);background:0 0;&:hover{background:var(--wash)}}& #request-form:is(.compose-voice-idle,.compose-voice-primary,.compose-type-first,[id]){width:auto;height:auto;min-height:0;max-height:none;margin:0;position:relative;inset:auto}& .chat-send-hint{bottom:2.125rem;left:1.85rem}}}form#request-form{width:calc(100% - 2em);height:calc(var(--bottomSpace) - 2em);border:.0625rem solid var(--inputBorder,var(--subtleBorder));border-radius:var(--fieldRadius);background:var(--softInputBg,var(--surface-2));box-shadow:var(--nestedShadow);transition:border-color var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast), min-height var(--motion-fast);padding:0;position:absolute;inset:auto 1em 1em;&.compose-voice-primary{width:auto;height:auto;min-height:min(calc(var(--bottomSpace) - 1.1em), max(5.5rem, calc(var(--bottomSpace) - 1.5em)));max-height:calc(var(--bottomSpace) - 1.1em);box-sizing:border-box;flex-direction:column;justify-content:flex-end;padding:0;display:flex;inset:auto .65em .55em;overflow:visible}&.compose-type-first{width:auto;height:calc(var(--bottomSpace) - 1.2em);min-height:5.5rem;max-height:calc(var(--bottomSpace) - 1.1em);box-sizing:border-box;inset:auto .65em .55em;overflow:visible}&:has(.compose-menu){z-index:6}& .compose-menu{z-index:6;border:.0625rem solid var(--line);border-radius:calc(var(--controlRadius) + .3rem);background:var(--surface-1);max-height:min(14rem,42dvh);box-shadow:var(--popoverShadow);flex-direction:column;gap:.15rem;margin:0;padding:.3rem;display:flex;position:absolute;bottom:calc(100% + .65rem);left:.35rem;right:.35rem;overflow:auto}& .compose-menu ul,& .compose-menu li{margin:0;padding:0;list-style:none}& .compose-menu ul{flex-direction:column;gap:.15rem;display:flex}& .compose-menu li::marker{content:""}& .compose-menu .label{color:var(--textTertiary,var(--textMuted));margin:0;padding:.3rem .7rem .15rem;font-size:.72rem;line-height:1.3}& .compose-menu button{width:100%;min-height:var(--hit-min,2.75rem);border-radius:var(--controlRadius);color:inherit;font:inherit;text-align:start;white-space:normal;cursor:pointer;background:0 0;border:0;margin:0;padding:.55rem .75rem;font-size:.92rem;line-height:1.35;transition:background .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:block}& .compose-menu button:hover,& .compose-menu button:focus-visible{background:var(--wash);outline:none}& .compose-menu button:active{transform:scale(.985)}& .compose-menu button.confirm{background:var(--heading);color:var(--surface-1);font-weight:var(--button-weight)}& .compose-menu button.confirm:hover,& .compose-menu button.confirm:focus-visible{background:var(--fill-hover)}& .compose-menu button:disabled{cursor:wait;opacity:.55}@media (prefers-reduced-motion:no-preference){& .compose-menu{animation:.18s cubic-bezier(.16,1,.3,1) compose-menu-in}}@media (prefers-reduced-motion:reduce){& .compose-menu,& .compose-menu button{transition:none;animation:none}& .compose-menu button:active{transform:none}}&.compose-type-first label.compose-field{height:100%;min-height:100%;display:block;position:absolute;inset:0}&.compose-type-first label.compose-field textarea{box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:none;padding:.95rem 1.15rem 2.75rem;position:absolute;inset:0}&.compose-voice-idle{background:linear-gradient(165deg, color-mix(in srgb, var(--surface-1,#fff), var(--heading) 3%) 0%, var(--softInputBg,var(--surface-2)) 55%, var(--surface-2,var(--softInputBg)) 100%);justify-content:center;padding:.7rem .85rem .65rem}&.compose-voice-idle .voice-idle-surface{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:0;display:flex}&.compose-voice-idle .voice-cta{text-align:center;letter-spacing:.01em;color:var(--heading);opacity:.92;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:20rem;margin:0;padding:0 .35rem;font-size:.8rem;font-weight:650;line-height:1.3;display:-webkit-box;position:static;overflow:hidden}&.compose-voice-idle .voice-mic-stage{flex-shrink:0;place-items:center;width:3.85rem;height:3.85rem;margin:.1rem 0;display:grid;position:relative}&.compose-voice-idle .voice-ring{border:.0938rem solid color-mix(in srgb, var(--heading), transparent 82%);opacity:.5;pointer-events:none;border-radius:50rem;position:absolute;inset:.1rem}&.compose-voice-idle .voice-ring--delay{opacity:.25;border-width:.0625rem;inset:-.05rem}&.compose-voice-idle .recognition-button.mic-primary{z-index:1;background:var(--heading);width:3.25rem;min-width:2.75rem;height:3.25rem;min-height:2.75rem;color:var(--uiBackground,#fff);box-shadow:0 .25rem .875rem color-mix(in srgb, var(--heading), transparent 72%), 0 0 0 .1875rem color-mix(in srgb, var(--heading), transparent 92%);padding:0;transition:all .2s;position:relative;& span{display:inline-flex}}&.compose-voice-idle .recognition-button.mic-primary svg{--size:1.15rem;width:var(--size);height:var(--size);[data-state=idle] &{--size:1.5rem}}&.compose-voice-idle .recognition-button.mic-primary:hover{background:var(--fill-hover);transform:scale(1.03)}&.compose-voice-idle .voice-tap-hint{letter-spacing:.02em;color:var(--textMuted,var(--muted,var(--heading)));opacity:.72;flex-shrink:0;margin:0;font-size:.68rem;font-weight:600;line-height:1.2}&.compose-voice-idle .type-escape{box-sizing:border-box;border:.0625rem solid color-mix(in srgb, var(--heading) 12%, transparent);background:color-mix(in srgb, var(--surface-1,#fff) 70%, transparent);height:auto;min-height:2.75rem;color:var(--textSecondary,var(--textMuted,var(--heading)));font:inherit;letter-spacing:.01em;cursor:pointer;touch-action:manipulation;box-shadow:none;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);border-radius:50rem;justify-content:center;align-items:center;gap:.35rem;margin:.15rem 0 0;padding:0 .85rem;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}&.compose-voice-idle .type-escape svg{opacity:.85;flex-shrink:0;width:.9rem;height:.9rem}&.compose-voice-idle .type-escape-label{line-height:1}&.compose-voice-idle .type-escape:hover{background:color-mix(in srgb, var(--heading) 5%, var(--surface-1,#fff));border-color:color-mix(in srgb, var(--heading) 18%, transparent);color:var(--heading)}&.compose-voice-idle .type-escape:active{background:color-mix(in srgb, var(--heading) 8%, var(--surface-1,#fff));transform:scale(.98)}&.compose-voice-idle .type-escape:focus-visible{outline:var(--focus-outline,.125rem solid var(--heading));outline-offset:.125rem}&.compose-voice-listening:not(.compose-voice-idle),&.compose-voice-transcribing:not(.compose-voice-idle){border-color:color-mix(in srgb, var(--accent,var(--heading)), transparent 55%);box-shadow:var(--nestedShadow), 0 0 0 .0625rem color-mix(in srgb, var(--accent,var(--heading)), transparent 88%);height:calc(var(--bottomSpace) - 1.2em);min-height:5.5rem;max-height:calc(var(--bottomSpace) - 1.1em)}&.compose-voice-listening:not(.compose-voice-idle) label.compose-field,&.compose-voice-transcribing:not(.compose-voice-idle) label.compose-field{flex:none;height:100%;min-height:100%;display:block;position:absolute;inset:0}&.compose-voice-listening:not(.compose-voice-idle) label.compose-field textarea,&.compose-voice-transcribing:not(.compose-voice-idle) label.compose-field textarea{box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:none;padding:2.15rem 1.15rem 2.75rem;position:absolute;inset:0}&.compose-voice-listening:not(.compose-voice-idle) fieldset,&.compose-voice-transcribing:not(.compose-voice-idle) fieldset{z-index:2;flex-direction:row-reverse;align-items:center;gap:.5rem;display:flex;position:absolute;inset:auto .5em .5em}&.compose-voice-listening .recognition-button.mic-primary,&.compose-voice-listening .recognition-button.active{background:color-mix(in srgb, var(--accent,#c45c26), transparent 12%);color:var(--heading);box-shadow:0 0 0 .1875rem color-mix(in srgb, var(--accent,#c45c26), transparent 65%), 0 0 1.375rem color-mix(in srgb, var(--accent,#c45c26), transparent 55%);animation:1.25s ease-in-out infinite voice-pulse}& .recognition-button.voice-finish{place-items:center;display:inline-grid}& .recognition-button.voice-finish .recognition-icon{transition:opacity var(--motion-fast,.15s ease);grid-area:1/1}& .recognition-button.voice-finish .recognition-icon--enter{opacity:0;visibility:hidden;pointer-events:none}& .recognition-button.voice-finish:hover:not(:disabled),& .recognition-button.voice-finish:focus-visible:not(:disabled){animation:none}& .recognition-button.voice-finish:hover:not(:disabled) .recognition-icon--idle,& .recognition-button.voice-finish:focus-visible:not(:disabled) .recognition-icon--idle{opacity:0;visibility:hidden}& .recognition-button.voice-finish:hover:not(:disabled) .recognition-icon--enter,& .recognition-button.voice-finish:focus-visible:not(:disabled) .recognition-icon--enter{opacity:1;visibility:visible}&.compose-voice-idle .recognition-button.voice-finish .recognition-icon svg{max-width:1.65rem;max-height:1.65rem}&.compose-voice-idle.compose-voice-listening .voice-ring{border-color:color-mix(in srgb, var(--accent,#c45c26), transparent 45%);animation:1.6s ease-out infinite voice-ring-expand}&.compose-voice-idle.compose-voice-listening .voice-ring--delay{animation-delay:.45s}&.compose-voice-transcribing .recognition-button{opacity:.85;animation:1.1s linear infinite voice-spin-soft}&.compose-voice-draft{min-height:5.5rem;padding-bottom:.45rem}&.compose-voice-draft fieldset{justify-content:flex-end;gap:.5rem;inset:auto .55em .5em}&.compose-voice-draft .recognition-button.re-record{background:var(--surface-1,var(--elevatedFill));border:.0625rem solid var(--subtleBorder,var(--inputBorder))}&.compose-voice-draft label.compose-field textarea{min-height:3.6rem;padding-bottom:2.75rem;padding-right:5.5rem}&.compose-voice-primary:not(.compose-voice-idle) fieldset{flex-direction:row-reverse;justify-content:flex-start;align-items:center;gap:.5rem;display:flex;position:absolute;inset:auto .5em .5em}&.compose-voice-primary:not(.compose-voice-idle) .recognition-button.mic-primary{width:2.85rem;min-width:2.85rem;height:2.85rem;min-height:2.85rem}&.compose-voice-primary label.compose-field{flex:1;min-height:3.4rem;display:block;position:relative;inset:auto}&.compose-voice-primary label.compose-field textarea{width:100%;padding:.85rem 1rem 2.6rem;position:relative;inset:auto}&.compose-voice-idle .voice-status-band{white-space:nowrap;text-overflow:ellipsis;z-index:4;background:color-mix(in srgb, var(--surface-1,#fff), var(--heading) 6%);max-width:min(92%,20rem);box-shadow:var(--nestedShadow,none);border-radius:50rem;align-self:center;align-items:center;gap:.4rem;margin:.15rem 0 0;padding:.28rem .75rem;font-size:.68rem;font-weight:650;display:inline-flex;position:static;overflow:hidden;transform:none}&.compose-voice-listening:not(.compose-voice-idle) .voice-status-band,&.compose-voice-transcribing:not(.compose-voice-idle) .voice-status-band{z-index:4;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)), var(--accent,var(--heading)) 8%);max-width:min(92%,100% - 2rem);box-shadow:var(--nestedShadow,none);border-radius:50rem;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.28rem .85rem;font-size:.68rem;font-weight:650;display:inline-flex;position:absolute;inset:.4rem auto auto 50%;overflow:hidden;transform:translate(-50%)}& .voice-status-dot{background:var(--accent,#c45c26);border-radius:50rem;flex-shrink:0;width:.45rem;height:.45rem;animation:1s ease-in-out infinite voice-dot}&.compose-voice-transcribing .voice-status-dot{background:var(--heading);animation:.7s ease-in-out infinite voice-dot}&:hover{border-color:var(--inputBorderHover,var(--inputBorder))}&:focus-within{border-color:var(--inputBorderFocus,var(--heading));box-shadow:var(--inputFocusRing,var(--focus-ring));background:var(--surface-1,var(--elevatedFill))}&.compose-voice-idle:focus-within{background:linear-gradient(165deg, color-mix(in srgb, var(--surface-1,#fff), var(--heading) 3%) 0%, var(--softInputBg,var(--surface-2)) 55%, var(--surface-2,var(--softInputBg)) 100%)}& label{position:absolute;inset:0;& textarea{border-radius:var(--fieldRadius);height:auto;min-height:3.4rem;max-height:8rem;box-shadow:none;resize:none;letter-spacing:.005em;color:var(--heading);background:0 0;border:none;padding:.95rem 1.15rem;font-size:.92rem;line-height:1.45;position:absolute;inset:0;overflow-y:auto}& textarea:focus,& textarea:focus-visible{box-shadow:none;background:0 0;border:none;outline:none}}& fieldset{z-index:2;border:none;flex-direction:row-reverse;gap:.45em;margin:0;padding:0;display:flex;position:absolute;inset:auto .5em .5em;& button{width:var(--control-h);min-height:var(--control-h);min-width:var(--control-h);height:var(--control-h);box-shadow:none;background:var(--surface-1,var(--elevatedFill));color:var(--heading);transition:transform var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast);touch-action:manipulation;cursor:pointer;border:none;border-radius:50rem;justify-content:center;align-items:center;gap:0;padding:0;font-size:.7em;line-height:1;display:inline-flex;&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem);box-shadow:var(--focus-ring)}& svg{flex-shrink:0;width:1.1rem;height:1.1rem}&:hover{background:color-mix(in srgb, var(--surface-1), var(--heading) 5%)}&:active{transform:scale(.98)}&.primary,&[type=submit]{background:var(--heading);color:var(--uiBackground);border:none}&[type=submit]:disabled{opacity:.38;cursor:not-allowed;filter:none;box-shadow:none;transform:none}&[type=submit]:disabled:hover{background:var(--heading);color:var(--uiBackground)}&.stop-button,&.retry-button{white-space:nowrap;border-radius:50rem;gap:.35rem;width:auto;min-width:auto;height:auto;min-height:2.2rem;padding:.35rem .75rem;font-size:.72rem;line-height:1.2}&.recognition-button{position:relative;& .recognition-icon{place-items:center;line-height:0;display:grid}& .recognition-icon svg{width:1.1rem;height:1.1rem}&.active{color:var(--heading);background:color-mix(in srgb, var(--accent), transparent 72%);box-shadow:0 0 0 .125rem color-mix(in srgb, var(--accent), transparent 55%);animation:1.4s ease-in-out infinite voice-pulse}&.unsupported{opacity:.55}&:disabled{cursor:not-allowed}}&.type-escape--back{background:var(--surface-1,var(--elevatedFill));border:.0625rem solid var(--subtleBorder,var(--inputBorder))}}}& .voice-hint{z-index:3;border-radius:var(--pillRadius,50rem);letter-spacing:.01em;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)), transparent 8%);width:auto;box-shadow:none;justify-content:center;margin:0;padding:.15rem .45rem;font-size:.66rem;font-weight:600;line-height:1.35;display:inline-flex;position:absolute;inset:.5rem .5rem auto;overflow:hidden}&:has(#voice-error){border-color:var(--danger);box-shadow:var(--inputInvalidRing)}& .voice-error-card{box-sizing:border-box;border-radius:var(--controlRadius,.75rem);background:var(--dangerSoft,color-mix(in srgb, var(--danger) 14%, transparent));width:100%;max-width:100%;color:var(--danger);pointer-events:auto;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.35rem .55rem;margin:.45rem 0 0;padding:.55rem .65rem .6rem;display:grid}& .voice-error-icon{width:1.25rem;height:1.25rem;color:var(--danger);place-items:center;margin-top:.05rem;display:grid;& svg{width:1.15rem;height:1.15rem;display:block}}& .voice-error-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}& .voice-error-title{letter-spacing:-.01em;color:var(--danger);margin:0;font-size:.85rem;font-weight:700;line-height:1.3}& .voice-error-hint{color:var(--text);margin:0;font-size:.75rem;font-weight:500;line-height:1.4}& .voice-error-retry{border:.0625rem solid color-mix(in srgb, var(--danger) 35%, transparent);background:var(--surface-1,var(--elevatedFill));width:fit-content;min-height:2.35rem;color:var(--danger);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:50rem;grid-column:2;justify-content:center;align-items:center;gap:.35rem;margin:.05rem 0 0;padding:.25rem .7rem;font-size:.78rem;font-weight:650;display:inline-flex;& svg{width:.95rem;height:.95rem;display:block}&:hover{background:color-mix(in srgb, var(--danger) 10%, var(--surface-1,var(--elevatedFill)))}&:focus-visible{outline:var(--focus-outline,.125rem solid var(--heading));outline-offset:.125rem}}&.compose-voice-idle .recognition-button.mic-primary.is-error{background:var(--surface-1,var(--elevatedFill));color:var(--danger);box-shadow:0 0 0 .125rem var(--danger), 0 0 0 .28rem color-mix(in srgb, var(--danger) 28%, transparent)}&.compose-voice-idle .recognition-button.mic-primary.is-error:hover{background:color-mix(in srgb, var(--danger) 10%, var(--surface-1,var(--elevatedFill)));transform:none}& .voice-hint{color:var(--heading)}& .voice-hint.voice-listening{color:var(--heading);background:color-mix(in srgb, var(--surface-2,var(--chipFill)), var(--heading) 4%)}& .voice-listening .voice-interim{opacity:.72;font-weight:500}&:has(.voice-hint) label textarea{padding-top:1.85rem}&.compose-voice-listening:not(.compose-voice-idle):has(.voice-status-band) label textarea,&.compose-voice-transcribing:not(.compose-voice-idle):has(.voice-status-band) label textarea{padding-top:2.15rem}}footer.chat-compose:has(.compose-menu) .chat-compose-ctas{visibility:hidden}@keyframes compose-menu-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}.chat-thread-shell:has(#request-form.compose-voice-primary) .chat-send-hint,.chat-panel:has(#request-form.compose-voice-primary) .chat-send-hint,div:has(>#request-form.compose-voice-primary) .chat-send-hint{pointer-events:none;opacity:0!important;visibility:hidden!important}:has(#request-form.compose-voice-primary)>.chat-send-hint,:has(#request-form.compose-voice-primary) .chat-send-hint{opacity:0;visibility:hidden}html[data-shell=smartphone]{& form#request-form{inset:.4em .5em max(.4em, env(safe-area-inset-bottom,0));width:calc(100% - 1rem);height:calc(var(--bottomSpace,6.5rem) - 1em);min-height:4.25rem;max-height:calc(var(--bottomSpace,6.5rem) - .85em);border-radius:var(--fieldRadius);box-shadow:0 .0625rem .125rem color-mix(in srgb, var(--heading) 6%, transparent), 0 .35rem 1rem color-mix(in srgb, var(--heading) 8%, transparent);&.compose-type-first{height:calc(var(--bottomSpace,7.25rem) - 1.1em);min-height:4.75rem;max-height:calc(var(--bottomSpace,7.25rem) - .95rem)}& .compose-menu button{font-size:.85rem}&.compose-voice-primary{inset:.3em .45em max(.3em, env(safe-area-inset-bottom,0));width:calc(100% - .9rem);min-height:calc(var(--bottomSpace) - .9em);max-height:calc(var(--bottomSpace) - .7em);height:auto;overflow:visible}&.compose-voice-idle{justify-content:center;gap:0;padding:.35rem .5rem}&.compose-voice-idle .voice-idle-surface{flex-direction:row;justify-content:center;align-items:center;gap:.85rem;width:100%}&.compose-voice-idle .voice-cta,&.compose-voice-idle .voice-tap-hint{display:none}&.compose-voice-idle .type-escape{order:1}&.compose-voice-idle .voice-mic-stage{order:2;width:3.45rem;height:3.45rem;margin:0}&.compose-voice-idle .voice-ring{inset:.08rem}&.compose-voice-idle .voice-ring--delay{inset:-.04rem}&.compose-voice-idle .recognition-button.mic-primary{width:3.1625rem;min-width:3.1625rem;height:3.1625rem;min-height:3.1625rem;box-shadow:0 .25rem .85rem color-mix(in srgb, var(--heading), transparent 72%), 0 0 0 .125rem color-mix(in srgb, var(--heading), transparent 92%)}&.compose-voice-idle .recognition-button.mic-primary svg{--size:calc(1.1rem * 1.15);[data-state=idle] &{--size:calc(1.3rem * 1.15)}}&.compose-voice-idle .type-escape{gap:.4rem;min-height:2.2rem;margin:0;padding:0 .95rem;font-size:.72rem;position:relative}&.compose-voice-idle .type-escape svg{width:1rem;height:1rem}& label textarea{min-height:2.75rem;max-height:5.5rem;padding:.7rem .85rem;padding-right:calc(var(--hit-min,var(--control-h)) + .65rem);font-size:.9rem}&.compose-type-first label.compose-field textarea{height:100%;min-height:0;max-height:none;padding:.7rem .85rem 2.6rem;padding-right:calc(var(--hit-min,var(--control-h)) + .65rem)}&.compose-voice-draft label.compose-field textarea,&.compose-voice-primary:not(.compose-voice-idle) label.compose-field textarea{padding-right:calc(var(--hit-min,var(--control-h)) + .65rem);padding-bottom:calc(var(--hit-min,var(--control-h)) * 2 + .85rem)}& fieldset{flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end;gap:.3em;inset:auto .3em .3em auto;& button{width:var(--hit-min,var(--control-h));min-width:var(--hit-min,var(--control-h));min-height:var(--hit-min,var(--control-h));height:var(--hit-min,var(--control-h))}}&.compose-voice-primary:not(.compose-voice-idle) fieldset,&.compose-voice-draft fieldset{flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end;gap:.3em;inset:auto .3em .3em auto}& .voice-hint{inset:.4rem auto auto .7rem;right:calc(var(--hit-min,var(--control-h)) + .85rem);max-width:calc(100% - var(--hit-min,var(--control-h)) - 1.2rem);font-size:.62rem}& .voice-error-card{margin-top:.35rem;padding:.45rem .55rem .5rem}& .voice-error-title{font-size:.8rem}& .voice-error-hint{font-size:.72rem}& .voice-error-retry{min-height:2.45rem}&:has(.voice-hint) label textarea{padding-top:1.65rem}}}html[data-shell=smartphone][data-shell-landscape=short]{& form#request-form{width:calc(100% - .8em);height:calc(var(--bottomSpace,5.5rem) - .85em);inset:.4em;&.compose-voice-idle{min-height:5rem;padding:.35rem}&.compose-voice-idle .voice-cta{font-size:.68rem}&.compose-voice-idle .voice-mic-stage{width:3.68rem;height:3.68rem}&.compose-voice-idle .recognition-button.mic-primary{width:3.1625rem;min-width:3.1625rem;height:3.1625rem;min-height:3.1625rem}& label textarea{min-height:2.25rem;max-height:3.5rem;padding:.45rem .65rem;font-size:.85rem}}}@media (prefers-reduced-motion:reduce){form#request-form{& .recognition-button.active,& .voice-ring,& .voice-status-dot,&.compose-voice-transcribing .recognition-button{animation:none!important}}}html[data-shell=desktop] form#request-form#request-form,html[data-shell=tablet] form#request-form#request-form{border:.0625rem solid var(--line);border-radius:var(--fieldRadius);background:var(--surface-1);box-shadow:none;&:hover{border-color:var(--ring)}&:focus-within{border-color:var(--heading);box-shadow:none}&.compose-voice-idle:is(:hover,:focus-within){border-color:var(--line)}&.compose-voice-idle .voice-idle-surface{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:.35rem .75rem;display:grid}&.compose-voice-idle .voice-cta{grid-column:1/-1;justify-self:center}&.compose-voice-idle .voice-tap-hint{display:none}&.compose-voice-idle .type-escape{margin:0}& label,& label textarea,& fieldset{position:static;inset:auto}&:is(.compose-voice-listening,.compose-voice-transcribing):not(.compose-voice-idle){flex-direction:column;display:flex;& .voice-status-band{max-width:none;box-shadow:none;color:var(--heading);background:0 0;border-radius:0;order:-1;justify-content:flex-start;align-self:stretch;gap:.45rem;margin:0;padding:.7rem .95rem 0;font-size:.75rem;font-weight:600;position:static;transform:none}& label textarea{padding-top:.35rem}}&.compose-voice-listening:not(.compose-voice-idle,.compose-voice-transcribing){border-color:color-mix(in srgb, var(--danger) 45%, var(--line));& .voice-status-dot{background:var(--danger)}}& label,&.compose-type-first label.compose-field{height:auto;min-height:0;display:block}& label textarea,&.compose-type-first label.compose-field textarea{box-sizing:border-box;width:100%;height:auto;min-height:3rem;max-height:8rem;padding:.75rem .95rem .2rem;display:block}& fieldset{flex-direction:row-reverse;align-items:center;gap:.4rem;min-height:2.75rem;padding:.25rem .45rem .45rem;display:flex;& button{background:var(--wash);width:2.375rem;min-width:2.375rem;height:2.375rem;min-height:2.375rem;&:hover{background:var(--heading);color:var(--surface-1)}&.primary,&[type=submit]{background:var(--heading);color:var(--surface-1);&:hover:not(:disabled){background:color-mix(in srgb, var(--heading), var(--surface-1) 14%)}}}}}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes voice-ring-expand{0%{opacity:.55;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}@keyframes voice-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes voice-spin-soft{0%{filter:brightness()}50%{filter:brightness(1.08)}to{filter:brightness()}}@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-price-sticky{box-sizing:border-box;width:100%;max-width:100%;padding:.45rem max(.85rem, env(safe-area-inset-right,0)) .45rem max(.85rem, env(safe-area-inset-left,0));border:none;border-bottom:.0625rem solid var(--line);background:color-mix(in srgb, var(--surface-1,var(--uiBackground)) 88%, transparent);-webkit-backdrop-filter:blur(.625rem);cursor:pointer;text-align:left;min-height:2.75rem;transition:padding var(--motion-fast), opacity var(--motion-fast), background var(--motion-fast);border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin:0;display:flex;&.is-compact{opacity:.96;min-height:2.25rem;padding-block:.22rem;& .label{font-size:.58rem}& .value{font-size:.82rem}}&:hover{background:color-mix(in srgb, var(--heading) 5%, var(--surface-1,var(--uiBackground)))}&:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}& .label{letter-spacing:.08em;text-transform:uppercase;min-width:0;max-width:40%;color:var(--textSecondary,var(--textMuted,var(--text)));text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.65rem;font-weight:650;overflow:hidden}& .value{font-variant-numeric:tabular-nums;min-width:0;color:var(--heading,var(--text));text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:.88rem;font-weight:650;overflow:hidden}html[data-shell=tablet] &{min-height:2.85rem;padding-block:.5rem;padding-inline:.9rem;& .value{font-size:.92rem}}html[data-shell=smartphone] &{min-height:3rem}}.sk-shimmer{background:linear-gradient(90deg, color-mix(in srgb, var(--heading), transparent 94%) 0%, color-mix(in srgb, var(--heading), transparent 88%) 45%, color-mix(in srgb, var(--heading), transparent 94%) 100%);background-size:200% 100%;animation:1.25s ease-in-out infinite sk-shimmer}.chat-skeleton{flex-direction:column;gap:1.15rem;width:100%;padding:.35rem 0 .75rem;display:flex}.chat-skeleton-row{flex-direction:column;gap:.45rem;max-width:88%;display:flex}.chat-skeleton-row.is-user{align-self:flex-end;align-items:flex-end;max-width:72%}.chat-skeleton-row .sk-line{border-radius:.55rem;width:100%;height:.85rem;display:block}.chat-skeleton-row .sk-line.sk-bubble{border-radius:var(--cardRadius,1rem);width:min(100%,16rem);height:3.1rem}.chat-skeleton-row .sk-line.sk-short{width:58%;height:.7rem}.chat-skeleton-row.is-user .sk-line.sk-bubble{width:min(100%,11rem);height:2.4rem}.chat-history-skel{flex-direction:column;gap:.45rem;width:min(100%,14rem);margin:.35rem auto .65rem;padding:.35rem .5rem;display:flex}.chat-history-skel .sk-line{border-radius:50rem;width:100%;height:.65rem}.chat-history-skel .sk-line:nth-child(2){width:78%}@media (prefers-reduced-motion:reduce){.sk-shimmer,.chat-skeleton-row .sk-line,.chat-history-skel .sk-line,.chat-entry,.chat-empty{animation:none}}.chat-entry{align-items:flex-start;gap:var(--space-2,.5rem);width:100%;margin-bottom:var(--space-4,1rem);animation:chat-enter var(--motion-med) both;flex-direction:column;display:flex;&.assistant{scroll-margin-top:.5rem}html[data-shell=tablet] &{gap:.4rem;margin-bottom:.85rem;&.tool .message .content{width:100%}& .assets .timestamp{font-size:.7rem}}html[data-shell=smartphone] &{gap:.35rem;margin-bottom:.7rem;& .assets .avatar{--size:1.15em}& .assets .timestamp{font-size:.68rem}&.tool .message .content{width:100%}}& .assets{align-items:center;gap:var(--space-2,.5rem);width:100%;display:flex;& .timestamp{font-size:var(--fs-xs,.72rem);color:var(--textTertiary,var(--textMuted));letter-spacing:.01em}html[data-theme=light] & .timestamp{color:var(--textSecondary,var(--textMuted))}& .avatar{--size:1.25em;--halfSize:calc(var(--size) / 2);width:var(--size);height:var(--size);background:color-mix(in srgb, var(--heading), var(--background) 22%);color:var(--background);aspect-ratio:1;box-shadow:none;border:none;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{max-width:100%;text-shadow:0 .0625rem 0 var(--textShadowColor);background:0 0;flex-direction:column;flex:1;gap:.15em;padding:.18em .2em;display:flex;& .content{width:fit-content;max-width:100%;display:block;overflow:auto;& .markdown-body{margin-bottom:.25em}}& p,& .markdown-body p{font-weight:400}& .qa-marked{align-items:center;gap:.35em;margin:.45em 0 0;font-size:.72rem;font-weight:650;line-height:1.2;display:flex;& span{color:var(--success);display:inline-flex}& svg{width:.85rem;height:.85rem}}& .think-wait{--think-loop:3.2s;align-items:flex-start;gap:.85rem;padding:.15rem 0;display:flex}& .think-skel{flex-direction:column;gap:.6rem;width:min(18rem,62vw);display:flex}& .think-skel .sk-line{height:.5rem;display:block;position:relative}& .think-skel .sk-word{--glow:1.8s;--glow-at:0s;width:calc(var(--w) * 1%);background:color-mix(in srgb, var(--heading) 7%, transparent);transform-origin:0;animation:think-line-in .45s cubic-bezier(.22, 1, .36, 1) both, think-glow var(--glow) ease-in-out infinite;animation-delay:calc(var(--row) * 80ms + var(--x) * 5ms), calc(.5s + var(--glow-at));border-radius:.5rem;position:absolute;inset-block:0;inset-inline-start:calc(var(--x) * 1%);html[dir=rtl] &{transform-origin:100%}&[data-glow="2"]{--glow:2.3s;--glow-at:.9s}&[data-glow="3"]{--glow:1.5s;--glow-at:.4s}&[data-glow="4"]{--glow:2.7s;--glow-at:1.4s}&[data-glow="5"]{--glow:1.3s;--glow-at:1.1s}&[data-glow="6"]{--glow:2.1s;--glow-at:.2s}}& .think-label{letter-spacing:.01em;color:var(--textSecondary,var(--textMuted));margin:.15rem 0 0;font-size:.75rem;font-weight:650;line-height:1.3}& .think-hint{color:var(--textSecondary,var(--textMuted));margin:-.35rem 0 0;font-size:.72rem;line-height:1.35}}&.widget{flex-direction:column;padding:.5em 0;& .message{width:100%;& .content{width:100%;max-width:100%}}}&.tool{flex-direction:column;& .assets{flex-direction:row-reverse}& .message{align-self:stretch;width:100%;min-width:0}& .message .content{width:100%;min-width:0;max-width:100%;overflow:visible}}&.tool.insight-stack-entry{overflow:visible;& .message,& .message .content{overflow:visible}}&:not(.assistant):not(.think):not(.tool):not(.widget):not(.error){& .message .content{border-radius:var(--cardRadius,1rem);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-2), var(--heading) 5%) 0%, var(--surface-2,var(--chipFill)) 100%);box-shadow:var(--nestedShadow);color:var(--heading);max-width:min(100%, calc(var(--measure,40ch) * 1.35));line-height:var(--lh-body,1.5);font-size:var(--fs-md,.95rem);border:none;padding:.75em 1rem}}&.assistant,&.think,&.coach{flex-direction:column;& .assets{flex-direction:row-reverse}& .message{align-self:stretch;width:100%}& .message .content{border-radius:var(--cardRadius,1rem);background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)) 92%, var(--heading) 8%);width:100%;max-width:100%;box-shadow:var(--nestedShadow);font-size:var(--fs-md,.95rem);font-weight:400;line-height:var(--lh-body,1.55);color:var(--heading);border:none;padding:.85rem 1.05rem;overflow:auto;html[data-theme=light] &{background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)) 32%, #fff)}}& .message .content:has(.chat-coach-actions),& .message .content:has(.reply-choices){width:100%}& .reply-choices{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}& .reply-choices button{box-sizing:border-box;border-radius:var(--pillRadius);border:.0625rem solid var(--line);min-height:2.5rem;color:var(--heading);font:inherit;font-size:.76rem;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;background:0 0;padding:.35rem .75rem;line-height:1.2}& .reply-choices button.confirm{color:var(--surface-1);background:var(--heading);border-color:#0000}& .reply-choices button:hover:not(:disabled):not(.confirm){border-color:var(--ring);background:var(--wash)}& .reply-choices button.confirm:hover:not(:disabled){background:var(--fill-hover)}& .reply-choices button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .reply-choices button:disabled{cursor:default;opacity:.55}& .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{& .turn-status{letter-spacing:.01em;color:var(--textSecondary,var(--textMuted,var(--text)));margin:.55em 0 0;font-size:.75rem;font-weight:650;animation:1.2s ease-in-out infinite chat-pulse}& .stream-cursor{vertical-align:text-bottom;background:var(--heading);border-radius:.08em;width:.42em;height:.95em;margin-left:.12em;animation:.9s step-end infinite stream-blink;display:inline-block}}}&.think .message .content{overflow:hidden}&,&.assistant,&.user{& .message{& .entry-actions{opacity:1;flex-wrap:wrap;gap:.4rem;margin:.55rem 0 0;display:flex;& .entry-action{color:var(--text);cursor:pointer;touch-action:manipulation;min-width:0;height:auto;min-height:0;text-shadow:none;box-shadow:none;background:0 0;border:none;border-radius:.2rem;justify-content:center;align-items:center;gap:.35em;padding:0;font-size:.72rem;font-weight:650;line-height:1.2;display:inline-flex;& svg{width:.85rem;height:.85rem}&.copied{color:var(--heading);background:0 0}&:hover{color:var(--heading);text-underline-offset:.16em;background:0 0;text-decoration:underline;transform:none}&:active{transform:none}&:focus-visible{outline:var(--focus-outline);outline-offset:.125rem}}}}}& .tool-card{border-radius:var(--cardRadius,var(--panelRadius));background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)) 92%, var(--heading) 8%);box-shadow:var(--nestedShadow);color:var(--text);border:none;padding:.85rem 1rem;html[data-theme=light] &{background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)) 32%, #fff)}}& .tool-card.error{background:color-mix(in srgb, var(--danger) 10%, var(--surface-1));box-shadow:inset 0 0 0 .125rem color-mix(in srgb, var(--danger) 22%, transparent);border:none}& .tool-card-head{align-items:center;gap:.45rem;margin-bottom:.35rem;display:flex}& .tool-card-icon{width:1.1rem;height:1.1rem;color:var(--heading,var(--text));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}& .tool-card.error .tool-card-icon{color:var(--danger,#c0392b)}& .tool-card-icon svg{width:100%;height:100%;display:block}& .tool-card-title{color:var(--text);font-size:.82rem;font-weight:650}& .tool-card-body{color:var(--text);font-size:.8rem}& .photo-render-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em;width:100%;margin-top:.75em;display:grid;& figure{background:var(--surface-2,var(--chipFill));border:none;border-radius:.45em;margin:0;overflow:hidden;& button{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;min-height:0;margin:0;padding:0;display:block}& button:focus-visible{outline:var(--focus-outline);outline-offset:calc(-1 * var(--focus-offset,.125rem))}& img{aspect-ratio:3/2;object-fit:cover;filter:none;width:100%;height:auto;display:block}}}&.error{flex-direction:column;& .avatar{background:var(--danger);color:var(--surface-1);& svg{stroke:currentColor}}& .message{color:inherit;text-shadow:none;background:0 0;border:none;padding:0;& .content{border-radius:var(--cardRadius,1rem);background:color-mix(in srgb, var(--danger) 12%, var(--surface-1,var(--elevatedFill)));color:var(--heading);box-shadow:inset 0 0 0 .125rem color-mix(in srgb, var(--danger) 24%, transparent);padding:.85rem 1.05rem}}}}html[data-shell=desktop] .chat-entry,html[data-shell=tablet] .chat-entry,html[data-shell=smartphone] .chat-entry{grid-template-columns:auto auto 1fr;grid-template-areas:"content content content""actions time.";align-items:center;gap:.25rem .35rem;margin-bottom:0;display:grid;& .message{display:contents}& .message .content{grid-area:content}& .message .entry-actions{grid-area:actions}& .assets{grid-area:time;width:auto}& .assets .avatar{display:none}& .assets .timestamp{font-size:.7rem}&:not(.assistant):not(.think):not(.tool):not(.widget):not(.error):not(.coach){--bubble:var(--heading);grid-template-columns:1fr auto auto;grid-template-areas:"content content content"".time actions";& .message .content{--heading:var(--surface-1);--text:var(--surface-1);background:var(--bubble);max-width:85%;box-shadow:none;color:var(--surface-1);font-size:var(--chat-msg-size,.92rem);border-radius:1.15rem 1.15rem .35rem;justify-self:end;padding:.6rem .95rem}}&.assistant,&.think{& .message .content{box-shadow:none;font-size:var(--chat-msg-size,.92rem);background:0 0;border-radius:0;padding:0}}& .message .entry-actions{gap:.25rem;margin:0;& .entry-action{border-radius:var(--pillRadius);min-height:1.5rem;color:var(--textSecondary);font-size:.72rem;font-weight:var(--button-weight);padding:0 .55rem;&:hover{background:color-mix(in srgb, var(--heading) 6%, transparent);color:var(--heading);text-decoration:none}}}@media (hover:hover) and (pointer:fine){& .assets .timestamp,& .message .entry-actions{opacity:0;transition:opacity var(--motion-fast)}&:hover,&:focus-within{& .assets .timestamp,& .message .entry-actions{opacity:1}}}}html[data-shell=smartphone] .chat-entry{--chat-msg-size:.82rem;&.assistant .message .content,& .markdown-body{line-height:1.45}}.chat-entry[data-chat-role=user]+.chat-entry:not([data-chat-role=user]){margin-block-start:-.5rem}.chat-entry:not([data-chat-role=user])+.chat-entry[data-chat-role=user]{margin-block-start:.75rem}.chat-entry.assistant .markdown-body{max-inline-size:72ch}.chat-entry[data-question]:focus{outline:none}.chat-entry[data-flash] .message .content{animation:1.6s ease-out both chat-flash}@keyframes chat-flash{0%,45%{box-shadow:0 0 0 .1875rem var(--background), 0 0 0 .375rem color-mix(in srgb, var(--heading) 45%, transparent)}to{box-shadow:0 0 0 .1875rem #0000,0 0 0 .375rem #0000}}.ceiling-cabinets-schematic.think-sketch{--think-step:90ms;width:auto;height:4.25rem;max-height:none;color:var(--heading);flex:none;overflow:visible;& .plane,& .plinth,& .cab,& .worktop,& .shelf{fill:currentColor;fill-opacity:var(--clay,0)}& .plane{stroke-width:2.6px}& .plinth,& .cab,& .worktop,& .shelf{stroke-width:1.9px}& .cab{--clay:.1}& .plinth{--clay:.2}& .worktop,& .shelf{--clay:.32}@media (prefers-reduced-motion:no-preference){& .plane{stroke-dasharray:var(--len);animation:think-draw .5s cubic-bezier(.22, 1, .36, 1) both, think-tick var(--think-loop) linear infinite}& .plinth,& .cab,& .worktop,& .shelf{fill-opacity:0;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:think-build var(--think-loop) cubic-bezier(.22, 1, .36, 1) infinite;animation-delay:calc(var(--i) * var(--think-step))}& .void{opacity:0;animation:think-wall var(--think-loop) ease-out infinite;animation-delay:calc(var(--i) * var(--think-step))}}}@keyframes think-build{0%{opacity:1;stroke-dashoffset:var(--len);fill-opacity:0}16%{stroke-dashoffset:0;fill-opacity:0}28%{fill-opacity:var(--clay,0)}66%{opacity:1}78%,to{opacity:0;stroke-dashoffset:0;fill-opacity:var(--clay,0)}}@keyframes think-draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@keyframes think-tick{to{opacity:1}}@keyframes think-line-in{0%{scale:0 1}}@keyframes think-glow{50%{background-color:color-mix(in srgb, var(--heading) 16%, transparent)}}@keyframes think-wall{0%,16%{opacity:0}30%,66%{opacity:1}78%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-entry{animation:none}.chat-entry[data-flash] .message .content{box-shadow:0 0 0 .1875rem var(--background), 0 0 0 .375rem color-mix(in srgb, var(--heading) 45%, transparent);animation:none}.chat-entry .turn-status,.chat-entry .stream-cursor,.chat-entry .think-skel .sk-word{animation:none}.chat-entry .entry-action:active{transform:none}}.chat-coach-actions{flex-wrap:wrap;gap:.5rem;width:100%;margin-top:.75rem;display:flex}.chat-coach-action{box-sizing:border-box;border-radius:var(--pillRadius);border:.0625rem solid var(--line);min-height:2.75rem;font:inherit;font-size:.82rem;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;color:var(--heading);transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;padding:.45rem .9rem;line-height:1.2;&:hover:not(:disabled){border-color:var(--ring);background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}.chat-coach-action.is-primary{color:var(--surface-1);background:var(--heading);box-shadow:var(--buttonShadow);border-color:#0000;&:hover:not(:disabled){background:var(--fill-hover);border-color:#0000}}.chat-coach-action.is-secondary{background:var(--wash)}.chat-coach-action.is-ghost{opacity:.88;background:0 0;border-color:#0000;min-height:2.75rem;padding-inline:.65rem}.chat-coach-action:focus-visible{outline:var(--focus-outline,.125rem solid var(--heading));outline-offset:.125rem}.chat-coach-action:active{transform:scale(.98)}.chat-coach-hints{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.chat-coach-hint{box-sizing:border-box;border-radius:var(--pillRadius);border:.0625rem solid var(--line);min-height:2.5rem;color:var(--heading);font:inherit;font-size:.76rem;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;padding:.35rem .75rem}.chat-coach-hint:hover{border-color:var(--ring);background:var(--wash)}.chat-coach-hint:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}html[data-shell=smartphone]{& .chat-coach-hint{min-height:2.75rem}}.chat-coach-status{opacity:.72;margin:.55rem 0 0;font-size:.78rem;font-weight:550}.consult-note-action{box-sizing:border-box;border-radius:var(--pillRadius);border:.0625rem solid var(--line);min-height:2.75rem;font:inherit;font-size:.82rem;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;color:var(--heading);transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;align-items:center;gap:.4em;margin-top:.75rem;padding:.45rem .9rem;line-height:1.2;display:inline-flex;& span{display:inline-flex}& svg{width:1.1em;height:1.1em}&:hover{border-color:var(--ring);background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}.kitchen-insight{--insight-hero-mb:1rem;--insight-pad-x:1rem;--insight-pad-y:1rem;--insight-line:var(--divider,transparent);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:var(--insight-pad-y) var(--insight-pad-x);border-radius:var(--cardRadius);border:.0625rem solid var(--line);background:var(--surface-1);box-shadow:none;text-align:left;color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:0 .75rem;display:flex;&>header{letter-spacing:.08em;text-transform:uppercase;color:var(--heading);flex:1 0 100%;margin:0 0 .65em;font-size:.68rem;font-weight:700}&>.score{font-variant-numeric:tabular-nums;letter-spacing:-.04em;min-width:0;margin:0 0 var(--insight-hero-mb);color:var(--text);text-wrap:balance;flex:auto;font-size:1.55rem;font-weight:600;line-height:1.15}&>.badge{margin:0 0 var(--insight-hero-mb)}& .badge{text-transform:uppercase;letter-spacing:.08em;border:.0625rem solid color-mix(in srgb, var(--insight-accent) 28%, transparent);background:color-mix(in srgb, var(--insight-accent) 12%, transparent);color:var(--insight-accent);border-radius:50rem;padding:.45em .95em;font-size:.55rem;font-weight:600;line-height:1.2;&.excellent,&.good{--insight-accent:var(--success)}&.fair,&.studio{--insight-accent:var(--alert)}&.critical{--insight-accent:color-mix(in srgb, var(--danger) 78%, var(--alert))}}& .chips{border-top:.0625rem solid var(--insight-line);flex-wrap:wrap;flex:1 0 100%;gap:.75rem 1.5rem;margin:0;padding:.75rem 0 0;list-style:none;display:flex}& .chip{background:0 0;flex-direction:column;align-items:flex-start;gap:.2em;min-width:0;max-width:100%;margin:0;padding:0;display:flex;& .value{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.05rem;font-weight:600;line-height:1.15}& .hint{color:var(--textSecondary,var(--textMuted,var(--text)));white-space:normal;overflow-wrap:anywhere;font-size:.7rem;font-weight:500;line-height:1.35}&.warn{border-radius:var(--pillRadius,.75rem);border:.0625rem solid color-mix(in srgb, var(--alert) 22%, transparent);background:color-mix(in srgb, var(--alert) 10%, transparent);padding:.35em .55em;& .value{color:var(--alert)}}}}.kitchen-insight.pricing>.score{letter-spacing:-.04em;flex:1 0 100%;margin-bottom:.35rem;font-size:1.5rem}.kitchen-insight.pricing .chips{flex-direction:column;gap:.5rem}.kitchen-insight.evaluation .chips{gap:1rem 2rem}.kitchen-insight.pricing>.includes{color:var(--textSecondary,var(--textMuted));flex:1 0 100%;margin:-.2rem 0 .35rem;font-size:.78rem}.kitchen-insight.evaluation>.score{font-feature-settings:"tnum" 1;min-width:1.5ch}html[data-shell=tablet]{& .kitchen-insight{--insight-pad-x:.9rem;--insight-pad-y:.9rem}& .kitchen-insight>.score{font-size:1.45rem}& .kitchen-insight.pricing>.score{font-size:1.4rem}& .kitchen-insight .chips{gap:.65rem 1.25rem}& .kitchen-insight .chip .hint{font-size:.68rem}}html[data-shell=smartphone]{& .kitchen-insight{--insight-pad-x:.8rem;--insight-pad-y:.75rem;border-radius:.95rem}& .kitchen-insight>header{margin-bottom:.45em;font-size:.55rem}& .kitchen-insight>.score{font-size:1.35rem}& .kitchen-insight.pricing>.score{font-size:1.2rem}& .kitchen-insight .chips{gap:.45rem 1rem;padding-top:.55rem}& .kitchen-insight .chip .value{font-size:.85rem}& .kitchen-insight .chip .hint{font-size:.6rem}}.chat-thread-nav{z-index:3;pointer-events:none;position:absolute;&>*{pointer-events:auto}}aside#chat:has(#booking-wrapper,#photo-render-wrapper)>.chat-thread-nav{display:none}aside#chat:has(.chat-timeline)>article.chat-history{padding-inline-end:1.75rem}.chat-timeline{align-items:center;display:flex;position:absolute;inset-block:.75rem;inset-inline-end:.125rem;& .rail{scrollbar-width:none;border-radius:var(--pillRadius);opacity:.5;cursor:pointer;touch-action:manipulation;width:1.5rem;max-height:100%;transition:opacity var(--motion-fast);background:0 0;border:none;flex-direction:column;align-items:flex-end;gap:.4375rem;padding:.625rem .375rem;display:flex;overflow-y:auto;&:hover,&:focus-visible{opacity:1}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}&[data-open] .rail{opacity:1}& .tick,& .mark{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--heading) 30%, transparent);width:.625rem;height:.125rem;transition:width var(--motion-fast), background var(--motion-fast);flex:none}& .tick[data-active]{background:var(--heading);width:1rem}& .panel{--gutter:.375rem;z-index:2;width:min(17rem,72vw);max-height:100%;padding:var(--gutter);border:.0625rem solid var(--line);border-radius:var(--cardRadius);background:var(--surface-1);box-shadow:var(--floatShadow);animation:chat-enter var(--motion-fast) both;flex-direction:column;display:flex;position:absolute;inset-inline-end:calc(100% + .25rem);&:after{content:"";width:.3125rem;position:absolute;inset-block:0;inset-inline-start:100%}}& header{color:var(--textSecondary,var(--textMuted));letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:.75rem;padding:.375rem .625rem .5rem;font-size:.65rem;font-weight:650;display:flex;&>span{font-weight:inherit}}& .count{letter-spacing:.04em}& .list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto;& li{margin:0}& button{border-radius:calc(var(--cardRadius) - var(--gutter));width:100%;min-height:2.25rem;color:var(--textSecondary,var(--textMuted));text-align:start;white-space:normal;cursor:pointer;transition:color var(--motion-fast);background:0 0;border:none;grid-template-columns:1rem minmax(0,1fr);align-items:start;gap:.5rem;padding:.5rem .625rem;font-size:.8rem;line-height:1.35;display:grid;&:hover{color:var(--heading);& .mark{background:color-mix(in srgb, var(--heading) 60%, transparent)}}&:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}&[aria-current=true]{color:var(--heading);& .mark{background:var(--heading);width:1rem}& .text{font-weight:var(--button-weight)}}}& .mark{margin-block-start:calc(.675em - .0625rem)}& .text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:450;display:-webkit-box;overflow:hidden;& bdi{font-weight:inherit}}}html[data-shell=smartphone] &{inset-inline-end:0;& .rail{gap:.5rem;width:1.75rem}& .panel{width:min(18rem,78vw)}& .list button{min-height:2.75rem;padding-block:.625rem;font-size:.86rem}}}html[data-shell=smartphone] aside#chat:has(.chat-timeline)>article.chat-history{padding-inline-end:1.875rem}.chat-jump{inset-inline:0;border:.0625rem solid var(--line);border-radius:var(--pillRadius);background:var(--surface-1);width:fit-content;min-width:2.25rem;min-height:2.25rem;color:var(--heading);box-shadow:var(--floatShadow);cursor:pointer;touch-action:manipulation;animation:chat-enter var(--motion-fast) both;transition:background var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;gap:.35rem;margin-inline:auto;padding:0 .5rem;font-size:.78rem;display:inline-flex;position:absolute;bottom:.75rem;& svg{width:1.1rem;height:1.1rem}& .count{font-weight:var(--button-weight);padding-inline-end:.3rem}&:hover{background:var(--heading);color:var(--surface-1);border-color:#0000}&[data-new]{background:var(--heading);color:var(--surface-1);border-color:#0000;&:hover{background:var(--fill-hover)}}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}html[data-shell=smartphone] &{min-width:2.75rem;min-height:2.75rem}}.chat-day{color:var(--textSecondary,var(--textMuted));letter-spacing:.02em;align-items:center;gap:.75rem;margin-block:.25rem;font-size:.72rem;font-weight:600;display:flex;&:before,&:after{content:"";background:var(--line);flex:1;height:.0625rem}}@media (prefers-reduced-motion:reduce){.chat-timeline .panel,.chat-jump{animation:none}}.insight-stack{--stack-peek:1.5rem;--stack-tuck:1.1rem;--stack-spread:.4rem;--stack-gap:.5rem;--stack-turn-gap:1.15rem;--stack-motion:var(--motion-med,.28s ease);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;outline:none;width:100%;min-width:0;max-width:100%;position:relative;overflow:visible}.insight-stack:focus-visible{outline:var(--focus-outline,.125rem solid var(--heading));outline-offset:.2rem;border-radius:var(--cardRadius,1rem)}.insight-stack-deck{width:100%;transition:gap var(--stack-motion);flex-direction:column;align-items:stretch;gap:0;display:flex;position:relative;overflow:visible}.insight-stack-card{transform-origin:top;width:100%;min-width:0;transition:transform var(--stack-motion), opacity var(--stack-motion), max-height var(--stack-motion), margin var(--stack-motion), padding var(--stack-motion), filter var(--stack-motion);overflow:visible}.insight-stack-card .kitchen-insight{box-shadow:var(--nestedShadow)}.insight-stack.is-collapsed .insight-stack-deck{flex-direction:column;gap:0;display:flex}.insight-stack.is-collapsed .insight-stack-card:first-child{z-index:calc(var(--stack-n) + 1);flex:none;max-height:none;position:relative;overflow:visible}.insight-stack.is-collapsed .insight-stack-card:not(:first-child){--stack-steps:max(1, calc(var(--stack-n) - 1));--stack-fade:max(.15, calc(1 - (var(--i) - 1) * .85 / var(--stack-steps)));z-index:calc(var(--stack-n) - var(--i));flex-direction:column;flex:0 0 var(--stack-peek);height:var(--stack-peek);max-height:var(--stack-peek);margin-top:calc(var(--stack-tuck) * -1);border-radius:var(--cardRadius,1rem);pointer-events:none;width:100%;opacity:var(--stack-fade);justify-content:flex-end;margin-inline:0;display:flex;position:relative;overflow:visible;transform:none}@media (hover:hover) and (pointer:fine){.insight-stack.is-collapsed:hover .insight-stack-card:not(:first-child){margin-top:calc((var(--stack-tuck) - var(--stack-spread)) * -1)}}.insight-stack.is-collapsed:focus-visible .insight-stack-card:not(:first-child){margin-top:calc((var(--stack-tuck) - var(--stack-spread)) * -1)}.insight-stack.is-collapsed .insight-stack-card:not(:first-child) .kitchen-insight{height:calc(var(--stack-peek) + var(--cardRadius,1rem));min-height:calc(var(--stack-peek) + var(--cardRadius,1rem));box-sizing:border-box;border-radius:var(--cardRadius,1rem);border:.0625rem solid color-mix(in srgb, var(--heading) calc(var(--stack-fade) * 7%), transparent);box-shadow:0 .0625rem .125rem color-mix(in srgb, var(--heading) calc(var(--stack-fade) * 6%), transparent), 0 .25rem .875rem color-mix(in srgb, var(--heading) calc(var(--stack-fade) * 7%), transparent);filter:none;flex:none;align-content:stretch;padding:0}.insight-stack.is-collapsed .insight-stack-card:not(:first-child) .kitchen-insight>.score,.insight-stack.is-collapsed .insight-stack-card:not(:first-child) .kitchen-insight>.badge,.insight-stack.is-collapsed .insight-stack-card:not(:first-child) .kitchen-insight>.chips,.insight-stack.is-collapsed .insight-stack-card:not(:first-child) .kitchen-insight>header{visibility:hidden;border:none;height:0;margin:0;padding:0;overflow:hidden}.insight-stack.is-expanded{cursor:pointer}.insight-stack.is-expanded .insight-stack-deck{gap:var(--stack-turn-gap)}.insight-stack.is-expanded .insight-stack-turn{gap:var(--stack-gap);flex-direction:column;width:100%;min-width:0;display:flex}.insight-stack.is-expanded .insight-stack-card{z-index:1;opacity:1;pointer-events:auto;border-radius:0;flex:none;width:100%;height:auto;max-height:none;margin:0;display:block;position:relative;overflow:visible;transform:none}.insight-stack.is-expanded .insight-stack-card .kitchen-insight{filter:none;border-radius:var(--cardRadius,var(--panelRadius));border-top:.0625rem solid var(--line);height:auto;min-height:0;box-shadow:var(--nestedShadow);padding-block:var(--insight-pad-y,1rem)}.insight-stack.is-expanded .insight-stack-card .kitchen-insight>.score,.insight-stack.is-expanded .insight-stack-card .kitchen-insight>.badge,.insight-stack.is-expanded .insight-stack-card .kitchen-insight>.chips,.insight-stack.is-expanded .insight-stack-card .kitchen-insight>header{visibility:visible;white-space:normal;height:auto;overflow:visible}.insight-stack.is-expanded .insight-stack-badge{display:none}.insight-stack-badge{z-index:calc(var(--stack-n) + 4);font-variant-numeric:tabular-nums;min-width:1.35rem;height:1.35rem;color:var(--surface-1,#fff);background:var(--heading,#1a1a1a);box-shadow:0 .1rem .35rem color-mix(in srgb, var(--heading) 25%, transparent);pointer-events:none;border-radius:50rem;place-items:center;padding:0 .35rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-grid;position:absolute;top:.55rem;right:.55rem}.chat-entry.tool.insight-stack-entry,.chat-entry.tool.insight-stack-entry .message,.chat-entry.tool.insight-stack-entry .message .content{overflow:visible}html[data-shell=tablet]{& .insight-stack{--stack-peek:1.35rem;--stack-tuck:1rem;--stack-spread:.35rem;--stack-gap:.45rem;--stack-turn-gap:1.05rem}& .insight-stack-badge{min-width:1.3rem;height:1.3rem;font-size:.62rem;top:.5rem;right:.5rem}& .chat-entry.tool.insight-stack-entry{margin-bottom:.85rem}}html[data-shell=smartphone]{& .insight-stack{--stack-peek:1.2rem;--stack-tuck:.88rem;--stack-spread:.28rem;--stack-gap:.4rem;--stack-turn-gap:.95rem}& .insight-stack-badge{min-width:1.2rem;height:1.2rem;font-size:.58rem;top:.4rem;right:.4rem}& .chat-entry.tool.insight-stack-entry{margin-bottom:.65rem}}.editor-selection{z-index:1;box-sizing:border-box;width:100%;min-height:2.75rem;padding:.2rem max(.4rem, env(safe-area-inset-right,0)) .2rem max(.85rem, env(safe-area-inset-left,0));border-bottom:.0625rem solid var(--line);background:color-mix(in srgb, var(--surface-1,var(--uiBackground)) 88%, transparent);-webkit-backdrop-filter:blur(.625rem);color:var(--heading);flex:none;align-items:center;gap:.25rem;margin:0;display:flex;position:relative;& .label{letter-spacing:.08em;text-transform:uppercase;color:var(--textSecondary,var(--text));white-space:nowrap;flex:none;margin-right:.5rem;font-size:.65rem;font-weight:650}& .value{flex:auto;align-items:center;min-width:0;display:flex;position:relative}& .value select:not([multiple]){border-radius:var(--fieldRadius);width:100%;min-width:0;min-height:2.25rem;box-shadow:none;font:inherit;color:var(--textSecondary,var(--text));text-align:right;text-align-last:right;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;appearance:none;transition:background var(--motion-fast);background:0 0;border:0;padding:0 1.5rem 0 .4rem;font-size:.88rem;font-weight:500;& option{color:var(--text);text-align:left}&:hover:not(:disabled){background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}&:disabled{opacity:.5;cursor:default}}&[data-set] .value select:not([multiple]){color:var(--heading);font-weight:650}& .chevron{width:1rem;height:1rem;color:var(--textSecondary,var(--text));pointer-events:none;position:absolute;right:.3rem}& button{width:2.25rem;height:2.25rem;color:var(--heading);box-shadow:none;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:.5rem;flex:0 0 2.25rem;place-items:center;padding:.45rem;display:grid}& .clear{color:var(--textSecondary,var(--text));padding:.6rem}& .pick[aria-pressed=true]{background:var(--heading);color:var(--surface-1,var(--uiBackground))}& button:hover:not(:disabled,[aria-pressed=true]){background:var(--wash)}& span>svg{width:100%;height:100%;display:block}& button:disabled{opacity:.5;cursor:default}& :focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}html[data-shell=tablet] &{min-height:2.85rem}html[data-shell=smartphone] &{order:17;min-height:3rem}}.dropdown{border-radius:calc(var(--controlRadius) + .4rem);background:var(--surface-1);border:.0625rem solid var(--line);min-width:13.5rem;max-width:min(20rem,100vw - 2rem);box-shadow:var(--popoverShadow);z-index:var(--z-dropdown,100010);color:var(--text);-webkit-overflow-scrolling:touch;transform-origin:top;animation:dropdown-in var(--motion-spring) both;pointer-events:auto;isolation:isolate;flex-direction:column;gap:.1rem;padding:.4rem;font-size:.9rem;display:flex;position:absolute;top:calc(100% + .5rem);&.float-right{transform-origin:100% 0;left:auto;right:0}&.float-left{transform-origin:0 0;left:0;right:auto}&.float-none{left:0}&>button,&>a,& .dropdown-item{border-radius:var(--controlRadius);width:100%;min-width:0;height:auto;min-height:2.5rem;box-shadow:none;color:var(--text);font:inherit;font-size:.875rem;font-weight:var(--button-weight);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:.55rem;margin:0;padding:.45rem .75rem;line-height:1.25;text-decoration:none;display:flex;&>span{min-width:0;font-weight:inherit;text-overflow:ellipsis;overflow:hidden}&>svg{opacity:1;width:1.1rem;height:1.1rem;color:inherit;flex-shrink:0}&:hover:not(:disabled){background:var(--wash);color:var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:.0625rem}&:disabled{opacity:.4;cursor:not-allowed}}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-.3rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.dropdown{animation:none}}.profile{z-index:2;flex-direction:row-reverse;flex-shrink:0;align-items:center;gap:.25rem;min-width:0;margin-block:auto;text-decoration:none;display:flex;position:relative;&[data-open]{z-index:5}& .profile-compact{flex-direction:row-reverse;align-items:center;min-width:0;display:flex}& .profile-identity{border-radius:var(--pillRadius);min-width:0;max-width:min(12.5rem,28vw);box-shadow:none;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;text-align:right;transition:background var(--motion-fast);background:0 0;border:none;flex-direction:row-reverse;align-items:center;gap:.5em;margin:0;padding:.2rem .45rem .2rem 1rem;display:flex;&:hover,&:active{background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .avatar{--size:2.15rem;width:var(--size);height:var(--size);color:var(--surface-1);background:var(--heading);box-shadow:none;aspect-ratio:1;object-fit:cover;transition:border-color var(--motion-fast);border:.125rem solid #0000;border-radius:50%;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;margin-block:auto;padding:0;font-size:.82rem;font-weight:650;display:flex;& span{letter-spacing:.02em;font-size:.78em;font-weight:650}}& .profile-identity:hover .avatar{border-color:var(--ring)}& img.avatar{background:0 0}& .profile-meta{flex-direction:column;justify-content:center;min-width:0;max-width:min(9.5rem,22vw);line-height:1.15;display:flex}& .profile-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;color:var(--heading);font-size:.74rem;font-weight:600;line-height:1.2;overflow:hidden}& .profile-email{color:var(--text);opacity:.85;white-space:nowrap;text-overflow:ellipsis;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--text), transparent 70%);text-underline-offset:.12em;transition:opacity var(--motion-fast), text-decoration-color var(--motion-fast);font-size:.62rem;line-height:1.25;overflow:hidden}& .profile-identity:hover .profile-email{opacity:1;text-decoration-color:var(--heading);color:var(--heading)}&>button.profile-toggle{box-shadow:none;opacity:1;width:var(--control-h);min-width:var(--control-h);min-height:var(--control-h);border-radius:var(--pillRadius);cursor:pointer;touch-action:manipulation;height:auto;color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;gap:0;margin-block:auto;padding:0;line-height:1;display:inline-flex;& svg{width:1.2rem;height:1.2rem;transition:transform var(--motion-fast);flex-shrink:0}&:hover{background:var(--wash);box-shadow:none;transform:none}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}&[aria-expanded=true]{background:var(--wash);color:var(--heading);& svg{transform:rotate(180deg)}}}& .dropdown{min-width:15rem}& .profile-menu{margin:0;padding:.2rem .15rem .35rem;font-size:.82rem;list-style:none}& .profile-menu-head{border-bottom:.0625rem solid var(--line);margin:0 0 .25rem;padding:0;list-style:none}& .profile-menu-identity{border-radius:var(--controlRadius);width:100%;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;padding:.55rem .65rem .65rem;display:flex;&:hover{background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:.0625rem}}& .profile-menu-identity .name{white-space:nowrap;letter-spacing:-.01em;color:var(--heading);align-items:center;gap:.3em;font-weight:650;display:inline-flex}& .profile-verified{color:var(--success);display:inline-flex;& svg{width:1em;height:1em}}& .profile-menu-email{opacity:.8;word-break:break-all;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--text), transparent 65%);text-underline-offset:.12em;font-size:.78em}& .profile-menu-identity:hover .profile-menu-email{opacity:1;color:var(--heading);text-decoration-color:var(--heading)}& .profile-menu-open-hint{color:var(--heading);opacity:.75;margin-top:.2rem;font-size:.72em;font-weight:600}& .profile-menu-credits{border-radius:var(--controlRadius);background:var(--wash);justify-content:space-between;align-items:center;gap:.75rem;margin:.15rem 0;padding:.45rem .65rem;font-size:.9em;display:flex;& b{font-variant-numeric:tabular-nums;color:var(--heading);font-weight:650}}& .profile-menu-extra{padding:.25rem .35rem}& .profile-menu-actions{border-top:.0625rem solid var(--line);flex-direction:column;gap:.4rem;margin-top:.45rem;padding:.45rem .35rem .15rem;display:flex}& .profile-menu-link{width:100%;min-height:var(--control-h,2.5rem);border:.0625rem solid var(--line);border-radius:var(--pillRadius);box-shadow:none;color:var(--heading);font:inherit;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;margin:0;padding:.45rem .85rem;font-size:.88em;display:inline-flex;&:hover{background:var(--wash);border-color:var(--ring)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .profile-menu-logout{border-radius:var(--pillRadius);background:var(--heading);width:100%;max-width:100%;color:var(--surface-1);box-shadow:var(--buttonShadow);min-height:var(--control-h);height:auto;line-height:1.25;font:inherit;font-weight:var(--button-weight);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast);border:none;justify-content:center;align-items:center;padding:.5rem 1rem;display:inline-flex;&:hover{background:var(--fill-hover)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}}html[data-shell=smartphone]{& .profile .profile-meta{display:none}& .profile .profile-identity{max-width:none;padding:.15rem}& .profile .avatar{--size:2rem}}main>header{--hctl:2.375rem;margin:max(var(--workspace-pad), env(safe-area-inset-top,0)) max(var(--workspace-pad), env(safe-area-inset-right,0)) 0 max(var(--workspace-pad), env(safe-area-inset-left,0));width:calc(100% - max(var(--workspace-pad), env(safe-area-inset-left,0)) - max(var(--workspace-pad), env(safe-area-inset-right,0)));background:var(--surfaceWarm,var(--surface-1,var(--elevatedFill)));height:var(--header-h);min-height:var(--header-h);border-radius:var(--panelRadius);z-index:var(--z-header);box-shadow:var(--softShadow), var(--panelHighlight);border:none;flex-direction:row;align-items:center;gap:1rem;padding:0 .75rem 0 1.25rem;display:flex;position:relative;overflow:visible;&:before{content:"";border-radius:inherit;background:var(--surfaceGlow);pointer-events:none;z-index:0;position:absolute;inset:0}&>*{z-index:1;position:relative}&>.profile,&>.nav,&>.tools,&>.end,&>.brand-row{z-index:2}& .tools{flex-direction:row;flex-shrink:0;align-items:center;gap:.375rem;margin-left:0;display:flex}& .end{flex-direction:row;flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;display:none}& .more-wrap{z-index:2;align-items:center;display:flex;position:relative}& .more-wrap[data-open],& .profile[data-open]{z-index:5}& .more{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);background:var(--wash);box-shadow:none;color:var(--heading);cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}& .more:hover{background:var(--heading);color:var(--surface-1)}& .more svg{width:1.25rem;height:1.25rem;display:block}& .more:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}& .group{flex-direction:column;gap:.4rem;padding:.45rem .55rem .55rem;display:flex}& .group+.group,& .group+.dropdown-item{border-top:.0625rem solid var(--divider,transparent)}& .label{font-size:var(--fs-xs,.68rem);letter-spacing:.06em;text-transform:uppercase;color:var(--textTertiary,var(--textMuted));font-weight:650}& .theme{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}& .dropdown>.login{font-weight:var(--button-weight);background:var(--heading);color:var(--surface-1);justify-content:center}& .dropdown>.login:hover:not(:disabled){background:var(--fill-hover);color:var(--surface-1)}& .brand-row{flex-direction:row;flex-shrink:1;align-self:center;align-items:center;gap:2rem;min-width:0;margin:0 .5rem 0 0;display:flex}& .brand{color:inherit;border-radius:.35rem;flex-shrink:0;align-self:center;align-items:center;margin:0 .5rem;line-height:0;text-decoration:none;display:flex}& .brand-row .brand{flex:0 auto;min-width:0;margin:0}& .brand:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}& .logo,& .mark{align-items:center;display:flex;& svg{opacity:1;height:auto;color:inherit;display:block}}& .logo{& svg{width:8.75rem;max-width:100%}}& .mark{display:none}& .brand .name{letter-spacing:-.02em;color:inherit;text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:1.05rem;font-weight:650;line-height:1.2;overflow:hidden}& .brand .logo img{object-fit:contain;width:auto;max-width:12rem;height:2.35rem;display:block;[data-theme=light] &{filter:invert()}}&.is-embed .tools{margin-left:auto}& .nav{flex-direction:row;align-items:center;gap:.35rem;min-width:0;margin-right:auto;display:flex}& :is(.nav,.brand-row)>button.new-project{height:var(--hctl);min-height:var(--hctl);border:.0625rem solid var(--ring);border-radius:var(--pillRadius);box-shadow:none;color:var(--heading);font:inherit;font-size:.8rem;font-weight:var(--button-weight);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast);background:0 0;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;margin:0;padding:0 1.1rem 0 .85rem;line-height:1;display:inline-flex;& svg{flex-shrink:0;width:1.05rem;height:1.05rem}&:hover:not(:disabled){background:var(--wash);border-color:var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}&:disabled{opacity:.45;cursor:not-allowed}}& .theme-switcher-button{width:var(--control-h);min-width:var(--control-h);min-height:var(--control-h);background:var(--wash);height:auto;box-shadow:none;touch-action:manipulation;cursor:pointer;color:var(--heading);border:none;border-radius:50%;place-items:center;gap:0;margin:auto 0;padding:0;line-height:1;display:inline-grid;&:hover{background:var(--heading);box-shadow:none;color:var(--surface-1);transform:none}&:focus-visible{outline:var(--focus-outline);outline-offset:.125rem}}& form#locale-form,& form.locale-form{flex-shrink:0;width:auto;margin:auto 0;font-size:.8em}& .auth-link,& .help{box-shadow:none;min-height:var(--control-h);height:auto;color:var(--text);line-height:1.25;font:inherit;font-weight:var(--button-weight);white-space:nowrap;cursor:pointer;border-radius:var(--pillRadius);touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;gap:.35em;padding:.4rem .85rem;text-decoration:none;display:inline-flex;&:hover{background:var(--wash);color:var(--heading);box-shadow:none;transform:none}&:focus-visible{outline:var(--focus-outline);outline-offset:.125rem}& svg{flex:none;width:1.15em;height:1.15em;display:block}}& .help{box-shadow:none;color:var(--heading);background:0 0;border:none;font-weight:650;&:hover,&[aria-expanded=true]{background:color-mix(in srgb, var(--heading) 6%, transparent);box-shadow:none;color:var(--heading);border:none}}& .tools .menu{display:flex;position:relative;&[data-open]{z-index:5}& .dropdown{min-width:15rem}}& .tools :is(.icon,.theme-switcher-button){width:var(--hctl);height:var(--hctl);min-width:var(--hctl);min-height:var(--hctl);background:var(--wash);box-shadow:none;color:var(--heading);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;& span,& svg{width:1.1rem;height:1.1rem;display:block}}& .tools .lang{height:var(--hctl);min-height:var(--hctl);border-radius:var(--pillRadius);background:var(--wash);box-shadow:none;color:var(--heading);font:inherit;font-size:.75rem;font-weight:var(--button-weight);letter-spacing:.06em;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border:none;align-items:center;gap:.3rem;margin:0;padding:0 .7rem 0 .9rem;display:inline-flex;& span,& svg{width:.95rem;height:.95rem;transition:rotate var(--motion-fast);display:block}&[aria-expanded=true] svg{rotate:180deg}}& .tools :is(.icon,.theme-switcher-button,.lang){&:hover,&[aria-expanded=true]{background:var(--heading);color:var(--surface-1)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .auth{flex-direction:row;flex-shrink:0;align-items:center;gap:.25rem;margin:0 0 0 .5rem;font-size:.85em;font-weight:600;display:flex;& .auth-link{height:var(--hctl);min-height:var(--hctl);padding:0 .9rem;&:hover{background:var(--wash)}}& .login{height:var(--hctl);min-height:var(--hctl);border:.0625rem solid var(--line);border-radius:var(--pillRadius);box-shadow:none;color:var(--heading);font:inherit;font-weight:var(--button-weight);letter-spacing:.01em;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;margin:0;padding:0 1.2rem;line-height:1;display:inline-flex;&:hover{border-color:var(--ring);background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}}}html[data-shell=tablet]{& main>header{--hctl:2.25rem;height:var(--header-h);min-height:var(--header-h);flex-wrap:nowrap;gap:.6rem;max-height:none;padding:0 .5rem 0 .9rem;overflow:visible;& .brand{flex-shrink:0;margin:0 .1rem}& .logo svg{width:clamp(4.25rem,14vw,6.75rem)}& .brand .logo img{max-width:9rem;height:1.85rem}& .brand .name{max-width:10rem;font-size:.95rem}& :is(.nav,.brand-row)>button.new-project{padding:0 .8rem 0 .65rem;font-size:.75rem}& .tools{gap:.3rem}& .auth{margin-left:.25rem;font-size:.8em;& .auth-link{padding:0 .6rem}& .login{padding:0 .9rem}}}}html[data-shell=smartphone]{& main>header{height:var(--header-h);min-height:var(--header-h);flex-wrap:nowrap;align-items:center;gap:.55em;max-height:none;padding:.3em .7em;overflow:visible;& .brand{flex-shrink:0;margin:0 .1rem}& .logo svg{width:clamp(4.25rem,16vw,7rem)}& .brand .logo img{max-width:9rem;height:1.85rem}& .brand .name{max-width:10rem;font-size:.95rem}& .nav{gap:.25rem;min-width:0;&>button.new-project{margin-right:.1rem;padding:.35rem .75rem .35rem .6rem;font-size:.72rem}& a{min-width:2.6rem;max-width:5rem;padding:.3rem .4em;font-size:.66em}}& .auth{flex-shrink:0;gap:.3rem;font-size:.78em;& .auth-link{padding:.3rem .5rem}& .button.primary{padding:.3rem .75rem}}}}html[data-shell=smartphone]{--phone-chrome-h:var(--header-h);& body{overflow-x:clip}& main#project-page{width:100%;min-width:0;max-width:100%;overflow-x:clip}& main>header{width:100%;max-width:100%;padding-top:calc(env(safe-area-inset-top,0) + var(--header-pad-y,.35rem));padding-bottom:var(--header-pad-y,.35rem);padding-right:max(calc(var(--phone-gutter,1rem) - (var(--header-control-min,2.5rem) - 1.3rem) / 2), env(safe-area-inset-right,0));padding-left:max(var(--phone-gutter,1rem), env(safe-area-inset-left,0));height:var(--header-h);min-height:var(--header-h);max-height:var(--header-h);box-sizing:border-box;box-shadow:none;-webkit-backdrop-filter:none;pointer-events:none;isolation:isolate;z-index:var(--z-header,100000);opacity:1;visibility:visible;background:0 0;border:none;border-radius:0;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;margin:0;display:flex;position:fixed;inset:0 0 auto;overflow:visible;&:before{display:none}&:has(.more-wrap[data-open]),&:has(.variants-wrap[data-open]){background:var(--surface-1,var(--elevatedFill,#fafbfc));z-index:calc(var(--z-dropdown,100010) + 40);pointer-events:auto}& .brand,& .brand-row,& .brand-row>button.new-project,& .end,& .help,& .more-wrap,& .more,& .variants-wrap,& .variants{pointer-events:auto}& .brand{min-width:0;max-width:calc(100% - var(--header-control-min,2.5rem) - .75rem);z-index:2;opacity:1;visibility:visible;flex:auto;margin:0;position:relative}&:has(.variants-wrap) .brand{max-width:calc(100% - (var(--header-control-min,2.5rem) * 2) - .9rem)}&:has(.help) .brand{max-width:calc(100% - (var(--header-control-min,2.5rem) * 2) - 4.25rem)}& .end>.help{box-sizing:border-box;height:var(--header-control-min,2.5rem);min-height:var(--header-control-min,2.5rem);max-height:var(--header-control-min,2.5rem);box-shadow:none;color:inherit;background:0 0;border:none;padding:0 .55rem;font-size:.78rem;font-weight:650;line-height:1;& svg{width:1.3rem;height:1.3rem}&:hover,&[aria-expanded=true]{background:color-mix(in srgb, currentColor 8%, transparent);box-shadow:none;color:inherit}}& .brand .logo{opacity:1;visibility:visible;align-items:center;max-width:100%;display:flex}& .brand .logo svg{opacity:1;flex-shrink:1;width:auto;max-width:100%;height:1.75rem;margin-left:0}& .brand .logo img{max-width:min(9rem,100%);height:1.75rem}& .brand .mark{display:none}& .nav,& .tools{display:none!important}& .brand-row{min-width:0;max-width:calc(100% - var(--header-control-min,2.5rem) - .5rem);flex:auto;gap:.35rem;margin:0;display:flex}&.is-embed .brand{flex:0 auto;max-width:none}& .brand-row>button.new-project{width:var(--header-control-min,2.5rem);min-width:var(--header-control-min,2.5rem);height:var(--header-control-min,2.5rem);min-height:var(--header-control-min,2.5rem);margin:0;padding:0;& .new-project-label{display:none}& svg{width:1.2rem;height:1.2rem}}& .end{z-index:2;opacity:1;visibility:visible;flex:none;align-items:center;gap:.15rem;margin-left:0;display:flex;position:relative}& .end>.profile{display:none}& .more-wrap,& .variants-wrap{z-index:2;opacity:1;visibility:visible;flex-shrink:0;margin:0;position:relative}& .more,& .more.is-menu,& .variants{width:var(--header-control-min,2.5rem);height:var(--header-control-min,2.5rem);min-width:var(--header-control-min,2.5rem);min-height:var(--header-control-min,2.5rem);max-height:var(--header-control-min,2.5rem);box-shadow:none;color:var(--heading);z-index:2;opacity:1;visibility:visible;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative;& span:not([class]){display:inline-flex}}& .more-wrap[data-open] .more{background:0 0;border-radius:50%}& .more:hover,& .variants:hover{background:color-mix(in srgb, var(--heading) 6%, transparent)}& .more.svg,& .more svg,& .variants svg{width:1.3rem;height:1.3rem}& .variants .count{background:var(--heading);min-width:.9rem;height:.9rem;color:var(--surface-1,#fff);text-align:center;border-radius:50rem;padding:0 .2rem;font-size:.55rem;font-weight:700;line-height:.9rem;position:absolute;top:.15rem;right:.15rem}& .variants-wrap .dropdown{top:var(--phone-chrome-h);width:100%;min-width:0;max-width:none;height:auto;max-height:none;padding:.75rem max(1.15rem, env(safe-area-inset-right,0)) max(.85rem, env(safe-area-inset-bottom,0)) max(1.15rem, env(safe-area-inset-left,0));box-shadow:none;background:var(--surface-1,var(--elevatedFill,#fafbfc));z-index:1;border:none;border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}& .variants-wrap .dropdown .variants-gallery,& .variants-wrap .dropdown .variants-gallery.compact{flex:auto;height:100%;min-height:0;max-height:none}& .variants-wrap .dropdown .variants-gallery>ul,& .variants-wrap .dropdown .variants-gallery.compact>ul{flex:auto;min-height:0;max-height:none}& .more-wrap .dropdown{top:var(--phone-chrome-h);width:100%;min-width:0;max-width:none;height:auto;max-height:none;padding:.75rem max(1.15rem, env(safe-area-inset-right,0)) max(1.35rem, env(safe-area-inset-bottom,0)) max(1.15rem, env(safe-area-inset-left,0));box-shadow:none;background:var(--surface-1,var(--elevatedFill,#fafbfc));z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform-origin:top;isolation:auto;animation:phone-menu-sheet-in var(--motion-med,.28s) cubic-bezier(.22, 1, .36, 1) both;border:none;border-radius:0;gap:.35rem;margin:0;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto}& .more-wrap .dropdown.float-right,& .more-wrap .dropdown.float-left,& .more-wrap .dropdown.float-none{left:0;right:0;top:var(--phone-chrome-h)}& .more-wrap .dropdown>.group{gap:.5rem;padding:.65rem .15rem .75rem;&.theme{margin-bottom:auto}}& .more-wrap .dropdown>.group+.group,& .more-wrap .dropdown>.group+.dropdown-item{border-top:.0625rem solid color-mix(in srgb, var(--heading) 8%, transparent);margin-top:.15rem;padding-top:.85rem}& .more-wrap .dropdown>button.dropdown-item,& .more-wrap .dropdown>a.dropdown-item,& .more-wrap .dropdown .dropdown-item{border-radius:.85rem;min-height:3rem;padding:.65rem .85rem;font-size:1rem}& .more-wrap .dropdown>.login{background:var(--heading);min-height:3rem;color:var(--surface-1,#fff);border-radius:50rem;justify-content:center;margin-top:.5rem;font-weight:650}& .more-wrap .dropdown>.login:hover:not(:disabled){background:var(--heading);color:var(--surface-1,#fff);filter:brightness(1.06)}& .more-wrap .dropdown>.login+.dropdown-item{justify-content:center;font-weight:600}& .more-wrap .dropdown>a.privacy{min-height:2.5rem;color:color-mix(in srgb, var(--heading) 70%, transparent);text-underline-offset:.2em;justify-content:center;font-size:.85rem;font-weight:500;text-decoration:underline}}& body:has(main>header .more-wrap[data-open]),& body:has(main>header .variants-wrap[data-open]){overflow:hidden}& body:has(main>header .more-wrap[data-open]) #toolbox-wrap,& body:has(main>header .variants-wrap[data-open]) #toolbox-wrap{visibility:hidden;pointer-events:none}}html[data-shell=smartphone][data-theme=dark]{& main>header.is-phone-chrome{color:#1a1c1f;& .help,& .more,& .more.is-menu,& .variants{color:inherit}& .help:hover,& .more:hover,& .variants:hover{background:color-mix(in srgb, currentColor 8%, transparent)}&:has(.more-wrap[data-open]),&:has(.variants-wrap[data-open]){color:var(--heading)}}}html[data-shell=smartphone] main#project-page:has(canvas[data-scene-mood=evening])>header.is-phone-chrome{color:#fff;& .brand,& .brand .logo,& .help,& .more,& .more.is-menu,& .variants{color:#fff}& .help:hover,& .more:hover,& .variants:hover{background:#ffffff1f}&:has(.more-wrap[data-open]),&:has(.variants-wrap[data-open]){color:var(--heading);& .brand,& .brand .logo,& .help,& .more,& .more.is-menu,& .variants{color:var(--heading)}& .help:hover,& .more:hover,& .variants:hover{background:color-mix(in srgb, var(--heading) 6%, transparent)}}}@keyframes phone-menu-sheet-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}html[data-shell=smartphone]{& main>header{& .menu-morph{--morph-ease:cubic-bezier(.22, 1, .36, 1);--morph-dur:.38s;flex-shrink:0;width:1.35rem;height:1.35rem;display:block;position:relative}& .menu-morph-grid,& .menu-morph-close{will-change:transform, opacity;backface-visibility:hidden;transition:opacity var(--morph-dur) var(--morph-ease), transform var(--morph-dur) var(--morph-ease);place-items:center;display:grid;position:absolute;inset:0}& .menu-morph-grid svg,& .menu-morph-close svg{width:1.3rem;height:1.3rem;display:block}& .menu-morph-grid{opacity:1;transform:rotate(0)scale(1)}& .menu-morph-close{opacity:0;pointer-events:none;transform:rotate(-95deg)scale(.4)}& .more.is-open .menu-morph-grid,& .more-wrap[data-open] .menu-morph-grid{opacity:0;pointer-events:none;transform:rotate(95deg)scale(.4)}& .more.is-open .menu-morph-close,& .more-wrap[data-open] .menu-morph-close{opacity:1;pointer-events:auto;transform:rotate(0)scale(1)}& .more.is-menu{transition:background var(--motion-fast,.16s ease), transform var(--morph-dur,.38s) var(--morph-ease,ease)}& .more.is-menu.is-open,& .more-wrap[data-open] .more.is-menu{transform:rotate(0)}@media (prefers-reduced-motion:reduce){& .menu-morph-grid,& .menu-morph-close{transition:opacity .15s}& .more.is-open .menu-morph-grid,& .more-wrap[data-open] .menu-morph-grid,& .more.is-open .menu-morph-close,& .more-wrap[data-open] .menu-morph-close,& .menu-morph-grid,& .menu-morph-close{transform:none!important}}& .dropdown-item.nav-link{text-align:left;width:100%;color:inherit;box-sizing:border-box;align-items:center;gap:.55rem;text-decoration:none;display:flex}& .nav-link-icon{opacity:.75;flex-shrink:0;place-items:center;width:1.15rem;height:1.15rem;display:inline-grid}& .nav-link-icon svg{width:100%;height:100%}& .group.profile-slot{padding-block:.35rem}& .group.nav-links{gap:.15rem}& .more-wrap .locale-form,& .more-wrap form#locale-form{width:100%}& .more-wrap .locale-seg{justify-content:stretch;width:100%}& .more-wrap .locale-option{flex:1 1 0;min-width:0;min-height:2.5rem}}& body:has(aside#chat.chat-drawer-open) main>header{box-shadow:none;background:0 0}}html[data-shell=smartphone][data-shell-landscape=short]{& main>header{box-shadow:none;padding-block:max(.25rem, env(safe-area-inset-top,0)) .25rem;padding-inline:max(.65rem, env(safe-area-inset-left,0)) max(.45rem, env(safe-area-inset-right,0));background:0 0;border-radius:0;width:100%!important;max-width:100%!important;margin:0!important}}html[data-shell=tablet][data-shell-landscape=short]{& main>header{width:100%;box-shadow:none;padding-block:.1em;padding-top:max(.1em, env(safe-area-inset-top,0));border-radius:0;margin:0}}html[data-shell=tablet][data-shell-landscape=short]{& body:has(aside#chat.chat-drawer-open){--header-h:calc(env(safe-area-inset-top,0) + var(--header-box-h,2.75rem))}& body:has(aside#chat.chat-drawer-open) main>header{border:none;border-bottom:.0625rem solid color-mix(in srgb, var(--heading) 10%, transparent);width:100%;max-width:100%;box-shadow:none;height:var(--header-h);min-height:var(--header-h);max-height:var(--header-h);border-radius:0;margin:0}& body:has(aside#chat.chat-drawer-open) main>header:before{border-radius:0}}html[data-shell=smartphone][data-shell-landscape=short]{& body:has(aside#chat.chat-drawer-open){--header-h:calc(env(safe-area-inset-top,0) + var(--header-box-h,2.75rem))}& body:has(aside#chat.chat-drawer-open) main>header{border:none;border-bottom:.0625rem solid color-mix(in srgb, var(--heading) 10%, transparent);width:100%;max-width:100%;box-shadow:none;height:var(--header-h);min-height:var(--header-h);max-height:var(--header-h);border-radius:0;margin:0}& body:has(aside#chat.chat-drawer-open) main>header:before{border-radius:0}}html[data-shell=desktop] main#project-page section#workspace{justify-content:flex-end;align-items:flex-end;gap:var(--shell-gap,var(--workspace-gap,1rem))}html[data-shell=tablet]{--tablet-chat-radius:var(--panelRadius,1.15rem);--tablet-chat-shadow:var(--softShadow), var(--panelHighlight);--tablet-scene-gap:.35rem;--tablet-touch-gap:.45rem}html[data-shell=tablet] main#project-page section#workspace{justify-content:flex-end;align-items:flex-end;gap:var(--shell-gap,.75rem);padding:var(--workspace-pad,.45rem);box-sizing:border-box}html[data-shell=tablet] main#project-page section#workspace>aside#scene{border-radius:var(--panelRadius,1.15rem)}html[data-shell=tablet] main#project-page section#workspace>aside#chat{border-radius:var(--tablet-chat-radius);box-shadow:var(--tablet-chat-shadow)}html[data-shell=tablet][data-shell-landscape=short]{--mobile-toolbox-rail-h:calc(3.25rem + env(safe-area-inset-bottom,0));--mobile-toolbox-h:var(--mobile-toolbox-rail-h)}html[data-shell=tablet][data-shell-landscape=short] main#project-page section#workspace{justify-content:stretch;align-items:stretch;gap:0;padding:0}html[data-shell=tablet][data-shell-landscape=short] main#project-page section#workspace>aside#scene{border-radius:0}html[data-shell=tablet][data-shell-landscape=short] main#project-page section#workspace>aside#chat{box-shadow:var(--floatShadow);border-radius:0}html[data-shell=smartphone]{--phone-gutter:max(1rem, calc((100vw - 19rem) / 2));--mobile-ease:cubic-bezier(.22, 1, .36, 1);--mobile-duration:.36s;--mobile-duration-fast:.22s;--mobile-sheet-inset:0;--mobile-sheet-gap:0;--mobile-sheet-radius:1.25rem;--mobile-sheet-bg:var(--surface-1,#fafbfc);--mobile-sheet-border:color-mix(in srgb, var(--heading) 8%, transparent);--mobile-sheet-shadow:0 -.125rem .5rem color-mix(in srgb, var(--heading) 6%, transparent), 0 -.75rem 2rem color-mix(in srgb, var(--heading) 10%, transparent);--mobile-chrome-hairline:color-mix(in srgb, var(--heading) 10%, transparent);--mobile-dock-bg:color-mix(in srgb, var(--surface-1,#fff) 94%, transparent);--mobile-active-fill:color-mix(in srgb, var(--heading) 8%, transparent);--mobile-focus-ring:0 0 0 .15rem color-mix(in srgb, var(--heading) 20%, transparent);--mobile-chat-sheet-h:min(95dvh, calc(100dvh - env(safe-area-inset-top,0) - 1.75rem));--shell-gap:0}html[data-shell=smartphone][data-shell-landscape=short]{--phone-gutter:.9rem}html[data-shell=smartphone] main#project-page{min-height:100svh}html[data-shell=smartphone] main#project-page section#workspace{width:100%;min-height:calc(100dvh - var(--header-h,0));justify-content:stretch;align-items:stretch;gap:0;margin:0;padding:0}html[data-shell=smartphone] main#project-page section#workspace>aside#scene{border-radius:0;inset:0}html[data-shell=smartphone][data-shell-landscape=short]{--mobile-chat-sheet-h:min(97dvh, calc(100dvh - env(safe-area-inset-top,0) - .35rem));--shell-gap:0}dialog#confirmation-modal{box-sizing:border-box;border:.0625rem solid var(--line);border-radius:var(--panelRadius);background:var(--surface-1);width:min(22.5rem,100vw - 2rem);max-width:calc(100vw - 2rem);height:fit-content;min-height:0;max-height:min(90dvh,22rem);color:var(--heading);box-shadow:var(--floatShadow);text-shadow:none;z-index:var(--z-modal,10050);gap:0;margin:auto;padding:0;overflow:hidden}dialog#confirmation-modal[open]{height:fit-content;min-height:0;animation:confirm-dialog-in var(--motion-spring,.28s ease-out) both;flex-direction:column;gap:0;padding:0;display:flex}dialog#confirmation-modal[open]::backdrop{background:var(--modalVeil);-webkit-backdrop-filter:blur(.4rem)}.modal-content{border:none;flex-direction:column;gap:1.15rem;height:auto;min-height:0;margin:0;padding:1.25rem 1.2rem 1.1rem;display:flex}.modal-copy{letter-spacing:-.022em;color:inherit;align-items:flex-start;gap:.7rem;margin:0;font-size:1.05rem;font-weight:650;line-height:1.35;display:flex}.modal-mark{background:var(--wash);width:2rem;height:2rem;color:var(--heading);border-radius:50%;flex:none;place-items:center;margin-top:.05rem;display:grid}.modal-copy>span{font-weight:inherit}.modal-mark svg{width:1.05rem;height:1.05rem}.modal-actions{flex-flow:row-reverse wrap;gap:.5rem;margin:0;display:flex}.modal-actions .button{width:auto;min-height:var(--hit-min,2.75rem);border-radius:var(--pillRadius);font:inherit;font-weight:var(--button-weight);cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);border:.0625rem solid #0000;flex:8rem;justify-content:center;align-items:center;padding:.55rem 1.1rem;display:inline-flex}.modal-actions .button.primary{background:var(--heading);box-shadow:var(--buttonShadow);color:var(--surface-1)}.modal-actions .button:not(.primary){border-color:var(--line);color:var(--heading);background:0 0}.modal-actions .button.primary:hover{background:var(--fill-hover)}.modal-actions .button:not(.primary):hover{border-color:var(--ring);background:var(--wash)}.modal-actions .button:active{transform:scale(.985)}.modal-actions .button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(.35rem)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){dialog#confirmation-modal[open]{animation:none}.modal-actions .button{transition:none}.modal-actions .button:active{transform:none}}body:has(dialog#confirmation-modal[open]){overflow:hidden}html[data-shell=smartphone]{& dialog#confirmation-modal{border-radius:var(--cardRadius);width:min(20.5rem,100vw - 1.75rem);max-width:calc(100vw - 1.75rem)}& dialog#confirmation-modal[open]{height:fit-content;min-height:0;padding:0}& .modal-content{gap:1rem;padding:1.1rem 1rem .95rem}& .modal-copy{font-size:1rem}& .modal-actions{flex-direction:column;gap:.45rem}& .modal-actions .button{flex:none;width:100%;min-height:2.65rem}}dialog#cookie-informer{inset:auto;right:calc(var(--chat-width,0rem) + var(--workspace-pad,0rem) + 1rem);bottom:max(1rem, env(safe-area-inset-bottom,0));z-index:var(--z-modal);border:.0625rem solid var(--line);border-radius:var(--panelRadius);background:var(--surface-1);width:min(22rem,100vw - 2rem);color:var(--text);box-shadow:var(--floatShadow);visibility:visible;animation:cookie-informer-in var(--motion-med,.24s ease) both;gap:.75rem;margin:0;padding:1rem;font-size:.875rem;line-height:1.45;display:grid;position:fixed;&>header{align-items:center;gap:.625rem;display:flex}& .badge{width:2.25rem;height:2.25rem;color:var(--heading);background:var(--wash);border-radius:50%;flex:none;place-items:center;display:grid;& svg{width:1.25rem;height:1.25rem}}& h2{letter-spacing:-.01em;color:var(--heading);margin:0;font-size:1rem;font-weight:650}& p{color:var(--textSecondary);margin:0}& a{color:var(--heading);text-decoration-line:underline;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.2em;white-space:nowrap;font-weight:600;text-decoration-thickness:.0625rem;&:hover{text-decoration-color:currentColor}}& .actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem;display:grid}& button{border-radius:var(--pillRadius);min-height:2.5rem;font-size:.875rem;font-weight:var(--button-weight);transition:background var(--motion-fast), border-color var(--motion-fast);justify-content:center;margin:0;padding:0 1rem}& .decline{color:var(--heading);border:.0625rem solid var(--ring);background:0 0;&:hover{background:var(--wash);border-color:var(--heading)}}& .accept{color:var(--surface-1);background:var(--heading);border:.0625rem solid var(--heading);box-shadow:var(--buttonShadow);&:hover{background:var(--fill-hover);border-color:var(--fill-hover)}}& button:focus-visible,& a:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}html[data-shell=smartphone] &{z-index:2147483646;width:100%;padding:1rem max(1rem, env(safe-area-inset-right,0)) max(1rem, env(safe-area-inset-bottom,0)) max(1rem, env(safe-area-inset-left,0));border-radius:var(--panelRadius) var(--panelRadius) 0 0;background:var(--surface-1);box-shadow:0 -.5rem 2rem color-mix(in srgb, var(--heading) 18%, transparent), 0 0 0 100vmax var(--modalVeil);backdrop-filter:none;border:none;gap:.625rem;font-size:.9375rem;animation-name:cookie-informer-sheet;bottom:0;left:0;right:0;& .badge{display:none}& .actions{margin-top:0}& button{min-height:2.75rem}}}@keyframes cookie-informer-in{0%{opacity:0;transform:translateY(.75rem)}}@keyframes cookie-informer-sheet{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){dialog#cookie-informer{animation:none}}main#project-page{--sceneBg:#d6d9dc;background:var(--sceneBg);width:100%;min-width:100%;max-width:100%;min-height:100dvh;transition:background-color var(--motion-med);overflow:visible;&:has(canvas[data-scene-mood=evening]){--sceneBg:#6b6569}& section#workspace{gap:var(--workspace-gap);height:100%;padding:0;padding-bottom:env(safe-area-inset-bottom,0);scroll-margin-top:calc(var(--header-h,4.75rem) + .5rem);background:0 0;outline:none;flex:1;justify-content:flex-end;align-items:flex-end;min-width:0;margin:0;display:flex;position:absolute;inset:0;overflow:hidden;&:has(.fullscreen){padding:0;& .fullscreen{border-radius:0}}}}@media (prefers-reduced-motion:reduce){main#project-page{transition:none}}
