:root{--paper:#f4f1eb;--white:#fffdfa;--ink:#29372e;--olive:#586847;--rust:#b47350;--muted:#777b70;--line:#dddcd2;--wash:#e8e9df;--serif:Georgia,"Noto Serif TC","Songti TC",serif;--sans:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.scene:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1560px,100%);margin:auto;padding-left:clamp(20px,4vw,68px);padding-right:clamp(20px,4vw,68px)}.skip{position:fixed;top:-100px;left:24px;z-index:30;background:var(--ink);color:#fff;padding:12px 20px}.skip:focus{top:16px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:104px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand-mark{font-family:var(--serif);font-size:37px;line-height:1;letter-spacing:.09em}.brand-mark>span{display:block;font-family:var(--sans);font-size:7px;line-height:2;letter-spacing:.21em;margin-top:5px}.brand-name{border-left:1px solid #c7cbbc;padding-left:20px;font-size:12px;letter-spacing:.13em}.brand-name small{display:block;font-size:7px;letter-spacing:.14em;margin-top:4px;color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px}.header-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #9bA18c;border-radius:3px;padding:11px 16px}.header-cta:hover{background:var(--wash)}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:48px 0 34px}.eyebrow{font-size:9px;font-weight:550;letter-spacing:.19em;line-height:1.5;margin:0;color:var(--olive)}.intro .eyebrow{display:flex;align-items:center;gap:10px}.intro .eyebrow span{width:22px;height:1px;background:var(--rust)}h1{font-family:var(--serif);font-size:clamp(31px,3.4vw,50px);font-weight:400;line-height:1.4;letter-spacing:.01em;margin:15px 0 11px}h1 em,h2 em{font-style:normal;color:var(--olive)}.intro-copy{color:var(--muted);font-size:13px;margin:0;line-height:1.85}.intro-aside{display:flex;gap:21px;margin:0 0 5px;color:var(--muted);font-size:10px;white-space:nowrap}.studio{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.workspace{min-width:0}.view-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0 16px}.view-heading>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.view-heading strong{font-size:12px;font-weight:500}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--olive)}.scene-caption{font-size:9px;color:var(--muted);margin-left:5px}.segmented{display:flex;gap:3px;background:#e8e8df;padding:4px;border-radius:5px}.segmented button{border:0;background:transparent;color:#6b7367;font-size:11px;min-height:37px;padding:7px 14px;border-radius:3px;white-space:nowrap}.segmented button[aria-pressed=true]{color:var(--ink);background:var(--white);box-shadow:0 1px 5px #2631240b}.scene{position:relative;aspect-ratio:1.35;min-height:450px;max-height:760px;background:#e4dfd5;overflow:hidden;border-radius:4px;isolation:isolate;touch-action:none;outline-offset:4px}.scene canvas{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;cursor:grab}.scene.move-mode canvas{cursor:move}.scene canvas:active{cursor:grabbing}.scene-label{position:absolute;left:28px;top:26px;display:flex;flex-direction:column;gap:7px;pointer-events:none;color:#465143;text-shadow:0 1px 12px #fff}.scene-label span{font-size:7px;letter-spacing:.15em}.scene-label strong{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.07em}.scene-watermark{position:absolute;right:20px;bottom:17px;font-size:9px;color:#344334;letter-spacing:.03em;background:#fffaf0bd;padding:5px 8px;border-radius:3px;pointer-events:none}.scene-hint{position:absolute;bottom:17px;left:20px;margin:0;background:#fffaf0d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;letter-spacing:.01em;color:#4f594b;padding:6px 10px;border-radius:3px;pointer-events:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--olive);background:#e8e5dd;z-index:3}.loading strong{font-family:var(--serif);font-size:20px;font-weight:400}.loading>span:last-child{font-size:11px;color:var(--muted)}.loading-ring{width:26px;height:26px;border:1px solid #a0ac93;border-right-color:transparent;border-radius:50%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:13px 0}.modes button{min-height:40px}.modes span{font-size:17px;margin-right:6px}.toolbar-actions{display:flex;align-items:center;gap:13px}.text-button{border:0;padding:10px 0;background:none;min-height:40px;color:var(--olive);font-size:11px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.text-button:hover{text-decoration-color:currentColor}.selection-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#e7e9df;margin-top:14px;border:1px solid #d7dcca;padding:14px 17px;border-radius:4px}.selection-panel .eyebrow{font-size:7px;margin-bottom:3px}.selection-panel strong{font-size:13px;font-weight:500}.selected-size{font-size:10px;color:var(--muted);display:block}.selected-actions{display:flex;align-items:center;gap:14px}.nudge{display:flex;gap:3px}.nudge button{width:37px;min-height:40px;border:1px solid #d6dbce;background:var(--white);border-radius:3px;font-size:17px}.remove{color:#956249}.overlap-note{flex-basis:100%;font-size:10px;color:#875b40;margin:0}.scene-footnote{font-size:10px;line-height:1.8;color:var(--muted);margin:13px 0 0;max-width:660px}.takeaway{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 0 35px}.takeaway h2{font-family:var(--serif);font-size:32px;line-height:1.4;font-weight:400;margin:13px 0}.takeaway>div>p:last-child{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:0}.takeaway-actions{width:47%;max-width:330px}.takeaway-actions>.btn{width:100%}.save-row{display:flex;gap:15px;justify-content:space-between;margin-top:7px}.fine-print{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}.takeaway-actions #saveNote{font-size:9px}.settings{border:1px solid var(--line);border-radius:5px;background:#faf8f3;margin-top:0;overflow:hidden}.settings-top{padding:24px 24px 20px;border-bottom:1px solid var(--line)}.settings-top h2{font-family:var(--serif);font-size:22px;line-height:1.5;font-weight:400;margin:7px 0 0}.control-section{padding:22px 23px;border-bottom:1px solid var(--line)}.section-heading,.control-section summary{display:flex;align-items:center;gap:10px}.section-heading{margin-bottom:16px}.section-number{color:var(--rust);font-family:Georgia,serif;font-size:12px}.section-heading h3,.control-section summary h3{font-size:12px;font-weight:550;margin:0;letter-spacing:.03em}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.style-card{text-align:left;background:none;border:1px solid #e0e0d6;border-radius:4px;overflow:hidden;padding:0;transition:border-color .15s,box-shadow .15s}.style-card[aria-pressed=true]{border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}.style-card:hover{border-color:var(--olive)}.style-preview{height:76px;position:relative;display:block;background:linear-gradient(164deg,var(--wall) 0 63%,var(--floor) 63%);overflow:hidden}.style-preview:before{content:"";position:absolute;background:var(--sofa);border-radius:6px 6px 3px 3px;width:54%;height:27%;left:19%;bottom:20%;box-shadow:0 -6px 0 0 var(--sofa),-6px 2px 0 0 var(--sofa),6px 2px 0 0 var(--sofa),0 7px 7px #29211a1a}.style-preview:after{content:"";position:absolute;width:29%;height:5%;border-radius:50%;background:var(--wood);bottom:17%;left:49%;box-shadow:0 4px 0 -1px var(--wood)}.style-preview i{position:absolute;right:11%;top:17%;width:20%;height:35%;background:linear-gradient(125deg,#f6f8eda3,#d9e3dea3);border:2px solid #ffffe677;box-shadow:0 0 13px #fff3}.style-label{position:relative;padding:9px 10px;display:block}.style-label strong{font-size:11px;font-weight:500;display:block}.style-label small{font-size:8px;color:var(--muted);display:block;margin-top:1px}.style-card[aria-pressed=true] .style-label:after{content:"✓";position:absolute;right:9px;top:9px;font-size:11px;color:var(--olive)}.control-note{font-size:9px;color:var(--muted);line-height:1.8;margin:12px 0 0}.field{display:block;font-size:10px;font-weight:500}.field span{font-size:9px;color:var(--muted);font-weight:400}.field select,.field input{display:block;width:100%;border:1px solid #d9dbd1;background:var(--white);border-radius:3px;margin-top:7px;padding:10px 11px;font-size:12px;font-weight:400;min-height:44px}.dimension-fields{display:grid;grid-template-columns:1fr 10px 1fr 49px;gap:7px;align-items:end;margin-top:13px}.dimension-fields>span{align-self:center;padding-top:22px;color:var(--muted)}.dimension-fields input{padding-left:9px;padding-right:3px}.dimension-apply{padding:0;font-size:10px;border:1px solid #b7c0aa;border-radius:3px;min-height:44px;background:#e9ecdf;color:var(--olive)}details summary{list-style:none;cursor:pointer;min-height:22px}details summary::-webkit-details-marker{display:none}details .plus{margin-left:auto;font-size:16px;font-weight:300;color:var(--muted)}details[open] .plus{transform:rotate(45deg)}details[open] summary{margin-bottom:18px}.furniture-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.furniture-grid button{display:flex;align-items:center;gap:9px;min-height:44px;background:var(--white);border:1px solid #dfdfd5;border-radius:3px;padding:9px 10px;text-align:left;font-size:11px}.furniture-grid button:hover{border-color:var(--olive);background:#f2f3e9}.furniture-icon{display:flex;align-items:center;justify-content:center;width:24px;color:var(--olive)}.furniture-icon svg{width:22px;height:22px;stroke-width:1.25;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.catalog-foot{display:flex;justify-content:space-between;align-items:center;margin-top:5px;color:var(--muted);font-size:9px}.catalog-foot .text-button{font-size:10px}.item-select-label{margin-top:6px}.custom-colors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.custom-colors label{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:44px;border:1px solid #dfdfd5;border-radius:3px;padding:5px 9px;font-size:10px;background:var(--white)}.custom-colors input{width:28px;height:29px;border:0;background:transparent;padding:0;cursor:pointer}.custom-colors input::-webkit-color-swatch-wrapper{padding:2px}.custom-colors input::-webkit-color-swatch{border:1px solid #29372e22;border-radius:50%}.reset-colors{font-size:10px;margin-top:6px}.share-section{background:#e7e9dd;padding:25px 23px}.share-section h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.5;margin:10px 0 19px}.share-section textarea{width:100%;resize:vertical;min-height:90px;margin-top:8px;padding:12px;border:1px solid #cfd5c2;border-radius:3px;background:#fcfbf7;font-size:11px;line-height:1.8}.share-section textarea::placeholder{color:#989b8f}.btn{display:flex;align-items:center;justify-content:space-between;gap:15px;border-radius:3px;min-height:48px;padding:12px 17px;font-size:12px;font-weight:500;border:1px solid var(--olive);transition:background .15s,color .15s}.btn.primary{background:var(--olive);color:#fffdf5}.btn.primary:hover{background:#435436}.btn.secondary{background:transparent;color:var(--olive)}.btn.secondary:hover{background:#e9ecdf}.share-section>.btn{width:100%;margin-top:14px}.btn>span{font-size:19px;font-weight:300}.review{border-top:1px solid #c9cfbc;padding-top:16px;margin-top:20px}.review-label{font-size:11px;font-weight:500;margin:0}.review pre{font-family:var(--sans);font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f8f0;max-height:280px;overflow:auto;padding:12px;border-radius:3px}.status{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:20;width:max-content;max-width:calc(100vw - 40px);font-size:12px;padding:12px 19px;border-radius:4px;box-shadow:0 8px 30px #0002;background:var(--ink);color:var(--white);pointer-events:none;margin:0;transition:opacity .2s}.status:empty{opacity:0;padding:0}.site-footer{border-top:1px solid var(--line);margin-top:24px;min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-family:var(--serif);font-size:22px}.footer-brand span{font-family:var(--sans);font-size:10px;display:inline-block;margin-left:16px;color:var(--muted)}.site-footer>div{display:flex;gap:23px;color:var(--muted);font-size:9px}.fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#e1e4d7,#f0e7da);padding:35px;text-align:center;z-index:4}.fallback>span{font-size:52px;color:var(--olive)}.fallback h2{font-family:var(--serif);font-size:27px;font-weight:400}.fallback p{max-width:340px;line-height:1.9;color:var(--muted);font-size:12px}.fallback .btn{margin-top:15px}.noscript{background:#e9ecdf;padding:20px}@media(min-width:1600px){.scene{min-height:620px}.studio{grid-template-columns:minmax(0,1fr) 352px;gap:32px}.settings-top,.control-section,.share-section{padding-left:27px;padding-right:27px}}@media(max-width:1180px){.shell{padding-left:28px;padding-right:28px}.studio{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.intro-aside{display:none}.scene{aspect-ratio:1;min-height:450px}.scene-caption{display:none}.control-section{padding:20px}.settings-top,.share-section{padding:22px 20px}.scene-hint{font-size:9px;left:14px;bottom:46px}.scene-watermark{right:14px;bottom:15px}.scene-label{left:22px}.view-heading{gap:8px}.segmented.views button{padding:7px 10px}.selection-panel{padding:12px}.selected-actions{gap:10px}.nudge button{width:34px}.takeaway{gap:18px}.takeaway h2{font-size:29px}.takeaway-actions{width:49%}.save-row{gap:8px;flex-wrap:wrap}.save-row .text-button{font-size:10px}}@media(max-width:900px){.studio{grid-template-columns:minmax(0,1fr) 282px;gap:17px}.brand-name{display:none}.scene{min-height:460px}.scene-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{align-self:flex-end;margin-top:-4px}.scene-label strong{font-size:18px}.takeaway{align-items:start;flex-direction:column}.takeaway-actions{width:100%;max-width:none}.takeaway h2 br{display:none}.takeaway h2{margin:8px 0}.desktop-break{display:none}}@media(max-width:740px){.shell{padding-left:20px;padding-right:20px}.site-header{min-height:85px}.brand-mark{font-size:31px}.site-header nav{gap:15px;font-size:10px}.header-cta{gap:14px;padding:9px 12px}.intro{padding:29px 0 22px}.intro h1{font-size:clamp(29px,6.2vw,43px);margin-top:12px}.intro-copy{font-size:11px;max-width:370px;line-height:1.9}.studio{display:flex;flex-direction:column;gap:22px}.workspace,.settings{width:100%}.view-heading{padding:8px 0 12px}.view-heading strong{font-size:10px}.views button{min-height:38px}.scene{min-height:0;max-height:none;height:clamp(350px,100vw,560px);aspect-ratio:auto}.scene-label{left:21px;top:21px}.scene-label strong{font-size:20px}.scene-hint{bottom:15px;left:14px;font-size:9px;max-width:65%;line-height:1.6}.scene-watermark{max-width:29%;text-align:right;font-size:8px;padding:6px}.scene-toolbar{flex-direction:row;align-items:center;gap:7px;padding:11px 0}.toolbar-actions{align-self:auto;gap:12px;margin:0}.toolbar-actions .text-button{font-size:10px}.modes{gap:1px;padding:3px}.modes button{font-size:10px;padding:7px 9px}.modes span{font-size:14px;margin-right:3px}.scene-footnote{font-size:9px}.selection-panel{gap:10px;padding:14px}.selected-actions{flex-wrap:wrap;gap:12px}.nudge button{width:38px;min-height:44px}.selected-size{font-size:9px}.takeaway{display:none}.settings-top{padding:23px}.settings-top h2{font-size:24px}.control-section,.share-section{padding:23px}.style-grid{grid-template-columns:repeat(4,1fr);gap:9px}.style-preview{height:65px}.style-label{padding:9px 7px}.style-label strong{font-size:10px}.style-label small{font-size:7px}.style-card[aria-pressed=true] .style-label:after{top:6px;right:5px;font-size:8px}.field{font-size:11px}.field select,.field input{font-size:14px;min-height:48px}.dimension-fields{grid-template-columns:1fr 10px 1fr 62px;gap:10px}.dimension-apply{min-height:48px;font-size:11px}.control-note{font-size:10px}.furniture-grid{grid-template-columns:repeat(3,1fr)}.furniture-grid button{font-size:11px;min-height:49px}.section-heading h3,.control-section summary h3{font-size:13px}.custom-colors label{font-size:11px;min-height:48px}.custom-colors input{width:33px;height:33px}.share-section textarea{font-size:14px;min-height:110px}.share-section h3{font-size:25px}.share-section .btn{min-height:50px}.fine-print{font-size:10px}.site-footer{margin-top:34px;align-items:flex-start;flex-direction:column;gap:17px;padding-top:27px;padding-bottom:35px}.site-footer>div{flex-wrap:wrap;gap:15px}.footer-brand span{font-size:9px}.status{bottom:16px}.mobile-save{margin-top:16px}.mobile-save .save-row{flex-wrap:nowrap}.mobile-save .save-row button{font-size:11px}.mobile-save>.btn{width:100%}.mobile-save #saveNote{font-size:9px}.fallback h2{font-size:23px}.fallback{padding:25px}.scene:fullscreen{height:100vh}}@media(max-width:390px){.shell{padding-left:15px;padding-right:15px}.header-cta{padding:8px 10px}.site-header nav{gap:12px}.style-grid{gap:7px}.style-label small{display:none}.style-label strong{font-size:9px}.style-card[aria-pressed=true] .style-label:after{display:none}.style-preview{height:58px}.scene-toolbar{gap:4px}.toolbar-actions{gap:8px}.modes button{padding:7px}.scene-hint{max-width:61%}.furniture-grid button{padding:9px 7px;gap:5px}.selection-panel{padding:11px}.selected-actions{gap:10px}.nudge button{width:35px}.control-section,.share-section,.settings-top{padding-left:19px;padding-right:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
