@font-face{font-family:DM Sans;src:url(./dm-sans-DMCyRDl7.woff2)format("woff2");font-weight:100 1000;font-display:swap}:root{color:#384348;font-synthesis:none;background:#f0eee7;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}button{font:inherit;cursor:pointer;color:#263b42;background:#fff;border:1px solid #d9d9d2;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 13px;font-size:12px;font-weight:650;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}button:hover{background:#f7f5f0;border-color:#aeb5b0}button:active{background:#eae5da}button:focus-visible,canvas:focus-visible{outline-offset:-3px;outline:3px solid #17687d}button:disabled{opacity:.35;cursor:default}button svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.viewer{background:radial-gradient(at 50% 40%,#fffdf7 0%,#f0eee7 80%);flex-direction:column;height:100%;display:flex;position:relative}.heading{z-index:2;pointer-events:none;letter-spacing:.025em;justify-content:space-between;align-items:flex-start;gap:12px;font-size:12px;display:flex;position:absolute;top:18px;left:20px;right:20px}.heading strong{font-weight:650}.badge{letter-spacing:.08em;background:#f7f5f080;border:1px solid #d2d5cc;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:650}.hint{letter-spacing:0;color:#626b6a;margin:5px 0 0;font-size:11px;line-height:1.4}.stage{flex:1;min-height:0;position:relative}canvas{cursor:grab;touch-action:pan-y pinch-zoom;width:100%;height:100%;display:block}canvas:active{cursor:grabbing}#poster{object-fit:contain;width:100%;height:100%;padding:65px 30px;position:absolute;inset:0}#loading{text-align:center;background:#f0eee7e6;margin:0;padding:12px;font-size:13px;position:absolute;top:43%;left:20px;right:20px}.rotate{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:48%;left:12px;right:12px}.rotate button{pointer-events:auto;background:#ffffffc9;border-color:#d9d9d280;width:44px;padding:0}.rotate button:hover{background:#fff;border-color:#aeb5b0}.rotate svg{width:20px;height:20px}.actions{z-index:3;pointer-events:none;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.actions>button,.zoom{pointer-events:auto;box-shadow:0 2px 8px #263b4208}.reset,.primary{min-width:106px}.zoom{background:#fff;border:1px solid #d9d9d2;border-radius:4px;flex-shrink:0;align-items:center;display:flex}.zoom button{background:0 0;border:0;width:44px;padding:0}.zoom button:hover:not(:disabled){background:#f0eee7}.zoom output{text-align:center;font-variant-numeric:tabular-nums;min-width:46px;font-size:11px;font-weight:550}.primary{color:#182c30;background:#e2b02f;border-color:#d9a827}.primary:hover{background:#d2a026;border-color:#c59722}.primary:active{background:#c69925}.extend-icon{display:none}.primary[data-folded=true] .extend-icon{display:initial}.primary[data-folded=true] .fold-icon{display:none}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#retry{white-space:nowrap;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (max-width:420px){.heading{font-size:11px;top:15px;left:16px;right:16px}.hint{font-size:10px}.actions{gap:7px;bottom:12px;left:12px;right:12px}.reset{width:44px;min-width:44px;padding:0}.reset span{display:none}.primary{min-width:98px;padding:0 10px}.zoom output{min-width:40px}.rotate{left:8px;right:8px}.rotate button{background:#ffffffb3}}@media (max-width:330px){.primary{width:44px;min-width:44px;padding:0}.primary span{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}.heading-copy{min-width:0;max-width:calc(100% - 38px)}#model-picker{pointer-events:auto;max-width:100%}#model-select{font:inherit;letter-spacing:0;color:#263b42;cursor:pointer;text-overflow:ellipsis;background:#fffefa;border:1px solid #d4d9d3;border-radius:4px;width:320px;max-width:100%;min-height:44px;padding:8px 28px 8px 11px;font-size:12px;font-weight:650}#model-select:focus-visible{outline-offset:1px;outline:3px solid #17687d}.primary[data-motion=backrest]{min-width:132px}@media (max-width:420px){#model-select{padding-left:8px;font-size:11px}.primary[data-motion=backrest]{gap:5px;min-width:108px;padding:0 7px;font-size:11px}}@media (max-width:330px){.primary[data-motion=backrest]{min-width:44px}}.fabric-panel{background:#f7f5f0;border-top:1px solid #d9d9d2;flex:0 0 164px;min-width:0;padding:12px 18px 10px}.fabric-fields{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.fabric-fields label{color:#384348;gap:5px;min-width:0;font-size:11px;font-weight:650;display:grid}.fabric-fields select{width:100%;min-width:0;min-height:44px;font:inherit;color:#263b42;text-overflow:ellipsis;cursor:pointer;background:#fffefa;border:1px solid #d4d9d3;border-radius:4px;padding:6px 8px;font-size:12px;font-weight:500}.fabric-fields select:disabled{color:#626b6a;cursor:default;background:#eeece5}.fabric-fields select:focus-visible{outline-offset:1px;outline:3px solid #17687d}.fabric-swatches{scrollbar-width:thin;scrollbar-color:#b5b5a9 transparent;gap:4px;min-width:0;padding:5px 2px 2px;display:flex;overflow-x:auto}.fabric-swatch{background:0 0;border-color:#0000;flex:0 0 44px;width:44px;min-height:44px;padding:7px}.fabric-swatch span{background-blend-mode:multiply;background-size:56px;border:1px solid #263b4220;border-radius:2px;width:28px;height:28px;display:block}.fabric-swatch[aria-pressed=true]{background:#fff;border:2px solid #263b42;padding:6px}.fabric-feedback{color:#626b6a;min-height:14px;margin:5px 0 0;font-size:10px;line-height:1.35}@media (max-width:420px){.fabric-panel{flex-basis:172px;padding:11px 12px 9px}.fabric-fields{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px}.fabric-fields select{padding-inline:5px;font-size:11px}.fabric-feedback{max-width:100%;font-size:10px}}
