.physical-showroom{--ink:#292a2b;position:relative;color:var(--ink);background:#f1f0eb;min-height:calc(100svh - 76px);padding:34px 4.4vw 22px;overflow:hidden;font-family:inherit;background-image:radial-gradient(ellipse at 57% 24%,#dfe8ed7a,transparent 57%),linear-gradient(100deg,#f3f1eb,#eeeee9 58%,#f3f2ee)}
.physical-showroom:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.81' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.8' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.physical-showroom button{font:inherit;color:inherit;cursor:pointer}.physical-showroom button:focus-visible,.physical-showroom summary:focus-visible{outline:2px solid #536b8c;outline-offset:5px}.physical-showroom button{border:0;background:none}.ps-heading{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.ps-heading .overline{font-size:10px;letter-spacing:.16em;color:#6f7376}.ps-heading h1{font-size:clamp(44px,5.8vw,83px);font-weight:500;letter-spacing:-.085em;line-height:1;margin:16px 0 0}.ps-heading h1 span{font-size:.5em;letter-spacing:-.06em;margin-left:12px}.ps-heading p{font-size:15px;line-height:1.65;color:#656969;max-width:240px;margin-right:14vw}.ps-selection{font-size:11px;letter-spacing:.06em;align-self:flex-start;padding-top:3px}.ps-selection b{font-weight:400;margin-left:8px;border:1px solid #b9bdbb;border-radius:50%;padding:5px 8px}
.ps-stage{height:clamp(440px,65vh,700px);position:relative;margin:4px -3.2vw 0}.ps-canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;position:relative;z-index:1}.ps-canvas:active{cursor:grabbing}.is-focus .ps-canvas{cursor:ew-resize}.ps-coordinate{position:absolute;top:35px;left:3.2vw;font-size:8px;line-height:1.7;letter-spacing:.16em;color:#818584;pointer-events:none;z-index:2;transition:opacity .5s}.is-focus .ps-coordinate{opacity:0}.ps-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;font-size:13px;background:#f1f0eb;z-index:6}.ps-loading span{font-size:10px;letter-spacing:.23em;color:#767b80}.ps-hover{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);min-width:230px;display:flex;gap:30px;font-size:11px;letter-spacing:.04em;pointer-events:none;z-index:2}.ps-hover b{font-weight:400;color:#727879}.ps-cursor{position:absolute;z-index:8;pointer-events:none;opacity:0;transition:opacity .2s;font-size:8px;letter-spacing:.13em;background:#f7f7f1c9;backdrop-filter:blur(5px);border:1px solid #dadbd6;padding:7px 9px;border-radius:1px}.ps-cursor.visible{opacity:1}
.ps-piece-nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c8cdca;border-bottom:1px solid #c8cdca;margin:0 0 22px;padding:17px 0;gap:12px}.ps-piece-nav button{display:flex;gap:15px;align-items:center;font-size:11px;text-align:left;transition:color .2s,opacity .2s}.ps-piece-nav button small{font-size:8px;color:#8a908c}.ps-piece-nav button.near span,.ps-piece-nav button[aria-current="true"] span{text-decoration:underline;text-underline-offset:6px}.ps-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.04em;color:#737a77;position:relative}.ps-footer>span:first-child{font-size:8px;letter-spacing:.1em}
.ps-tools{position:absolute;bottom:15px;left:8%;width:48%;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;animation:ps-ui-in .7s .3s both}.ps-tools[hidden],.ps-story[hidden]{display:none}.ps-tools>div{display:flex;align-items:center;gap:18px}.ps-tools>span{font-size:8px;color:#787e80;letter-spacing:.1em}.ps-tools button{padding:8px 0}.ps-story{position:absolute;z-index:4;width:25%;right:5%;top:50%;transform:translateY(-50%);animation:ps-story-in .7s .38s both}.ps-story .overline{font-size:9px;letter-spacing:.18em;color:#838889}.ps-story h2{font-size:clamp(27px,3vw,43px);letter-spacing:-.045em;line-height:1.06;font-weight:500;margin:15px 0 12px}.ps-story>p{font-size:11px;color:#7a8080;margin:0 0 16px}.ps-price{display:block;font-size:18px;letter-spacing:-.03em;font-weight:400;margin-bottom:27px}.ps-variant{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c6cac6;padding:15px 0}.ps-variant>span{font-size:10px;color:#7c827f}.ps-variant b{font-weight:400;color:#343a38;display:inline-block;margin-left:10px}.ps-variant>div{display:flex;gap:10px}.ps-variant button{width:19px;height:19px;background:var(--tone);border:3px solid #eeefea;border-radius:50%;box-shadow:0 0 0 1px transparent}.ps-variant button[aria-pressed="true"]{box-shadow:0 0 0 1px #828f8c}.ps-sizes{display:flex;gap:7px;align-items:center;border:0;padding:0;margin:9px 0 13px}.ps-sizes legend{float:left;margin-right:auto;font-size:10px;color:#7c827f;padding-top:9px}.ps-sizes button{font-size:10px;padding:8px 12px;border:1px solid transparent}.ps-sizes button[aria-pressed="true"]{border-color:#8c9690}.ps-texture{font-size:10px!important;padding:12px 0;margin-bottom:13px}.ps-add{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;background:#293331!important;color:#fff!important;font-size:11px!important;box-shadow:0 8px 16px #29333115;transition:background .3s,transform .3s}.ps-add:hover{background:#41504c!important;transform:translateY(-1px)}.ps-add:active{transform:scale(.98)}.ps-stock{display:block;font-size:9px;color:#7c837e;margin-top:11px}.ps-details{font-size:10px;color:#727a75;margin-top:18px}.ps-details summary{cursor:pointer;list-style:none}.ps-details p{line-height:1.8;max-width:260px}.ps-fallback-images{position:absolute;inset:0;display:flex;align-items:center;overflow:auto}.ps-fallback-images img{width:40%;object-fit:contain}.ps-fallback .ps-loading{top:auto;height:35px;display:block;padding:8px;background:#f1f0ebcc;font-size:10px}.ps-fallback canvas{visibility:hidden}
@keyframes ps-ui-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes ps-story-in{from{opacity:0;translate:22px 0}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.ps-story{right:9%;width:22%}.ps-tools{left:12%;width:41%}}
@media(max-width:900px){.ps-heading p{margin-right:4vw}.ps-story{right:4%;width:28%}.ps-tools>span{display:none}.ps-sizes button{padding:7px 9px}.ps-piece-nav{gap:7px}.ps-piece-nav button{gap:5px;font-size:10px}}
@media(max-width:700px){.physical-showroom{padding:23px 22px 24px;min-height:calc(100svh - 66px)}.ps-heading{align-items:flex-end}.ps-heading h1{font-size:47px;margin-top:13px}.ps-heading .overline{font-size:7px;letter-spacing:.1em}.ps-heading p{display:none}.ps-selection{font-size:9px;padding-top:2px}.ps-stage{height:480px;margin:8px -22px 0}.ps-coordinate{left:22px;top:20px;font-size:7px}.ps-cursor{display:none}.ps-hover{bottom:22px;font-size:10px;justify-content:center;min-width:250px}.ps-piece-nav{padding:15px 0;overflow-x:auto;gap:24px;margin-bottom:19px;scrollbar-width:none}.ps-piece-nav button{flex-shrink:0;gap:7px;font-size:10px}.ps-footer{flex-wrap:wrap;gap:12px;font-size:8px}.ps-footer .ps-hint{display:none}.ps-footer>span:last-child{margin-left:auto}.is-focus .ps-stage{height:auto;min-height:890px}.is-focus .ps-canvas{height:490px}.ps-story{position:relative;top:auto;right:auto;width:auto;transform:none;margin:27px 30px 5px;animation:ps-ui-in .5s .2s both}.ps-story h2{font-size:31px;margin:10px 0}.ps-story>p{font-size:11px}.ps-price{float:right;margin-top:-46px;font-size:19px;margin-bottom:0}.ps-tools{top:456px;bottom:auto;left:25px;width:calc(100% - 50px);font-size:10px}.ps-tools>div{gap:20px}.ps-variant{padding:13px 0}.ps-sizes{margin:6px 0 8px}.ps-sizes button{padding:9px 15px}.ps-texture{padding:7px 0;margin-bottom:14px}.ps-details{margin-top:15px}.is-focus .ps-piece-nav{margin-top:20px}.ps-story .ps-add{padding:17px}.ps-stock{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.physical-showroom *{animation:none!important;transition:none!important}.ps-cursor{display:none}}

.physical-showroom .ps-variant button{min-height:24px;width:24px;height:24px}.physical-showroom .ps-variant button:hover{box-shadow:0 0 0 1px #a2ada8}@media(max-width:700px){.physical-showroom .ps-variant button{min-height:30px;width:30px;height:30px}}
/* 4205 — interaction layers only; rail/focus composition preserved. */
.ps-canvas{touch-action:pan-y}.is-focus .ps-canvas{touch-action:none}
.ps-story,.ps-tools{animation:none;transition:opacity .38s,translate .55s cubic-bezier(.22,.7,.2,1)}
.is-pulling .ps-story{opacity:0;translate:15px 0;pointer-events:none}.is-pulling .ps-tools{opacity:0;translate:0 8px}
.is-returning .ps-story,.is-returning .ps-tools{opacity:0;translate:0 8px;pointer-events:none}
.ps-variant button,.ps-sizes button,.ps-finish button{transition:box-shadow .2s,transform .25s,border-color .25s}
.ps-sizes button:hover,.ps-finish button:hover{border-color:#aab4ad;transform:translateY(-1px)}
.ps-finish{display:flex;align-items:center;gap:9px;border:0;padding:0;margin:3px 0 10px;font-size:9px}
.ps-finish legend{float:left;padding:7px 0;color:#7c827f;margin-right:auto}.ps-finish button{padding:7px 3px;border-bottom:1px solid transparent}
.ps-finish button[aria-pressed=true]{border-color:#63776e}
.ps-texture{position:relative}.ps-texture:after{content:'EXPLORE';font-size:7px;letter-spacing:.15em;display:inline-block;margin-left:16px;color:#84918d;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}.ps-texture:hover:after,.ps-texture:focus-visible:after{opacity:1;transform:none}
.ps-add{position:relative;overflow:hidden}.ps-add:after{content:'';position:absolute;inset:-30% -50%;background:linear-gradient(105deg,transparent 42%,#efffff20 49%,transparent 56%);transform:translateX(-50%);pointer-events:none;transition:transform .8s}.ps-add:hover:after,.ps-add.is-confirmed:after{transform:translateX(45%)}.ps-add span{transition:transform .25s}.ps-add:hover span{transform:translate(2px,-2px)}.ps-add.is-confirmed{background:#42564c!important}
.ps-selection b{display:inline-block}.ps-selection.is-counting b{animation:ps-count .65s ease-out}.ps-selection-glint{position:fixed;width:18px;height:3px;background:#c9e8df;box-shadow:0 0 12px #bcd8d0;z-index:20;pointer-events:none;border-radius:50%}
@keyframes ps-count{0%{transform:translateY(5px);box-shadow:0 0 0 0 #819d9144}45%{transform:translateY(-1px);box-shadow:0 0 0 8px #819d9100}100%{transform:none}}
.ps-macro-ui{position:absolute;z-index:5;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}.ps-macro-ui[hidden]{display:none}.macro-settled .ps-macro-ui{opacity:1}
.ps-macro-top,.ps-macro-bottom{position:absolute;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px}
.ps-macro-top{top:22px}.ps-macro-bottom{bottom:28px}.ps-macro-top>*,.ps-macro-bottom>*{background:#f2f2eddb;padding:12px 15px;border:1px solid #f9faf080;backdrop-filter:blur(4px)}
.ps-macro-top button,.ps-macro-tones button{pointer-events:auto}.ps-macro-top>div{display:flex;gap:24px}.ps-macro-bottom small{display:block;font-size:8px;letter-spacing:.12em;color:#6e7774}.ps-macro-fabric{display:block;margin-top:7px;font-size:12px}.ps-macro-tones{display:flex;gap:12px}.ps-macro-tones button{width:25px;height:25px;background:var(--tone);border:3px solid #ecefe9;border-radius:50%;box-shadow:0 0 0 1px transparent}.ps-macro-tones button[aria-pressed=true]{box-shadow:0 0 0 1px #566b61}
.is-macro .ps-story,.is-macro .ps-tools{opacity:0;pointer-events:none}.is-macro .ps-canvas{cursor:move}
@media(max-width:700px){.ps-macro-ui{height:490px}.ps-macro-top,.ps-macro-bottom{left:16px;right:16px;gap:8px;font-size:9px}.ps-macro-top{top:18px}.ps-macro-top>*{padding:10px}.ps-macro-title{display:none}.ps-macro-bottom{bottom:18px;align-items:flex-end}.ps-macro-bottom>small{display:none}.ps-macro-fabric{font-size:10px;max-width:158px}.ps-macro-tones{gap:7px;padding:10px}.ps-macro-tones button{width:29px;height:29px}.ps-finish{font-size:10px}.ps-finish button{padding:9px 5px}.ps-texture:after{display:none}}
@media(prefers-reduced-motion:reduce){.is-pulling .ps-story,.is-pulling .ps-tools{opacity:1;translate:none}.ps-selection-glint{display:none}}
.physical-showroom .ps-macro-tones button{min-height:25px;flex:0 0 25px}
@media(max-width:700px){.physical-showroom .ps-macro-tones button{min-height:29px;flex-basis:29px}.is-macro .ps-stage{height:490px;min-height:490px}.is-macro .ps-story{display:none}}
.physical-showroom .ps-macro-top>button{background:#f2f2edeb;color:#29332f;border:1px solid #fafbf4a6}

/* 4206 — final selection feedback; no composition changes. */
.ps-add.is-pressing{animation:ps-confirm-press .32s cubic-bezier(.2,.65,.25,1)}
.ps-selection.is-counting b{animation:ps-count-final .65s cubic-bezier(.2,.7,.2,1)}
@keyframes ps-confirm-press{0%,100%{transform:scale(1)}32%{transform:scale(.975)}}
@keyframes ps-count-final{0%{transform:translateY(3px) scale(.91);box-shadow:0 0 0 0 #819d9144}45%{transform:translateY(-1px) scale(1.11);box-shadow:0 0 0 7px #819d9100}73%{transform:scale(.985)}100%{transform:none}}
