.progress-shell{--track-h:.1rem;--node:.4rem;--node-active:.7rem;width:100%;box-shadow:none;box-sizing:border-box;background:0 0;border:none;flex-direction:column;gap:.55rem;padding:0;display:flex}.progress-meta{justify-content:space-between;align-items:center;gap:.65rem;min-height:1.2rem;display:flex}.progress-chip{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--surface-1), var(--heading) 3%);box-shadow:none;color:var(--emotionalAccent,var(--textSecondary));letter-spacing:.02em;white-space:nowrap;border:none;align-items:center;gap:.35em;padding:.18rem .55rem;font-size:.68rem;font-weight:650;line-height:1.2;display:inline-flex}.progress-chip strong{color:var(--heading);font-weight:700}.progress{--size:var(--node);--bg:color-mix(in srgb, var(--heading), transparent 88%);--activeBg:linear-gradient(145deg, color-mix(in srgb, var(--heading), white 8%) 0%, var(--heading) 100%);width:100%;margin:0;position:relative;&[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;& 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:1.5px solid #0000;border-radius:15%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;transform:rotate(45deg);&+.direction{height:var(--track-h);background:color-mix(in srgb, var(--heading), transparent 90%);border-radius:999px;flex:auto;width:auto;min-width:.5rem;margin:0 .5rem;display:block}&.completed,&.active{background:var(--activeBg);color:var(--surface-1,var(--elevatedFill));border-color:#0000;border-radius:50%}&.active{width:var(--node-active);height:var(--node-active);box-shadow:0 0 0 3px color-mix(in srgb, var(--heading), transparent 90%), 0 4px 12px color-mix(in srgb, var(--heading), transparent 90%)}&.completed+.direction{background:linear-gradient(90deg, color-mix(in srgb, var(--heading), transparent 35%), color-mix(in srgb, var(--heading), transparent 55%))}}}&[data-style=progress]{background:color-mix(in srgb, var(--heading), transparent 92%);border-radius:999px;height:.45em;overflow:hidden}& .bar{--from:color-mix(in srgb, var(--heading), white 22%);--to:var(--heading);background:linear-gradient(to right, var(--from), var(--to));transition:width var(--motion-med);border-radius:999px;position:absolute;inset:0 auto 0 0}}@media (width<=768px){.progress-shell{gap:.4rem}.progress-chip{padding:.18rem .55rem;font-size:.64rem}}@media (prefers-reduced-motion:reduce){.progress .step,.progress .bar{transition:none}}dialog.form-wrapper{border:none;width:100%;max-width:50vw;height:fit-content;padding:0!important;& button.action{--background:var(--danger);--text:white;border-width:0;border-radius:50%;justify-content:center;align-items:center;width:1em;height:1em;margin:0;padding:0;font-size:3rem;display:inline-flex;position:fixed;top:.5em;right:.5em}& h1,& h2,& h3,& h4,& h5,& h6{margin-bottom:.2em}}html:has(dialog.form-wrapper[open]){position:fixed;overflow:hidden}.form-wrapper{position:relative;& form{box-sizing:border-box;padding:4em;&>fieldset{min-height:100%;&>label:not(:has(input[type=checkbox],input[type=radio])),&>fieldset{width:100%;&>*{width:100%}}}& sup{color:var(--alert);font-size:.8em;font-weight:700}& .form-actions{justify-content:flex-end;gap:2em;padding:2em 0 0;font-size:1.15em;display:flex;& button[data-direction=forward],& button[type=submit]{margin-left:auto}& button[data-direction=forward]:not([disabled]){background:var(--success);color:#fff;box-shadow:none;&:hover{filter:brightness(1.05);box-shadow:none}}}}}@media screen and (width<=768px){dialog.form-wrapper{max-width:90vw;& button.action{font-size:2.5rem;top:.25em;right:.25em}}.form-wrapper{& form{padding:2em;& .form-actions{gap:1.5em;padding:1.5em 0 0;font-size:1em}}}}aside#chat{&:has(#booking-wrapper){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}@media (width<=768px){width:100%;max-width:none}@media (height<=500px) and (width<=1100px) and (orientation:landscape){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;& .booking-form{box-sizing:border-box;background:var(--elevatedFill,var(--uiBackground));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:3;margin:0 0 var(--space-4);padding:0 var(--space-5);flex-shrink:0;width:auto;max-width:none;position:relative}& .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:center;gap:1rem;width:100%;min-height:0;padding:.85rem clamp(1.1rem,3.2vw,1.65rem) 1.25rem;scroll-padding-bottom:1rem;display:flex;position:relative;overflow-y:auto;&>h3{letter-spacing:-.03em;color:var(--heading,var(--text));max-width:22ch;margin:0;font-size:1.32rem;font-weight:750;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}}& .form-actions{padding:.85rem clamp(1rem, 3vw, 1.5rem) max(.85rem, env(safe-area-inset-bottom,0px));z-index:3;background:var(--elevatedFill,var(--uiBackground));border-top:1px solid var(--divider,transparent);box-shadow:var(--floatShadow);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:auto;font-size:.95rem;display:flex;position:relative;& button,& .button{min-height:var(--control-h);background:var(--chipFill,var(--softCardBg));height:auto;color:var(--text);box-shadow:none;line-height:1.25;font:inherit;white-space:nowrap;touch-action:manipulation;cursor:pointer;transition:transform var(--motion-fast), box-shadow var(--motion-fast), filter var(--motion-fast);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.15rem;font-weight:600;display:inline-flex}& button:hover:not(:disabled),& .button:hover:not(:disabled){box-shadow:none;transform:translateY(-1px)}& button:focus-visible,& .button:focus-visible{box-shadow:var(--focus-ring);outline:none}& button:disabled,& .button:disabled{opacity:.45;cursor:not-allowed;transform:none}& button[data-direction=back]{box-shadow:none;background:0 0;margin-right:auto}& button[type=submit]{background:var(--heading);color:var(--elevatedFill,var(--uiBackground));box-shadow:none;border-color:#0000}& button[type=submit]:not(:disabled):hover{filter:brightness(1.05)}& button[data-direction=back] svg{flex-shrink:0;width:1.05rem;height:1.05rem}&: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:var(--success,#2f8f5b);width:2.85rem;height:2.85rem;color:var(--uiBackground,#fff);box-shadow:none;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-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,var(--text));font-weight:700}& .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:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--surface-2,var(--chipFill,var(--softCardBg)));color:var(--text);box-shadow:none;font:inherit;text-align:center;touch-action:manipulation;cursor:pointer;transition:transform var(--motion-fast), filter var(--motion-fast);border-radius:999px;justify-content:center;align-items:center;padding:.6rem 1.15rem;font-weight:650;text-decoration:none;display:inline-flex}& .button.primary{background:var(--heading);color:var(--elevatedFill,var(--uiBackground));border-color:var(--heading);box-shadow:none}& .button:hover{filter:brightness(1.03);transform:translateY(-1px)}& .button:focus-visible{box-shadow:var(--focus-ring);outline:none}}& .booking-calendar{flex-direction:column;gap:.85rem;width:100%;min-width:0;display:flex}& .booking-calendar-head{flex-direction:column;gap:.35rem;margin:0;display:flex}& .booking-calendar-head h3{letter-spacing:-.02em;color:var(--heading,var(--text));margin:0;font-size:1.15rem;font-weight:750}& .booking-calendar-hint{color:var(--textSecondary,var(--textMuted,var(--text)));opacity:.92;margin:0;font-size:.88rem;line-height:1.45}& .booking-calendar-studio{width:fit-content;max-width:100%;color:var(--heading,var(--text));background:color-mix(in srgb, var(--heading), transparent 92%);border-radius:999px;align-items:center;gap:.45rem;margin:.15rem 0 0;padding:.35rem .7rem .35rem .45rem;font-size:.82rem;font-weight:650;display:inline-flex}& .booking-calendar-studio-mark{background:var(--heading);border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}& .booking-day-rail{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.45rem;margin:0 -.1rem;padding:.15rem .1rem .35rem;display:flex;overflow-x:auto}& .booking-day-chip{scroll-snap-align:start;border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--elevatedFill,var(--uiBackground));min-width:5.25rem;min-height:3.1rem;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;transition:border-color var(--motion-fast), background var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);border-radius:.85rem;flex-direction:column;flex:none;align-items:flex-start;gap:.15rem;margin:0;padding:.5rem .7rem;display:inline-flex}& .booking-day-chip:hover{border-color:color-mix(in srgb, var(--heading), transparent 55%);transform:translateY(-1px)}& .booking-day-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}& .booking-day-chip.is-active{background:var(--heading);border-color:var(--heading);color:var(--elevatedFill,var(--uiBackground))}& .booking-day-chip-date{letter-spacing:-.01em;text-transform:capitalize;white-space:nowrap;font-size:.82rem;font-weight:700}& .booking-day-chip-count{opacity:.75;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}& .booking-day-chip.is-active .booking-day-chip-count{opacity:.9}& .booking-day-slots{border-radius:var(--cardRadius,1rem);border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--surface-2,var(--chipFill,var(--softCardBg)));box-shadow:none;flex-direction:column;gap:.75rem;margin-top:.15rem;padding:.95rem 1.05rem 1.05rem;display:flex}& .booking-day-slots.is-empty{background:color-mix(in srgb, var(--chipFill,var(--softCardBg)), transparent 20%)}& .booking-day-slots-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}& .booking-day-slots-title{flex-direction:column;gap:.2rem;min-width:0;display:flex}& .booking-day-slots-label{letter-spacing:-.015em;text-transform:capitalize;color:var(--heading,var(--text));margin:0;font-size:.95rem;font-weight:750}& .booking-day-slots-meta{color:var(--textSecondary,var(--textMuted,var(--text)));font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}& .booking-day-slots-empty{color:var(--textSecondary,var(--textMuted,var(--text)));margin:0;font-size:.9rem;line-height:1.45}& .booking-day-nav{flex-shrink:0;gap:.3rem;display:inline-flex}& .booking-day-nav-btn{border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--elevatedFill,var(--uiBackground));width:2.15rem;height:2.15rem;color:var(--heading,var(--text));cursor:pointer;touch-action:manipulation;border-radius:999px;place-items:center;margin:0;padding:0;font-size:1.25rem;line-height:1;display:inline-grid}& .booking-day-nav-btn:hover:not(:disabled){border-color:var(--heading)}& .booking-day-nav-btn:disabled{opacity:.35;cursor:default}& .booking-day-nav-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}& .booking-period{flex-direction:column;gap:.45rem;display:flex}& .booking-period-label{letter-spacing:.06em;text-transform:uppercase;color:var(--textSecondary,var(--textMuted,var(--text)));margin:0;font-size:.72rem;font-weight:700}& .booking-day-slots-grid{flex-wrap:wrap;gap:.5rem;display:flex;& button{font:inherit;border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--elevatedFill,var(--uiBackground));min-width:4.35rem;min-height:2.65rem;color:var(--text);cursor:pointer;touch-action:manipulation;transition:border-color var(--motion-fast), background var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);border-radius:999px;padding:.45rem .95rem;font-size:.95rem;font-weight:650}& button:hover{border-color:var(--heading);box-shadow:none;transform:translateY(-1px)}& button:focus-visible{box-shadow:var(--focus-ring);outline:none}& button.booking-slot-selected{background:var(--heading);color:var(--elevatedFill,var(--uiBackground));border-color:var(--heading);box-shadow:none;transform:none}}& .booking-studio-skeleton{flex-direction:column;gap:.75rem;display:flex}& .booking-loading-label{color:var(--text);margin:0;font-size:.9rem}& .booking-studio-card.is-skeleton{pointer-events:none;cursor:default;opacity:.95;box-shadow:var(--softShadow,var(--nestedShadow));transform:none;&:hover{box-shadow:var(--softShadow,var(--nestedShadow));border-color:#0000;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{background:color-mix(in srgb, var(--heading), transparent 88%);width:9.5em;min-height:7.25em;box-shadow:none;border-radius:.85rem}& .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:1px solid var(--divider,transparent);flex-wrap:wrap;gap:.45rem;margin:.15rem 0 0;padding:.65rem 0 0;list-style:none;display:flex}& .skel-chip{border-radius:999px;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,2.75rem);background:color-mix(in srgb, var(--heading), transparent 86%);border-radius:999px;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);& h3{letter-spacing:-.025em;margin:0 0 .55rem;font-size:1.32rem;font-weight:700;line-height:1.2}& p{color:var(--textSecondary,var(--text));max-width:44ch;margin:0;font-size:.95rem;line-height:1.6}}& .booking-context-chip{border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--surface-2,var(--chipFill,var(--softCardBg)));max-width:100%;box-shadow:none;color:var(--heading,var(--text));border-radius:999px;align-items:center;gap:.4rem;margin:.15rem 0 .35rem;padding:.5rem .95rem;font-size:.88rem;font-weight:650;line-height:1.3;display:inline-flex}& .booking-empty{margin:var(--space-4) 0;padding:var(--space-5) var(--space-4);text-align:center;border-radius:var(--panelRadius);border:1px solid var(--divider,var(--subtleBorder));background:var(--surface-2,var(--chipFill,var(--softCardBg)));color:var(--text);align-items:center;gap:var(--space-3);flex-direction:column;font-size:.92rem;line-height:1.5;display:flex}& .booking-empty-retry{min-height:var(--control-h);text-align:center;white-space:nowrap;border:1px solid var(--heading);background:var(--heading);min-width:8rem;max-width:100%;height:auto;color:var(--uiBackground,#fff);cursor:pointer;cursor:pointer;font-weight:650;line-height:1.25;font:inherit;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-weight:600;display:inline-flex}& .booking-empty-retry:disabled{opacity:.55;cursor:wait}& .booking-slots-skeleton{padding:var(--space-2) 0;flex-direction:column;gap:.85rem;display:flex}& .booking-skeleton-cal{border-radius:var(--cardRadius,1rem);background:color-mix(in srgb, var(--heading), transparent 96%);flex-direction:column;gap:.65rem;padding:.85rem;display:flex}& .booking-skeleton-cal .sk-head{background:color-mix(in srgb, var(--text), transparent 90%);border-radius:.4rem;width:40%;height:1.25rem;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:.45rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-rows{flex-direction:column;gap:.45rem;display:flex}& .booking-skeleton-rows span{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--text), transparent 92%);height:2.5rem;animation:1.2s ease-in-out infinite booking-skel;display:block}& .booking-skeleton-rows span:nth-child(2){width:85%;animation-delay:.15s}& .booking-skeleton-rows span:nth-child(3){width:70%;animation-delay:.3s}& .booking-studio-list{flex-direction:column;gap:1.05rem;width:100%;padding-bottom:.35rem;display:flex}& .booking-studio-card{text-align:left;border-radius:calc(var(--cardRadius,1.05rem) + .05rem);background:var(--surface-1,var(--elevatedFill,var(--uiBackground)));width:100%;box-shadow:var(--softShadow,var(--nestedShadow));cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast), background var(--motion-fast);touch-action:manipulation;border:1px solid #0000;flex-direction:column;gap:0;padding:0;font-size:.95em;font-weight:400;line-height:1.4;display:flex;overflow:hidden;&:hover{border-color:color-mix(in srgb, var(--heading), transparent 88%);background:var(--surface-1,var(--elevatedFill));box-shadow:var(--floatShadow,var(--softShadow));transform:translateY(-2px)}&:active{box-shadow:var(--nestedShadow,none);transform:translateY(0)}&:focus-visible{outline:var(--focus-outline);outline-offset:2px;box-shadow:var(--focus-ring)}&.is-verified{border-color:color-mix(in srgb, var(--heading), transparent 90%)}& .card-top{flex-wrap:wrap;align-items:stretch;gap:1.1rem 1.25rem;padding:1.15rem 1.2rem 1rem;display:flex}& .logo{background:linear-gradient(155deg, color-mix(in srgb, var(--heading), white 8%) 0%, var(--heading) 100%);width:9.5em;min-height:7.25em;color:var(--uiBackground);text-align:center;text-shadow:none;border:none;border-radius:.85rem;flex:none;place-content:center;gap:.3em;padding:.65em .55em;display:grid;box-shadow:inset 0 1px #ffffff40;& strong{text-overflow:ellipsis;letter-spacing:-.02em;max-width:100%;font-size:1.02em;font-weight:700;line-height:1.15;overflow:hidden}& small{color:var(--uiBackground);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,var(--text));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{letter-spacing:.02em;white-space:nowrap;color:var(--heading);background:var(--surface-2,var(--chipFill,var(--softCardBg)));vertical-align:middle;border:none;border-radius:999px;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(--surface-2,var(--chipFill,var(--softCardBg)));color:var(--success,#3d9a5f)}& .score{flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;max-width:100%;margin-left:auto;display:inline-flex;& .score-title{letter-spacing:.02em;text-align:right;white-space:nowrap;color:var(--heading,var(--text));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(--uiBackground);text-shadow:none;letter-spacing:-.02em;box-shadow:var(--buttonShadow,none);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;padding:.45em .7em;font-size:1em;font-weight:750;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:1px 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}& .badges{border-top:1px solid var(--divider,transparent);flex-wrap:wrap;gap:.45rem .5rem;margin:.15rem 0 0;padding:.65rem 0 0;list-style:none;display:flex;& li{border:1px solid var(--divider,var(--subtleBorder));letter-spacing:.01em;max-width:100%;min-height:1.85rem;color:var(--text);background:var(--surface-2,var(--chipFill,var(--softCardBg)));cursor:help;box-shadow:none;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);border-radius:999px;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,var(--chipFill,var(--softCardBg)));border-color:var(--divider,var(--subtleBorder));font-weight:650;& .badge-icon{color:var(--heading)}}& li.badge-secondary{color:var(--text);background:var(--surface-2,var(--chipFill,var(--softCardBg)));border-color:var(--divider,var(--subtleBorder));font-weight:550;& .badge-icon{color:var(--heading)}}}& .legal{border-top:1px solid var(--divider,transparent);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:1px solid var(--divider,transparent);background:color-mix(in srgb, var(--surface-2,var(--chipFill)), transparent 40%);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:auto;padding:.75rem 1.15rem .95rem;display:flex}& button.cta{min-height:var(--hit-min,2.75rem);font:inherit;letter-spacing:.01em;color:var(--uiBackground);background:var(--heading);box-shadow:var(--buttonShadow,var(--softShadow));cursor:pointer;touch-action:manipulation;transition:transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;margin:0;padding:.55rem 1.15rem .55rem 1.25rem;font-size:.9em;font-weight:700;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{background:color-mix(in srgb, var(--heading), white 8%);box-shadow:var(--floatShadow,var(--buttonShadow));text-decoration:none;transform:translateY(-1px)}& button.cta:hover .cta-icon{transform:translate(2px)}& button.cta:active{box-shadow:var(--pressedButtonShadow,none);transform:translateY(0)}& button.cta:focus-visible{outline:var(--focus-outline);outline-offset:2px;box-shadow:var(--focus-ring)}}& #date-picker.booking-slot-picker{width:100%;min-width:0;max-width:none;box-shadow:none;border-radius:var(--cardRadius,1rem);border:1px solid var(--divider,var(--subtleBorder,transparent));border-top:3px solid var(--heading,var(--primary));background:var(--elevatedFill,var(--uiBackground));padding:.95rem 1rem 1.05rem}& #date-picker.booking-slot-picker .days span.clickable{background:color-mix(in srgb, var(--heading), transparent 12%);box-shadow:none}& #date-picker.booking-slot-picker .days span.clickable:hover{background:var(--heading);scale:1.04}& #date-picker.booking-slot-picker .days span.current{border-color:var(--heading,var(--primary));box-shadow:0 0 0 1px color-mix(in srgb, var(--heading), transparent 70%)}& #date-picker.booking-slot-picker .date-details-count.is-selected-day{background:var(--heading);color:var(--elevatedFill,var(--uiBackground));border-color:var(--heading)}@media (hover:none),(pointer:coarse){& #date-picker.booking-slot-picker .days span:hover .date-details-popup{opacity:0;pointer-events:none;width:100%;height:100%;font-size:0}& #date-picker.booking-slot-picker .days span:hover .date-details-count{opacity:1}}& .booking-slot-list{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.75em;width:100%;display:grid}& .booking-slot,& #date-picker.booking-slot-picker .date-details-popup{& .time-slots{flex-flow:wrap;gap:.5em;margin:.5em 0 0;display:flex;& button{font:inherit;border-radius:var(--pillRadius);text-align:center;background:var(--text);width:auto;min-width:4.5rem;min-height:2.75rem;text-shadow:none;color:var(--uiBackground);touch-action:manipulation;cursor:pointer;padding:.55em 1em;font-size:1rem}}}& .booking-slot.is-selected,& #date-picker.booking-slot-picker .date-details-popup button.booking-slot-selected{--background:color-mix(in srgb, var(--primary) 18%, var(--uiBackground));border-color:var(--primary)}& .booking-contact-fields{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,1rem);background:var(--chipFill,var(--softCardBg));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{width:100%;border:none;min-inline-size:0;margin:0;padding:0;font-weight:400}& input[type=email],& input[type=tel],& input[type=text],& select{min-height:var(--control-h);box-sizing:border-box;border-radius:var(--controlRadius,.95rem);background:var(--softInputBg,var(--elevatedFill));width:100%;color:var(--text);font:inherit;box-shadow:none;border:none;padding:.55rem .85rem;font-weight:400}& fieldset.phone-input select{flex:none;width:5em}& fieldset.phone-input input[type=tel]{flex:auto;min-width:0}& input:focus-visible,& select:focus-visible{border-color:color-mix(in srgb, var(--accent), var(--heading) 35%);box-shadow:var(--focus-ring);outline:none}& input:disabled{opacity:.72;cursor:not-allowed}}& .booking-error{border-radius:var(--controlRadius,.95rem);border:1px solid var(--alert,#c44);background:var(--elevatedFill,var(--uiBackground));color:var(--alert,#c44);margin:.25rem 0 0;padding:.7rem .9rem;font-size:.9rem;font-weight:550;line-height:1.45}& .booking-confirm-summary{border-radius:var(--cardRadius,1rem);border:1px solid var(--divider,var(--subtleBorder,transparent));background:var(--surface-2,var(--chipFill,var(--softCardBg)));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,var(--text));font-weight:700}}}}}@media screen and (width<=768px){aside#chat #booking-wrapper.form-wrapper .booking-form{& .progress-shell{padding:0 var(--space-4)}& .progress{padding:0}& .booking-step-body{padding:.65rem 1rem 1rem;&>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{flex-direction:row;align-items:center;gap:.45rem;margin-left:auto;& .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,0px));gap:.5rem;font-size:.95rem;& button,& .button{flex:auto;min-width:0;padding:.5rem .85rem}& button[data-direction=back]{flex:none;margin-right:0}}}}@media (width<=480px){aside#chat #booking-wrapper.form-wrapper .booking-form{& .booking-day-slots-grid button{min-width:3.75rem;min-height:2.45rem;font-size:.9rem}& .booking-confirm-summary{max-width:none}}}@media (prefers-reduced-motion:reduce){aside#chat #booking-wrapper.form-wrapper .booking-form{& .form-actions button,& .booking-studio-card{transition:none}}}@keyframes booking-skel{0%,to{opacity:.55}50%{opacity:1}}.ui-tip{z-index:var(--z-toast,10060);pointer-events:none;background:color-mix(in srgb, var(--heading,#1a1a1a) 92%, transparent);max-width:min(92vw,18rem);color:var(--uiBackground,#fff);letter-spacing:.01em;box-shadow:var(--softShadow,0 6px 20px #0000002e);opacity:0;white-space:normal;word-break:break-word;border-radius:.45em;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}[data-theme=dark] .ui-tip{background:color-mix(in srgb, var(--elevatedFill,#f0f1f3) 95%, white);color:var(--heading,#121416)}fieldset.phone-input{flex-direction:row;gap:.5em;margin-top:0;& select[name=country]{width:5em;[data-theme=dark] &{filter:none;background-color:#0000;background-image:url(/i/expander-light.svg)}}}@media screen and (width<=768px){fieldset.phone-input{flex-direction:column;gap:.25em;& select[name=country]{width:100%}}}section#date-picker{--border-color:var(--primary);--active-color:color-mix(in srgb, var(--primary), white 20%);box-sizing:border-box;background:color-mix(in srgb, var(--background), var(--text) 2%);border:none;border-top:3px solid var(--primary);border-radius:.3em;flex-direction:column;gap:1em;width:100%;min-width:min(410px,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(--heavy-shadow)}& 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:500;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;background:0 0;border:none;outline:none;padding:0;transition:all .2s;&:hover{scale:1.15}&:active{scale:.85}}}& .days-container{&.reverse{flex-direction:row-reverse}}& .week-days,& .days{grid-template-columns:repeat(7,1fr);gap:.5em;display:grid;&.days[inert]{position:absolute}& span{aspect-ratio:1/.7;border:3px solid #0000;border-radius:.5em;justify-content:center;align-items:center;width:2rem;padding:.5em 1.25em;transition:all .2s;display:inline-flex;position:relative;&.older{color:var(--text)}&.current{border-color:var(--border-color)}&.clickable{color:#fff;text-shadow:0 1px #0005;cursor:pointer;background:var(--active-color);box-shadow:0 .05em .2em color-mix(in srgb, var(--active-color), transparent 70%);font-weight:700;&:hover{background:color-mix(in srgb, var(--active-color), red 40%);border-radius:.15em;scale:1.05}}& .date-details-count{background:var(--background);color:var(--text);z-index:2;box-shadow:var(--heavy-shadow);border:1px solid var(--primary);text-shadow:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8em;font-weight:600;transition:all .3s;display:flex;position:absolute;top:-1em;right:-1em}& .date-details-popup{background:var(--background);width:100%;height:100%;box-shadow:var(--heavy-shadow);color:var(--text);text-shadow:none;border:2px solid var(--primary);opacity:0;text-align:left;border-radius:.3em;flex-direction:column;padding:1em;font-size:0;transition:all .3s;display:flex;position:absolute;overflow:hidden;& 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}}}}@media screen and (width<=768px){section#date-picker{gap:.65em;width:100%;min-width:0;max-width:none;padding:1rem .75rem}}@media screen and (width<=560px){section#date-picker{padding:.85rem .5rem}section#date-picker .days,section#date-picker .week-days{text-align:center;& span{padding:.25em}}}aside#chat{&:has(#photo-render-wrapper){overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history,& footer.chat-compose{display:none}}& .photo-render-panel{background:0 0;border:none;margin:0;padding:0}& #photo-render-wrapper.form-wrapper{top:var(--chat-panel-header-h,3.55rem);z-index:1;height:auto;padding:0;position:absolute;bottom:0;left:0;right:0;& .photo-render-form{box-sizing:border-box;background:var(--elevatedFill,var(--uiBackground));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;& header.chat-header{border-bottom:1px solid var(--panelBorder,transparent);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.85rem;padding:.85rem clamp(1rem,3vw,1.5rem) .55rem;display:flex;& h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.25}}& .photo-render-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:1.15rem;width:100%;min-height:0;padding:.85rem clamp(1.1rem,3.2vw,1.65rem) 1.25rem;scroll-padding-bottom:1rem;display:flex;position:relative;overflow-y:auto}&.is-busy .photo-render-body,&.is-busy .photo-render-preview{opacity:.72;pointer-events:none}& .photo-render-lead{color:var(--text);max-width:42ch;margin:0;font-size:.95rem;line-height:1.55}& .photo-render-or{grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin:-.15rem 0;display:grid;& span{background:var(--panelBorder,var(--subtleBorder));height:1px}& em{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--text), transparent 25%);font-size:.72rem;font-style:normal;font-weight:650}}& .photo-render-clear-file{color:var(--text);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-self:flex-start;max-width:100%;margin:.15rem 0 0;padding:.25rem .65rem;font-size:.78rem;font-weight:600;overflow:hidden}& .photo-render-clear-file:hover:not(:disabled){background:var(--chipFill,var(--softCardBg))}& .photo-render-clear-file:focus-visible{box-shadow:var(--focus-ring);outline:none}& .photo-render-hint{color:var(--text);opacity:.88;margin:0;font-size:.8rem;line-height:1.45}& .photo-render-error{border-radius:var(--controlRadius,.95rem);border:1px solid color-mix(in srgb, var(--alert,#c44), transparent 55%);background:color-mix(in srgb, var(--alert,#c44), transparent 92%);color:var(--alert,#c44);margin:0;padding:.65rem .85rem;font-size:.88rem;line-height:1.4}& .photo-render-field{flex-direction:column;gap:.5rem;display:flex;&>label,&>.field-label{letter-spacing:-.01em;color:var(--text);font-size:.88rem;font-weight:600}& input[type=url]{box-sizing:border-box;width:100%;min-height:var(--control-h);border-radius:var(--controlRadius,.95rem);background:var(--softInputBg,var(--chipFill));color:var(--text);font:inherit;box-shadow:none;border:none;padding:.55rem .95rem}& input[type=url]:focus-visible{border-color:color-mix(in srgb, var(--accent), var(--heading) 35%);box-shadow:var(--focus-ring);background:var(--elevatedFill,var(--uiBackground));outline:none}& input[type=url]:disabled{opacity:.55}}& .photo-render-presets{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.55rem;margin:0;padding:0;display:grid}& .photo-render-preset{margin:0;padding:0;list-style:none;position:relative}& .photo-render-preset input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}& .photo-render-preset .preset-card{border-radius:var(--cardRadius,1rem);background:var(--chipFill,var(--softCardBg));width:100%;min-height:100%;box-shadow:none;cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast), background var(--motion-fast);border:none;flex-direction:column;gap:.45rem;padding:.55rem .6rem .65rem;display:flex;position:relative}& .photo-render-preset .preset-swatches{border:none;border-radius:.45rem;grid-template-columns:repeat(4,1fr);gap:2px;height:1.55rem;display:grid;overflow:hidden}& .photo-render-preset .preset-swatches span{min-width:0;display:block}& .photo-render-preset .preset-label{color:var(--text);margin:0;padding-right:1.1rem;font-size:.78rem;font-weight:650;line-height:1.3}& .photo-render-preset .preset-check{background:var(--heading);width:1.15rem;height:1.15rem;color:var(--elevatedFill,var(--uiBackground));box-shadow:none;border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;line-height:1;display:grid;position:absolute;bottom:.5rem;right:.5rem;transform:scaleX(-1)rotate(-45deg)}& .photo-render-preset:hover .preset-card{border-color:color-mix(in srgb, var(--heading), transparent 82%);transform:translateY(-1px)}& .photo-render-preset.is-active .preset-card,& .photo-render-preset:has(input:checked) .preset-card{border-color:var(--heading);background:var(--elevatedFill,var(--uiBackground));box-shadow:var(--buttonShadow), 0 0 0 2px color-mix(in srgb, var(--accent), transparent 55%)}& .photo-render-preset:has(input:focus-visible) .preset-card{box-shadow:var(--focus-ring)}& .photo-render-preset:has(input:disabled) .preset-card{opacity:.55;cursor:not-allowed;transform:none}& .photo-render-file{border-radius:var(--cardRadius,1rem);border:1.5px dashed color-mix(in srgb, var(--heading), transparent 82%);background:var(--chipFill,var(--softCardBg));min-height:5.5rem;box-shadow:none;text-align:center;cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1rem 1.1rem;display:flex;position:relative}& .photo-render-file:hover,& .photo-render-file.is-active{border-color:color-mix(in srgb, var(--heading), transparent 55%);background:var(--elevatedFill,var(--uiBackground));box-shadow:none}& .photo-render-file:focus-within{box-shadow:var(--focus-ring);border-color:color-mix(in srgb, var(--accent), var(--heading) 35%)}& .photo-render-file input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}& .photo-render-file .file-title{color:var(--text);margin:0;font-size:.88rem;font-weight:650}& .photo-render-file .file-meta{color:var(--text);opacity:.85;user-select:none;pointer-events:none;max-width:28ch;margin:0;font-size:.78rem;line-height:1.4}& .photo-render-file.has-file{border-style:solid;border-color:color-mix(in srgb, var(--heading), transparent 70%)}& .photo-render-preview{z-index:4;border-bottom:1px solid var(--divider,transparent);background:var(--elevatedFill,var(--uiBackground));box-shadow:var(--floatShadow);flex-direction:column;flex-shrink:0;gap:.4rem;padding:.65rem clamp(1rem,3vw,1.5rem) .75rem;display:flex}& .photo-render-preview.is-sticky{position:sticky;top:0}& .photo-render-preview .preview-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}& .photo-render-preview .preview-header .field-label{font-size:.88rem;font-weight:600}& .preview-refresh{background:var(--chipFill,var(--softCardBg));min-height:2rem;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}& .preview-refresh:hover:not(:disabled){box-shadow:none}& .preview-refresh:focus-visible{box-shadow:var(--focus-ring);outline:none}& .preview-refresh:disabled{opacity:.5;cursor:default}& .source-preview-img{object-fit:contain;border-radius:calc(var(--cardRadius,1rem) - .35rem);background:color-mix(in srgb, var(--uiBackground), var(--heading) 4%);border:none;width:100%;max-height:8.5rem}& .preview-placeholder{min-height:4.5rem;color:var(--text);border-radius:calc(var(--cardRadius,1rem) - .35rem);border:1px dashed color-mix(in srgb, var(--heading), transparent 85%);background:var(--chipFill,var(--softCardBg));text-align:center;place-items:center;padding:.75rem;font-size:.85rem;line-height:1.45;display:grid}& .photo-render-preview .photo-render-hint{font-size:.75rem}& .photo-render-actions{padding:.85rem clamp(1rem, 3vw, 1.5rem) max(.85rem, env(safe-area-inset-bottom,0px));background:var(--elevatedFill,var(--uiBackground));border-top:1px solid var(--divider,transparent);box-shadow:var(--floatShadow);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.65rem;display:flex;& button{min-height:var(--control-h);background:var(--chipFill,var(--softCardBg));height:auto;color:var(--text);box-shadow:none;line-height:1.25;font:inherit;white-space:nowrap;touch-action:manipulation;cursor:pointer;transition:transform var(--motion-fast), box-shadow var(--motion-fast), filter var(--motion-fast);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.15rem;font-weight:600;display:inline-flex}& button.secondary{box-shadow:none;background:0 0;margin-right:auto}& button[type=submit]{background:var(--heading);color:var(--elevatedFill,var(--uiBackground));box-shadow:none;border-color:#0000}& button:hover:not(:disabled){box-shadow:none;transform:translateY(-1px)}& button[type=submit]:hover:not(:disabled){filter:brightness(1.05)}& button:focus-visible{box-shadow:var(--focus-ring);outline:none}& button:disabled{opacity:.45;cursor:not-allowed;transform:none}}}}}@media (width<=768px){aside#chat #photo-render-wrapper.form-wrapper .photo-render-form{& header.chat-header{padding:.75rem .85rem .5rem}& .photo-render-preview{padding:.55rem .85rem .65rem}& .source-preview-img{max-height:7rem}& .preview-placeholder{min-height:3.75rem}& .photo-render-body{padding:.65rem 1rem 1rem}& .photo-render-presets{grid-template-columns:1fr 1fr}& .photo-render-actions{padding:.75rem .85rem max(.75rem, env(safe-area-inset-bottom,0px));gap:.5rem;& button{flex:auto;min-width:0;padding:.5rem .85rem}& button.secondary{flex:none;margin-right:0}}}}@media (prefers-reduced-motion:reduce){aside#chat #photo-render-wrapper.form-wrapper .photo-render-form{& .photo-render-preset .preset-card,& .photo-render-actions button,& .photo-render-file{transition:none}}}fieldset#geometry-input{display:flex;&>div[class*=-view]{justify-content:center;align-items:flex-start;max-width:100%;margin:0 0 1em;display:flex;& span{--width:1;--size:5em;--max:calc(var(--size) * 4);--bg:color-mix(in srgb, var(--background), var(--text) 10%);--x:calc(var(--width) * var(--size));--y:calc(var(--size) / 2);width:var(--x);height:var(--y);max-width:var(--max);max-height:var(--max);background:var(--bg);margin-inline:calc(-1 * var(--y));z-index:2;justify-content:center;align-items:center;transition:all .3s;display:flex;[data-theme=dark] &{--bg:color-mix(in srgb, var(--background), var(--text) 20%)}&:before{white-space:nowrap;content:attr(data-value);display:block}&[class*=left],&[class*=right]{width:var(--y);height:var(--x);z-index:1;margin-inline:0}&[class*=left]{&:before{transform:rotate(-90deg)}}&[class*=right]{&:before{transform:rotate(90deg)}}}}& .ceiling-cabinets{cursor:pointer;align-items:center;gap:.75em;width:100%;margin-top:1em;display:flex;& input[type=checkbox]{width:auto;margin:0}}& .geometry-fields{align-items:flex-end;gap:1em;display:flex;&>label{flex:1;& span:has(svg){align-items:center;gap:1em;display:inline-flex;& svg{width:1.25em;height:2em;position:absolute;inset:auto auto auto .75em}& input{padding-left:2.5em!important}}}}}fieldset#layout{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.95rem;display:grid;& label{& input[type=radio]{opacity:0;pointer-events:none;position:absolute}& .content{border-radius:var(--cardRadius,1rem);background:var(--surface-2,var(--chipFill));width:100%;box-shadow:var(--nestedShadow);text-align:center;transition:box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease);border:none;padding:.7rem;& img{border-radius:calc(var(--cardRadius,1rem) - .25rem);width:100%;margin:0 0 .35em}& p{color:var(--text);margin:0;font-size:.82rem;font-weight:600}}&:hover .content{background:color-mix(in srgb, var(--surface-2), var(--heading) 4%);box-shadow:var(--softShadow)}&:has(input[type=radio]:checked) .content{background:var(--surface-1,var(--elevatedFill));box-shadow:inset 0 0 0 1.5px var(--heading), var(--softShadow)}&:has(input[type=radio]:focus-visible) .content{box-shadow:var(--focus-ring)}}}}fieldset#palette{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));gap:3em;display:grid;& label{flex-direction:row;display:flex;& input[type=radio]{display:none}& .content{& .colors{border:3px solid var(--text);border-radius:.25em;flex-direction:row;gap:0;width:fit-content;height:2em;margin:0 0 1em;transition:all .2s;display:flex;overflow:hidden;& span{width:1em;height:2em;display:inline-flex}}& h5{margin-bottom:.5em;font-size:1.15em}& .popularity{--score:0%;background:color-mix(in srgb, var(--background), var(--text) 15%);border-radius:.2em;width:100%;height:.25em;margin:0 0 .5em;display:block;position:relative;&:after{content:"";height:.25em;width:var(--score);background:var(--success);border-radius:.2em;display:block;position:absolute;left:0}}& p{font-size:.9em;line-height:1.25em;& .suitable-style{background:color-mix(in srgb, var(--background), var(--text) 15%);border-radius:.2em;padding:.2em .5em;font-size:.8em;line-height:1em;display:inline-flex;&:not(:last-child){margin-right:.5em}}}}&:has(input:checked){& .content{& .colors{border-color:var(--primary)}}}}}}.builder-container{flex-direction:column-reverse;gap:1em;width:100%;height:auto;max-height:80%;font-family:sans-serif;display:flex;& .toolbar{background:0 0;border-radius:.5em;flex-flow:wrap;justify-content:space-between;gap:2em;width:100%;padding:.5em;display:flex;& .tool-group,& .actions{flex-direction:row;gap:.5em;display:flex;&.actions{margin-left:auto}& .division-value{flex-direction:row;align-items:center;gap:.25em;font-size:1.5em;display:inline-flex;& input{width:5em;padding-inline:.5em .1em;font-size:.8rem}}& button{border:none;height:auto;padding:.5em;&.active{background:var(--primary);color:#fff}}& .hint{color:var(--text);margin:0;font-size:.8em}}}& aside.canvas-wrapper{padding:0;display:flex;position:relative;overflow:hidden;& .blueprint-svg{background:var(--background);pointer-events:visible;cursor:crosshair;border:2px solid color-mix(in srgb, var(--background), var(--text) 40%);max-height:60vh;margin:0 auto .5em}}}fieldset#style{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));display:grid;& label{& .content{text-align:center;border:3px solid #0000;border-radius:.6em;width:100%;& img{border-radius:.4em;width:100%;margin:0 0 .2em}& p{margin-bottom:.5em}}&:hover{& .content{border-color:color-mix(in srgb, var(--primary), transparent 50%)}}&:has(input[type=radio]:checked){& .content{border-color:var(--primary)}}}}}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes chat-enter{0%{opacity:0;transform:translateY(6px)}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,0px));background:var(--surface-1,var(--elevatedFill));border-top:1px solid var(--divider,transparent);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:999px;width:6.5rem;display:block}.init-skeleton-btn.is-primary{width:8rem}@media (width<=768px){.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{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{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;box-shadow:none;color:var(--text);scroll-behavior:smooth;background:0 0;border:none;flex:auto;margin:0;padding:5.75rem clamp(1.5rem,3.6vw,2.25rem) 7.5rem;scroll-padding-top:5.5rem;scroll-padding-bottom:7rem;overflow:auto;&>*{max-width:min(36rem, var(--measure,40ch) * 1.15)}&>fieldset,&>.geometry-fields,&>div[class*=-view]{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:700;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{border-radius:var(--cardRadius);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-2), var(--heading) 5%) 0%, var(--surface-2,var(--chipFill)) 55%, color-mix(in srgb, var(--surface-2), var(--heading) 3%) 100%);box-shadow:var(--nestedShadow);border:none;flex-direction:column;gap:.55rem;max-width:36rem;margin:0 0 1.4rem;padding:1.15rem 1.25rem 1.2rem;display:flex;& h1,& h2,& h3,& h4{letter-spacing:-.03em;color:var(--heading);max-width:24ch;margin:0;font-size:1.22rem;font-weight:700}& p{color:var(--textSecondary,var(--textMuted));max-width:42ch;margin:0;font-size:.9rem;line-height:1.5}}&>fieldset{border:none;min-inline-size:0;margin:0 0 1.15rem;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,& span{color:var(--text)}& label{flex-direction:column;gap:.55rem;margin-bottom:1.4rem;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(--alert);margin-left:.15em;font-weight:700}& input[type=number],& input[type=text],& input[type=email],& input[type=tel],& select,& textarea{min-height:var(--control-h);border-radius:var(--controlRadius,.95rem);border:1px 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:hover,& select:hover,& textarea:hover{border-color:var(--inputBorderHover,var(--inputBorder))}& input: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}&>fieldset:has(label){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:1px;height:1px;position:absolute}& label .content{border-radius:var(--cardRadius,1rem);background:linear-gradient(160deg, color-mix(in srgb, var(--surface-2), var(--heading) 3%) 0%, var(--surface-2,var(--chipFill)) 100%);width:100%;height:100%;box-shadow:var(--nestedShadow);text-align:center;transition:box-shadow var(--motion-fast,.16s ease), background var(--motion-fast,.16s ease), transform var(--motion-fast,.16s ease);border:none;flex-direction:column;padding:.75rem;display:flex}& label:has(input:checked) .content{background:linear-gradient(160deg, color-mix(in srgb, var(--surface-1), var(--heading) 3%) 0%, var(--surface-1,var(--elevatedFill)) 100%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--heading), transparent 15%), var(--softShadow), var(--premiumGlow)}& label .content img{border-radius:calc(var(--cardRadius,1rem) - .3rem);width:100%;margin:0 0 .4rem;display:block}& label .content p,& label .content h5{color:var(--text);margin:0;font-size:.82rem;font-weight:650;line-height:1.3}& label:hover .content{background:color-mix(in srgb, var(--surface-2), var(--heading) 4%);box-shadow:var(--softShadow);transform:translateY(-2px)}& label:has(input[type=radio]:checked) .content{background:linear-gradient(160deg, color-mix(in srgb, var(--surface-1), var(--heading) 3%) 0%, var(--surface-1,var(--elevatedFill)) 100%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--heading), transparent 15%), var(--softShadow), var(--premiumGlow)}& label:has(input[type=radio]:focus-visible) .content{box-shadow:var(--focus-ring)}}&#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:999px;height:.3rem;margin:.35rem 0 .5rem}}&#style>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}&#geometry-input,&>#geometry-input{flex-direction:column;gap:1rem;display:flex}& .geometry-fields{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));align-items:end;gap:.75rem;display:grid}& .geometry-fields label{margin-bottom:0}& .ceiling-cabinets{margin-top:.25rem}& div[class*=-view]{border-radius:var(--cardRadius,1rem);background:var(--surface-2,var(--chipFill));box-shadow:none;border:none;margin-bottom:.5rem;padding:1.2rem}}& .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 .progress-chip,& .progress-shell .progress{pointer-events:none}& .form-actions{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,0px));z-index:20;background:var(--surface-1,var(--elevatedFill));border-top:1px solid var(--divider,transparent);box-shadow:none;font-size:var(--fs-md,.95rem);flex-wrap:wrap;display:flex;position:absolute;inset:auto 0 0;& button{min-height:var(--control-h);background:var(--surface-2,var(--chipFill));height:auto;color:var(--text);box-shadow:none;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast,.16s ease);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.15rem;font-weight:600;line-height:1.25;display:inline-flex}& button:hover:not(:disabled){background:color-mix(in srgb, var(--surface-2), var(--heading) 6%)}& button:focus-visible{box-shadow:var(--focus-ring);outline:none}& button:disabled{opacity:.45;cursor:not-allowed;transform:none}& button[data-direction=back]{box-shadow:none;background:0 0;margin-right:auto}& button[data-direction=forward],& button[type=submit]{background:linear-gradient(165deg, color-mix(in srgb, var(--heading), white 7%) 0%, var(--heading) 55%, color-mix(in srgb, var(--heading), black 8%) 100%);color:var(--elevatedFill,var(--uiBackground));box-shadow:var(--buttonShadow), var(--premiumGlow);border:none;margin-left:0}& button[data-direction=forward]:not([disabled]):hover,& button[type=submit]:not([disabled]):hover{filter:brightness(1.05);background:var(--heading);color:var(--elevatedFill,var(--uiBackground))}& button[data-direction=forward] svg,& button[data-direction=back] svg{flex-shrink:0;width:1.05rem;height:1.05rem}& 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#budget{& .budget-input-wrapper{border-radius:var(--controlRadius,.95rem);border:1px 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{background:var(--surface-2,var(--chipFill));width:100%;height:auto;min-height:2.4rem;color:var(--text);box-shadow:none;font-variant-numeric:tabular-nums;touch-action:manipulation;border:none;border-radius:999px;justify-content:center;padding:.4rem .5rem;font-size:.82rem;font-weight:650}& button:hover{background:color-mix(in srgb, var(--surface-2), var(--heading) 6%);box-shadow:none;transform:none}& button:focus-visible{box-shadow:var(--focus-ring);outline:none}}}}}}@media (width<=900px) and (width>=769px){aside#chat:has(#init-wrapper){width:min(52%,28rem);max-width:min(52%,28rem)}}@media (height<=500px) and (width<=1100px) and (orientation:landscape){aside#chat:has(#init-wrapper){width:100%;max-width:none}}@media (width<=768px){aside#chat:has(#init-wrapper){border-radius:0;width:100%;max-width:none}aside#chat #init-wrapper.form-wrapper form{& .progress-shell{max-width:calc(100% - 1.3rem);inset:.5rem .65rem auto}&>fieldset.form-fieldset{padding-top:4.35rem}& .form-actions{border-top:1px solid var(--divider,transparent);border-radius:0;gap:.45rem;padding:.65rem .75rem;& button{border-radius:var(--controlRadius,.55rem);flex:auto;min-width:0;padding:.55rem .85rem}& button[data-direction=back]{flex:none;margin-right:0}}&>fieldset.form-fieldset{padding:4.25rem .9rem 6.25rem;&>h1,&>h2,&>h3,&>h4{max-width:none;font-size:1.12rem}&>fieldset:has(label){grid-template-columns:1fr 1fr}&#palette>fieldset:has(label){grid-template-columns:1fr}}}}@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}}}@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{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;@media (width<=768px){right:max(.65rem, env(safe-area-inset-right,0px));bottom:calc(var(--mobile-toolbox-h,3.25rem) + var(--fab-gap,.55rem));z-index:var(--z-chat-mobile);width:var(--fab-size,3rem);height:var(--fab-size,3rem);border-radius:999px;place-items:center;min-width:2.75rem;min-height:2.75rem;display:grid;position:fixed}@media (height<=500px) and (width<=1100px) and (orientation:landscape){right:max(.5rem, env(safe-area-inset-right,0px));bottom:calc(var(--mobile-toolbox-h,2.75rem) + .35rem);z-index:var(--z-chat-mobile);width:var(--fab-size,2.5rem);height:var(--fab-size,2.5rem);border-radius:999px;place-items:center;min-width:2.4rem;min-height:2.4rem;display:grid;position:fixed}}body:has(dialog#cookie-informer) button.chat-caller{@media (width<=768px){bottom:calc(var(--mobile-toolbox-h,3.25rem) + min(12rem, 28dvh) + .75rem)}}body:has(aside#chat.chat-drawer-open) button.chat-caller{@media (width<=768px){opacity:0;pointer-events:none;transform:scale(.9)}@media (height<=500px) and (width<=1100px) and (orientation:landscape){opacity:0;pointer-events:none;transform:scale(.9)}}body:has(aside#chat.chat-drawer-open) #toolbox-wrap{@media (width<=768px){pointer-events:none;opacity:.4}@media (height<=500px) and (width<=1100px) and (orientation:landscape){pointer-events:none;opacity:.4}}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}@media (width<=768px),(height<=500px) and (width<=1100px) and (orientation:landscape){.chat-backdrop{z-index:var(--z-chat-backdrop);background:color-mix(in srgb, var(--heading), transparent 55%);backdrop-filter:blur(2px);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);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}}aside#chat{--border:var(--subtleBorder);--bottomSpace:var(--chat-bottom-space,10em);--chat-muted:var(--textSecondary,var(--textMuted));--chat-transition-fast:var(--motion-fast);--chat-disabled-opacity:.45;--chat-panel-header-h:3.85rem;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;& header.chat-header{min-height:2.85rem;padding:.55rem .55rem .55rem .85rem}& article.chat-history{gap:.95em;padding-block:.9rem}}& .chat-header-actions{--header-action-size:2.25rem;flex-shrink:0;align-items:center;gap:.2rem;margin:0;padding:0;display:flex}& .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);border-radius:var(--pillRadius);background:var(--surface-2,color-mix(in srgb, var(--text) 5%, transparent));color:var(--text);cursor:pointer;opacity:1;touch-action:manipulation;box-shadow:none;z-index:1;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.15rem;font-weight:600;line-height:1;display:inline-flex;position:relative;& svg{flex-shrink:0;width:1.05rem;height:1.05rem}&:hover{background:color-mix(in srgb, var(--heading), transparent 92%);color:var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:2px}}& .chat-header-tool.is-on{background:var(--heading);color:var(--surface-1,var(--elevatedFill));box-shadow:none}& .chat-header-tool.is-on:hover{background:var(--heading);color:var(--surface-1,var(--elevatedFill));filter:brightness(1.06)}& :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:2px;box-shadow:var(--focus-ring)}@media (width<=1100px) and (width>=769px){height:calc(100dvh - var(--header-h) - var(--workspace-pad) * 2.75);margin:0 var(--workspace-pad) var(--workspace-pad);max-width:var(--chat-max-width)}@media (width<=768px){--bottomSpace:var(--chat-bottom-space,6.5rem);top:var(--header-h);width:100%;max-width:none;height:min(88dvh, calc(100dvh - var(--header-h) - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - var(--header-h));border:none;border-bottom:1px solid var(--divider,transparent);background:var(--surface-1,var(--elevatedFill));-webkit-backdrop-filter:none;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)}}@media (height<=500px) and (width<=1100px) and (orientation:landscape){--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:1px 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}}&.chat-float{top:auto;right:max(1.5rem, env(safe-area-inset-right,0px));bottom:max(7rem, calc(4.5rem + env(safe-area-inset-bottom,0px)));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;@media (width<=768px){top:var(--header-h);width:100%;max-width:none;height:min(88dvh, calc(100dvh - var(--header-h) - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - var(--header-h));border:none;border-bottom:1px 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.35rem;min-height:var(--chat-panel-header-h,3.85rem);height:var(--chat-panel-header-h,3.85rem);padding:var(--space-3,.75rem) var(--space-3,.75rem) var(--space-3,.75rem) var(--space-4,1rem);border-bottom:1px solid var(--divider,transparent);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;font-size:.92rem;display:flex;position:relative;& h2{color:var(--text);letter-spacing:.015em;margin:0;font-size:1.05rem;font-weight:600;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-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-5,1.5rem);min-height:0;padding:var(--space-5,1.5rem) var(--space-5,1.5rem) calc(var(--bottomSpace) + var(--space-5,1.5rem));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:var(--space-4,1rem);scroll-padding-bottom:calc(var(--bottomSpace) + var(--space-4,1rem));scroll-behavior:smooth;background:0 0;flex-direction:column;flex:1;display:flex;position:relative;overflow-y: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:smooth}& span.bottom-offset{height:var(--bottomSpace);pointer-events:none;position:absolute;inset:auto 0 0}}& footer.chat-compose{min-height:var(--bottomSpace);flex-shrink:0;position:relative;& section.chat-hints{inset:auto 0 var(--bottomSpace) 0;z-index:4;pointer-events:auto;margin:0;padding:.35em 1em .25em;position:absolute;& .chat-suggestions{-webkit-overflow-scrolling:touch;flex-flow:wrap;gap:.55em;max-height:5.5rem;padding-bottom:.25rem;display:flex;overflow:visible}@media (width<=768px){& .chat-suggestions{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-height:none;padding-bottom:.35rem;overflow:auto hidden;mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - 1.25rem),#0000);&::-webkit-scrollbar{display:none}}& .chat-suggestion{flex-shrink:0;max-width:min(16rem,72vw)}}& .chat-suggestion{width:fit-content;min-height:var(--hit-min,2.5rem);height:auto;font-size:var(--fs-xs,.72rem);font-weight:550;line-height:var(--lh-tight,1.25);text-align:left;background:linear-gradient(145deg, color-mix(in srgb, var(--surface-2), var(--heading) 4%) 0%, var(--surface-2,var(--chipFill)) 100%);color:var(--heading);text-shadow:none;cursor:pointer;box-shadow:var(--nestedShadow);transition:background var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);border:none;border-radius:999px;margin:0;padding:.55em 1.05em;&:hover:not(:disabled){background:color-mix(in srgb, var(--surface-2), var(--heading) 5%);box-shadow:var(--softShadow), var(--premiumGlow);transform:translateY(-1px)}&:disabled{cursor:not-allowed;opacity:var(--chat-disabled-opacity)}}}& .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){& .chat-send-hint{opacity:0;visibility:hidden}}@media (width<=768px){& .chat-send-hint{display:none}& .chat-suggestion{min-height:var(--hit-min,2.75rem)}}}@media (width<=768px){& .chat-header-tool,& .chat-header-close{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)}}}form#request-form{width:calc(100% - 2em);height:calc(var(--bottomSpace) - 2em);border:1px solid var(--inputBorder,var(--subtleBorder));border-radius:var(--cardRadius,1.1rem);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);padding:0;position:absolute;inset:auto 1em 1em;&: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))}& label{position:absolute;inset:0;& textarea{border-radius:var(--cardRadius,1.1rem);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{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);touch-action:manipulation;border:none;border-radius:999px;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,2px);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}&.stop-button,&.retry-button{white-space:nowrap;border-radius:999px;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{&.active{color:var(--heading);background:color-mix(in srgb, var(--accent), transparent 72%);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent), transparent 55%);animation:1.4s ease-in-out infinite voice-pulse}&.unsupported{opacity:.55}&:disabled{cursor:not-allowed}}}}& .voice-error,& .voice-hint{inset:auto auto .5rem .45rem;right:calc(var(--control-h) * 2.2 + 1.1rem);z-index:3;border-radius:var(--pillRadius,999px);letter-spacing:.01em;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - var(--control-h) * 2.4 - 1.6rem);background:color-mix(in srgb, var(--surface-1,var(--elevatedFill)), transparent 8%);box-shadow:var(--nestedShadow,none);margin:0;padding:.15rem .45rem;font-size:.66rem;font-weight:600;line-height:1.35;position:absolute;overflow:hidden}& .voice-error{color:var(--danger,#b42318);background:color-mix(in srgb, var(--danger,#b42318), transparent 92%)}& .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),&:has(.voice-error){& label textarea{padding-top:1.85rem}}}@media (width<=768px){form#request-form{width:calc(100% - 1.1em);height:calc(var(--bottomSpace,7.25rem) - 1.15em);border-radius:calc(var(--cardRadius,1.1rem) - .15rem);inset:.55em;& label textarea{min-height:2.75rem;max-height:5.5rem;padding:.7rem .85rem;padding-right:calc(var(--control-h) * 2.4 + .75rem);font-size:.9rem}& fieldset{gap:.35em;inset:.35em;& 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))}}& .voice-error,& .voice-hint{inset:.4rem auto auto .7rem;right:calc(var(--control-h) * 2.2 + .85rem);max-width:calc(100% - var(--control-h) * 2.3 - 1.2rem);font-size:.62rem}&:has(.voice-hint),&:has(.voice-error){& label textarea{padding-top:1.65rem}}}}@media (height<=500px) and (orientation:landscape){form#request-form{width:calc(100% - .8em);height:calc(var(--bottomSpace,5.5rem) - .85em);inset:.4em;& label textarea{min-height:2.25rem;max-height:3.5rem;padding:.45rem .65rem;font-size:.85rem}}}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@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{border:none;border-bottom:1px solid var(--subtleBorder);background:color-mix(in srgb, var(--uiBackground), transparent 8%);text-align:left;cursor:pointer;width:100%;height:auto;text-shadow:none;transition:font-size var(--motion-fast), padding var(--motion-fast), opacity var(--motion-fast);border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:0;padding:.55rem 1rem;display:flex;&.is-compact{opacity:1;padding:.28rem 1rem;& .label{color:var(--text);font-size:.62rem}& .value{color:var(--text);font-size:.85rem}}&:hover{background:color-mix(in srgb, var(--text) 4%, var(--uiBackground))}&:focus-visible{outline:var(--focus-outline);outline-offset:-2px}& .label{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}& .value{font-variant-numeric:tabular-nums;color:var(--text);font-size:.95rem;font-weight:600}}.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:999px;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{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;& .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}& .avatar{--size:1.25em;--halfSize:calc(var(--size) / 2);width:var(--size);height:var(--size);background:color-mix(in srgb, var(--primary), 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 1px 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}& .text-placeholder{--width:5em;--delay:.2s;--duration:1s;width:var(--width);background:color-mix(in srgb, var(--background), var(--text) 30%);height:.7em;animation:placeholder var(--duration) var(--delay) infinite ease-in-out;border-radius:.25em;margin:0 .5em 0 0;display:inline-block}}&.widget{flex-direction:column;padding:.5em 0;& .message{width:100%;& .content{width:100%;max-width:100%}}}&.tool{flex-direction:column;& .assets{flex-direction:row-reverse}& .message .content{width:100%;max-width:100%;&:has(article.kitchen-insight){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{flex-direction:column;& .assets{flex-direction:row-reverse}& .message .content{line-height:1.5}& .think-message{width:100%;min-width:100%;margin:0 0 1em;padding:0;display:flex;position:relative;& .think-message-icon svg{width:1rem;height:1rem;margin:.2rem .5rem 0 0}}& .message{& .content{width:fit-content;max-width:100%;overflow:auto}& .turn-status{color:var(--primary);margin:.5em 0 0;font-size:.72rem;animation:1.2s ease-in-out infinite chat-pulse}& .stream-cursor{vertical-align:text-bottom;background:var(--primary);width:.45em;height:1em;margin-left:.1em;animation:.9s step-end infinite stream-blink;display:inline-block}}}&,&.assistant,&.user{& .message{&:hover .entry-actions,&:focus-within .entry-actions{opacity:1}& .entry-actions{opacity:0;transition:opacity var(--chat-transition-fast,.15s ease);flex-wrap:wrap;gap:.5em;margin:.75em 0 0;display:flex;& .entry-action{color:var(--text);cursor:pointer;height:auto;text-shadow:inherit;box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;gap:.35em;padding:0;font-size:.7rem;line-height:1.1;display:inline-flex;& svg{--size:1em;height:var(--size);width:var(--size)}&.copied{color:var(--primary)}&:focus-visible{outline:2px solid var(--primary);outline-offset:2px}&:hover{text-underline-offset:.2em;text-decoration:underline}}}}}& .tool-card{border-radius:var(--cardRadius,var(--panelRadius));background:var(--surface-2,var(--chipFill));box-shadow:none;color:var(--text);border:none;padding:.7rem .9rem}& .tool-card.error{background:color-mix(in srgb, var(--danger) 8%, var(--surface-2));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;font-size:.9em;display:inline-flex}& .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;& img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}}}&.error{flex-direction:column;& .avatar{background:var(--danger);color:#fff;& svg{stroke:#fff}}& .message{background:color-mix(in srgb, var(--danger), white 10%);color:#fff;border-color:var(--danger);text-shadow:0 1px 0 color-mix(in srgb, var(--danger), white 30%);border-radius:.5em;padding:1em;& .timestamp{color:inherit}}}}.markdown-body{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.markdown-body pre{background:color-mix(in srgb, var(--text) 6%, var(--uiBackground));border-radius:.4em;max-width:100%;padding:.75em 1em 2.25em;position:relative;overflow-x:auto}.markdown-body img,.markdown-body table{max-width:100%}.markdown-body code{font-size:.85em}.markdown-body table{border-collapse:collapse;width:100%;font-size:.85em}.markdown-body th,.markdown-body td{border:1px solid color-mix(in srgb, var(--text) 20%, transparent);padding:.35em .5em}.markdown-body .code-copy{border:1px solid color-mix(in srgb, var(--text) 15%, transparent);background:var(--uiBackground);color:var(--text);cursor:pointer;border-radius:.25em;min-width:2.75rem;min-height:2.75rem;padding:.2em .45em;font-size:.65rem;position:absolute;bottom:.35em;right:.35em}.kitchen-insight{--insight-hero-mb:1.25rem;--insight-pad-x:1.2rem;--insight-pad-y:1.15rem;--insight-muted:var(--text);--insight-line:var(--divider,transparent);width:100%;padding:var(--insight-pad-y) var(--insight-pad-x) calc(var(--insight-pad-y) + .1rem);border-radius:var(--cardRadius,var(--panelRadius));background:var(--surface-2,var(--chipFill));box-shadow:var(--nestedShadow);text-align:left;color:var(--text);border:none;flex-wrap:wrap;align-items:center;gap:0 .75rem;display:flex;&>header{font-size:var(--sectionLabel,.58rem);letter-spacing:.14em;text-transform:uppercase;flex:1 0 100%;margin:0 0 .85em;font-weight:600}&>.score{font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0 0 var(--insight-hero-mb);color:var(--text);text-wrap:balance;font-size:1.85rem;font-weight:600;line-height:1.05}&>.badge{margin:0 0 var(--insight-hero-mb)}& .badge{text-transform:uppercase;letter-spacing:.08em;border:1px 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:999px;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:var(--danger)}}& .chips{border-top:1px solid var(--insight-line);flex-wrap:wrap;flex:1 0 100%;align-items:stretch;gap:1.15rem 2rem;margin:0;padding:1rem 0 .15rem;list-style:none;display:flex}& .chip{background:0 0;flex-direction:column;align-items:baseline;gap:.28em;min-width:0;margin:0;padding:0;display:flex;& .value{font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.02em;font-size:1.12rem;font-weight:600;line-height:1.1}& .hint{letter-spacing:.02em;white-space:nowrap;font-size:.7rem;font-weight:500;line-height:1.35}&.warn{border-radius:var(--pillRadius,.75rem);border:1px solid color-mix(in srgb, var(--alert) 22%, transparent);background:color-mix(in srgb, var(--alert) 10%, transparent);padding:.4em .65em;& .value{color:var(--alert)}}&.reference .value{color:var(--text);font-weight:500}}& .footnote{border-top:1px solid var(--insight-line);letter-spacing:.01em;flex:1 0 100%;margin:1rem 0 0;padding-top:.85rem;font-size:.72rem;line-height:1.45}}.kitchen-insight.pricing>.score{letter-spacing:-.045em;font-size:1.75rem;font-weight:600}.kitchen-insight.pricing>header{margin-bottom:.7em}.kitchen-insight.evaluation .chips{gap:1.15rem 2.25rem}.kitchen-insight.evaluation>.score{font-feature-settings:"tnum" 1;min-width:1.5ch}dialog#cookie-informer{transition:opacity var(--motion-med), transform var(--motion-med);visibility:visible;width:fit-content;min-width:min(20rem,92vw);max-width:min(25rem,92vw);height:auto;inset:auto;bottom:max(1em, env(safe-area-inset-bottom,0px));right:max(1em, env(safe-area-inset-right,0px));border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 30%);background:var(--premiumGlass);color:var(--text);box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);opacity:1;border-radius:var(--panelRadius);user-select:none;z-index:var(--z-modal);backdrop-filter:blur(8px);flex-flow:column wrap;gap:1em;padding:1.25rem 1.5rem;font-size:.9em;display:flex;position:fixed;& h3,& p{margin:0}& .actions{justify-content:space-between;align-items:baseline;gap:1rem;display:flex;& a{color:inherit;text-underline-offset:.2em;font-weight:600;text-decoration-style:dotted;text-decoration-thickness:1px}& button{&:first-of-type{margin-left:auto}&.accept{color:#fff;background:var(--primary);[data-theme=dark] &{color:#000}}}}}@media screen and (width<=768px){dialog#cookie-informer{right:max(.65rem, env(safe-area-inset-right,0px));left:max(.65rem, env(safe-area-inset-left,0px));bottom:calc(var(--mobile-toolbox-h,3.25rem) + var(--fab-size,3rem) + .75rem);border-radius:var(--cardRadius,.65rem);width:auto;min-width:0;max-width:none}}@media screen and (width<=440px){dialog#cookie-informer{inset:auto 0 0;bottom:calc(var(--mobile-toolbox-h,3.25rem) + var(--fab-size,3rem) + .5rem);border-radius:0;border-radius:var(--panelRadius) var(--panelRadius) 0 0;min-width:0;max-width:100%;& .actions{flex-direction:column;align-items:center;gap:.5em;& button{text-align:center;justify-content:center;align-items:center;width:100%;margin:auto}}}}#kitchen-builder{background:#fff}.contact-shadows{mix-blend-mode:multiply}.grid-helper{opacity:.3}#toolbox-wrap{gap:var(--space-3);inset:auto;left:max(var(--workspace-pad), env(safe-area-inset-left,0px));z-index:var(--z-toolbox);max-height:calc(100dvh - var(--header-h) - 3rem);overscroll-behavior:contain;scrollbar-width:thin;max-width:min(100%, calc(100vw - var(--chat-width) - 2rem));pointer-events:none;flex-direction:column;display:flex;position:absolute;overflow:visible;&>*{pointer-events:auto}@media (width>=769px){section#workspace:has(#init-wrapper) &{max-width:min(100%,100vw - min(48%,42rem) - 2.5rem)}section#workspace:has(#booking-wrapper) &{max-width:min(100%,100vw - min(50%,50rem) - 2.5rem)}}@media (width<=900px) and (width>=769px){max-width:min(100%, calc(100vw - var(--chat-width) - 1.25rem));section#workspace:has(#init-wrapper) &{max-width:min(100%,100vw - min(52%,28rem) - 1.5rem)}section#workspace:has(#booking-wrapper) &{max-width:min(100%,100vw - min(55%,26rem) - 1.5rem)}}@media (width<=768px){width:100%;max-height:none;height:var(--mobile-toolbox-h,3.25rem);z-index:var(--z-toolbox);pointer-events:none;flex-direction:row;justify-content:stretch;align-items:stretch;gap:0;position:fixed;inset:auto 0 0;max-width:none!important;&>*{pointer-events:auto;width:100%;max-width:none}}@media (height<=500px) and (width<=1100px) and (orientation:landscape){width:100%;max-height:none;height:var(--mobile-toolbox-h,2.75rem);flex-direction:row;gap:0;position:fixed;inset:auto 0 0;max-width:none!important;&>*{width:100%;max-width:none}}}fieldset#toolbox{border-radius:var(--panelRadius);background:var(--surfaceWarm,var(--surface-1,var(--elevatedFill)));box-shadow:var(--softShadow), var(--panelHighlight);border:none;flex-flow:column wrap;gap:.45em;padding:.7em .55em;font-size:.8rem;display:flex;position:relative;&:before{content:"";border-radius:inherit;background:var(--surfaceGlow);pointer-events:none;z-index:0;position:absolute;inset:0}&>label,&>.toolbox-sep{z-index:1;position:relative}& .toolbox-sep{background:color-mix(in srgb, var(--heading), transparent 90%);opacity:1;border:0;height:1px;margin:.25em .45em;display:block}& label{align-items:center;display:flex;position:relative;& button{--size:3rem;font-size:calc(var(--size) / 2.2);height:var(--size);width:var(--size);min-height:var(--size);min-width:var(--size);max-width:var(--size);box-shadow:none;transition:background var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);color:var(--text);touch-action:manipulation;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border-radius:.85rem;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;line-height:1;display:inline-flex;&:hover:not([disabled]):not(.active){background:var(--surface-2,var(--chipFill));color:var(--heading);box-shadow:none;transform:none}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,2px);box-shadow:var(--focus-ring)}&.active:not([disabled]){background:linear-gradient(160deg, color-mix(in srgb, var(--heading), white 8%) 0%, var(--heading) 100%);color:var(--surface-1,var(--elevatedFill));box-shadow:var(--buttonShadow);border-radius:1rem}& svg{aspect-ratio:1;width:calc(var(--size) / 2.1);height:calc(var(--size) / 2.1);min-width:calc(var(--size) / 2.1);min-height:calc(var(--size) / 2.1);opacity:1;color:inherit;display:block}&[disabled]{opacity:.28}&.busy:not([disabled]){opacity:.65;animation:1.2s ease-in-out infinite toolbox-busy-pulse}&+.popover-hint{background:var(--surface-1,var(--uiBackground));color:var(--text);text-shadow:none;box-shadow:var(--floatShadow);user-select:none;pointer-events:none;opacity:0;white-space:nowrap;z-index:9999;border-radius:.5em;padding:.2em 1em;font-size:0;transition:all .4s;position:absolute;inset:auto 0 auto 100%;overflow:hidden}}}&:hover .popover-hint{opacity:1;font-size:1.25em;font-weight:400;right:auto}@media (width<=768px){width:100%;height:100%;padding:.1rem max(.15rem, env(safe-area-inset-right,0px)) .1rem max(.15rem, env(safe-area-inset-left,0px));border:none;border-top:1px solid var(--divider,transparent);box-shadow:none;border-radius:0;flex-flow:row;justify-content:space-between;align-items:center;gap:0;margin:0;overflow:clip visible;& .toolbox-sep{flex:none;align-self:center;width:1px;height:1rem;margin:0 1px}& label{flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:2.35rem;display:flex;position:relative;& button{aspect-ratio:1;border-radius:.35rem;width:100%;min-width:0;max-width:2.2rem;height:auto;min-height:0;max-height:2.2rem;padding:0}& button svg{width:52%;min-width:0;height:52%;min-height:0}& button+.popover-hint{display:none}}}@media (width<=360px){& .toolbox-sep{display:none}& label{max-width:2.1rem;& button{max-width:2rem;max-height:2rem}}}@media (height<=500px) and (width<=1100px) and (orientation:landscape){width:100%;height:100%;padding:.06rem max(.12rem, env(safe-area-inset-right,0px)) .06rem max(.12rem, env(safe-area-inset-left,0px));border:none;border-top:1px solid var(--divider,transparent);box-shadow:none;border-radius:0;flex-flow:row;justify-content:space-between;align-items:center;gap:0;margin:0;overflow-x:clip;& .toolbox-sep{width:1px;height:.9rem;margin:0 1px}& label{flex:1 1 0;justify-content:center;min-width:0;max-width:2.1rem;display:flex;& button{aspect-ratio:1;border-radius:.3rem;width:100%;min-width:0;max-width:1.95rem;height:auto;max-height:1.95rem}& button svg{width:52%;min-width:0;height:52%;min-height:0}& button+.popover-hint{display:none}}}}fieldset#material-colors,fieldset#kitchen-style{background:var(--surface-1,var(--elevatedFill));box-shadow:var(--floatShadow);min-width:14.5rem;max-width:min(19rem,100vw - 7rem);max-height:min(100%,100dvh - 2rem);z-index:calc(var(--z-toolbox) + 1);border:none;border-radius:1em;flex-direction:column;gap:.55em;margin:0;padding:1.1em 1.25em;font-size:1rem;display:flex;position:absolute;top:0;left:5rem;overflow-y:auto;@media (width<=768px){top:auto;left:0;right:0;bottom:var(--mobile-toolbox-h,3.25rem);width:auto;min-width:0;max-width:none;max-height:min(52dvh, calc(100dvh - var(--header-h) - var(--mobile-toolbox-h,3.25rem) - 1rem));box-shadow:var(--heavyShadow);z-index:calc(var(--z-toolbox) + 2);border-bottom:none;border-left:none;border-right:none;border-radius:0;position:fixed}@media (height<=500px) and (width<=1100px) and (orientation:landscape){left:0;right:auto;top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);border-radius:0;width:min(18rem,46vw);max-width:46vw;max-height:none;position:fixed}& .panel-hint{opacity:.72;margin:0;font-size:.72em;line-height:1.35}& .presets{flex-direction:column;gap:.4em;width:100%;display:flex;& .presets-title{font-size:.85em;font-weight:600}& .preset-grid{flex-direction:column;gap:.4em;display:flex;& .preset-card{border-radius:var(--pillRadius);color:inherit;cursor:pointer;box-shadow:none;text-shadow:none;background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:.35em;height:auto;padding:.25em .35em;font-size:.95em;line-height:1.2;display:flex;&.active{font-weight:600}& .preset-swatches{gap:.2em;display:flex;& .preset-swatch{--size:2em;width:var(--size);height:var(--size);border:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-radius:.25em}}& .preset-label{font-weight:600}}}}& .customize-toggle{box-shadow:none;color:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.72em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}& .customize-zones{flex-direction:column;gap:.55em;display:flex}& .material-zone{border-bottom:1px solid color-mix(in srgb, var(--text) 8%, transparent);flex-direction:column;gap:.4em;padding-bottom:.5em;display:flex;&:last-child{border-bottom:none;padding-bottom:0}}& .material-zone-header{justify-content:space-between;align-items:center;gap:.5em;display:flex}& .material-zone-title{font-size:.78em;font-weight:600}& .zone-action{box-shadow:none;color:inherit;opacity:.75;cursor:pointer;text-underline-offset:.12em;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.65em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}& .material-zone-row{flex-direction:column;gap:.35em;padding-top:.15em;display:flex}& .material-zone-row-label{opacity:.75;font-size:.68em}& .swatch-picker{flex-direction:column;gap:.3em;display:flex}& .swatch-picker-label{opacity:.75;font-size:.68em}& .swatch-grid,& .texture-grid{flex-wrap:wrap;gap:.3em;display:flex}& .color-swatch,& .texture-swatch{--size:5em;width:var(--size);height:var(--size);cursor:pointer;box-shadow:none;background-color:#0000;background-position:50%;background-size:cover;border:2px solid #0000;border-radius:.35em;padding:0;&:hover{z-index:999;scale:1.25}&:focus-visible{outline:2px solid color-mix(in srgb, var(--text) 55%, transparent);outline-offset:1px}&.active{border-color:var(--text);box-shadow:0 0 0 1px var(--uiBackground)}}& .color-swatch{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent)}& .style-picker{flex-direction:column;justify-content:space-between;gap:.3em;display:flex}& .style-picker-label{opacity:.75;font-size:.68em}& .style-option-grid{flex-wrap:wrap;gap:.35em;display:flex}& .style-option{border-radius:var(--pillRadius);background:var(--surface-2,var(--pillBg));color:inherit;cursor:pointer;box-shadow:none;text-shadow:none;border:none;padding:.28em .55em;font-size:.67em;line-height:1.15;&:hover,&:focus-visible{background:color-mix(in srgb, var(--surface-2), var(--heading) 6%);outline:none}&.active{background:var(--heading);color:var(--surface-1,var(--elevatedFill));font-weight:600}}& .reset-colors{cursor:pointer;box-shadow:none;background:0 0;border:none;align-self:flex-start;margin-top:.35em;padding:0;font-size:.85em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}}fieldset#controls{z-index:999;flex-flow:column wrap;gap:.5em;font-size:.7rem;display:flex;position:absolute;inset:auto 1em 1em auto;& button{--size:2rem;font-weight:700;font-size:calc(var(--size) / 2);height:var(--size);width:var(--size);border-radius:50%;justify-content:center;padding:0}}@keyframes toolbox-busy-pulse{0%,to{scale:1}50%{scale:1.08}}button#dev-trigger{opacity:0;cursor:auto;background:0 0;border:none;width:1rem;height:1rem;padding:0;position:fixed;inset:0 auto auto 0}@keyframes scene-capture-flash{0%{filter:brightness()saturate()}15%{filter:brightness(2.7)saturate(1.25)}55%{filter:brightness(1.7)saturate(1.1)}to{filter:brightness()saturate()}}aside#scene{--scene-bg:#b8b4ae;--scene-vignette-blur:13px;--scene-vignette-darkness:.36;inset:0;right:calc(var(--chat-width) + 1.25rem);top:calc(var(--header-h) + var(--workspace-pad) * 1.35);background-color:var(--scene-bg);border:none;border-radius:0;flex:1;align-items:center;margin-right:auto;transition:opacity .2s;display:flex;position:absolute;overflow:visible;&[data-scene-mood=evening]{--scene-bg:#726f72;--scene-vignette-blur:15px;--scene-vignette-darkness:.42}&.fullscreen{border:none;inset:0}@media (width<=1100px){right:calc(var(--chat-width) + var(--workspace-pad) + .35rem);top:calc(var(--header-h) + var(--workspace-pad) * 1.15)}@media (width>=769px) and (width<=900px){right:calc(var(--chat-width) + var(--workspace-pad) + .25rem)}@media (width<=768px){left:0;right:0;top:var(--header-h);bottom:var(--mobile-toolbox-h,3.25rem);border-radius:0}@media (height<=500px) and (width<=1100px) and (orientation:landscape){top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);left:0;right:0}&.grab{cursor:grab}&.grabbing{cursor:grabbing}& canvas{opacity:1;filter:saturate();border-radius:0;width:100%;height:100%;transition:opacity .48s cubic-bezier(.4,0,.2,1),filter .48s cubic-bezier(.4,0,.2,1);display:block;position:absolute;inset:0}&.scene-visual-busy canvas{opacity:.78;filter:saturate(.9)}& canvas.capture-flash{animation:.2s ease-out forwards scene-capture-flash}&:after{content:"";z-index:1000;pointer-events:none;background:color-mix(in srgb, var(--scene-bg,#1a1a1a) calc(var(--scene-vignette-darkness,.24) * 100%), transparent);backdrop-filter:blur(var(--scene-vignette-blur,5rem));mask-image:var(--scene-vignette-mask);border-radius:0;position:absolute;inset:0;mask-position:50%;mask-size:130%;mask-repeat:no-repeat}&.fullscreen canvas{border-radius:0}&:before{content:"";z-index:2;pointer-events:none;mix-blend-mode:multiply;opacity:.1;width:100%;height:100%;animation:grain-move .75s steps(6) infinite linear;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E");background-repeat:repeat;background-size:10rem 10rem;position:absolute;inset:0}}section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:calc(min(50%, 50rem) + var(--workspace-pad) + .75rem)}@media (width<=900px) and (width>=769px){section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:calc(min(55%, 26rem) + var(--workspace-pad) + .5rem)}}@media (width<=768px){section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:0}}@media (height<=500px) and (width<=1100px) and (orientation:landscape){aside#scene:not(.fullscreen),section#workspace:has(#init-wrapper) aside#scene:not(.fullscreen),section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){left:0;right:0}}.scene-planner-feedback{z-index:100;pointer-events:none;background:color-mix(in srgb, var(--scene-bg,#1a1a1a) 24%, transparent);backdrop-filter:blur(8px);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.scene-planner-feedback p{color:var(--text);text-align:center;letter-spacing:.01em;opacity:1;margin:0;font-size:.8rem}aside#scene.fullscreen .scene-planner-feedback{border-radius:0}@keyframes grain-move{0%{background-position:0 0}25%{background-position:25px 15px}50%{background-position:-18px 28px}75%{background-position:12px -22px}to{background-position:0 0}}main#project-page{--sceneBg:#c9c5c0;background:var(--sceneBg);min-width:100vw;min-height:100dvh;transition:background-color var(--motion-med);overflow:visible;&:has(canvas[data-scene-mood=evening]){--sceneBg:#726c70}& section#workspace{gap:var(--workspace-gap);height:100%;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);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 (width<=1100px){main#project-page section#workspace{gap:var(--workspace-gap,.85rem)}}@media (width<=900px){main#project-page section#workspace{gap:var(--workspace-gap,.65rem)}}@media (width<=768px){main#project-page section#workspace{justify-content:stretch;align-items:stretch;gap:0;padding-top:0}}@media (height<=500px) and (orientation:landscape){main#project-page section#workspace{gap:.35rem}}@media (prefers-reduced-motion:reduce){main#project-page{transition:none}}