:root{font-family:"Segoe UI","Microsoft JhengHei",sans-serif;color:#182c38;background:#f6f7f7;font-size:14px;--ink:#182c38;--cyan:#00abc4;--pink:#e83b86;--yellow:#ffda42;--line:#dce2e5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button,select,input[type=text]{min-height:44px;border:1px solid var(--line);color:var(--ink);background:white;border-radius:8px;padding:10px 13px}button:hover{border-color:var(--cyan);background:#eefbfd}button:disabled,select:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #f09d19;outline-offset:3px}[hidden]{display:none!important}.color-strip{height:6px;background:linear-gradient(90deg,var(--cyan) 0 36%,var(--pink) 36% 63%,var(--yellow) 63% 83%,#9bd8b5 83%)}header{height:94px;padding:0 4%;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand-icon{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:12px;background:var(--cyan);color:white;font-size:32px;line-height:1;font-weight:800;letter-spacing:0}.brand-icon>span{color:var(--pink)}.brand-word{font-size:24px;line-height:1;font-weight:800;letter-spacing:-1px}.brand-word>span{font-weight:400}.brand-word small{display:block;font-size:10px;letter-spacing:1.5px;margin-top:9px;font-weight:400;color:#687b85}.header-note{font-size:13px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--cyan)}header button{border:0;background:#182c38;color:white;border-radius:24px;padding:10px 22px}header button:hover{background:#007f97;color:white}header button span{margin-left:12px}.hero{max-width:1520px;padding:36px 4% 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#51818c}.eyebrow span{width:21px;height:5px;background:var(--pink)}h1{font-size:clamp(32px,3.5vw,52px);letter-spacing:-2px;line-height:1.25;margin:0;font-weight:800}h1>span{color:#008da7}h1 i{font-style:normal;display:inline-block;font-size:41px;margin-left:15px;color:var(--pink);transform:rotate(12deg)}.hero-copy{font-size:14px;color:#6a7b85;margin:15px 0 0}.hero-art{width:250px;height:132px;position:relative;margin-right:35px}.orb{position:absolute;width:114px;height:114px;background:var(--cyan);border-radius:50%;top:10px;left:30px}.sticker{position:absolute;left:85px;top:26px;transform:rotate(-10deg);padding:16px 28px;background:var(--yellow);border-radius:12px;color:#183341;font-size:25px;line-height:1;font-weight:900;box-shadow:5px 5px 0 #183341;letter-spacing:1px}.spark{position:absolute;font-size:57px;color:var(--pink);left:0;top:65px}.loop{position:absolute;width:43px;height:43px;border:8px solid var(--pink);border-radius:50%;top:0;right:10px}main{max-width:1520px;margin:0 auto 38px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding:0 4%}.workspace{min-width:0}.workspace-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}.workspace-title h2{font-size:15px;margin:0;display:flex;gap:8px;align-items:center}.tiny-mark{width:13px;height:13px;background:var(--cyan);border-radius:3px}.version{font-size:9px;letter-spacing:1.3px;color:#6f8490}.stage-shell{position:relative;border-radius:15px;background:radial-gradient(ellipse at 48% 42%,#707e85 0%,#4e5b63 47%,#343f48 100%);overflow:hidden;border:1px solid #43535e}.stage-top,.stage-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#e0e9ed;z-index:2;pointer-events:none}.stage-top{top:20px}.stage-bottom{bottom:18px;color:#c0ced5}.stage-top>span:last-child{background:#ffffff18;border:1px solid #ffffff33;padding:5px 9px;border-radius:20px}.live{display:flex;align-items:center;gap:7px}.live i{width:6px;height:6px;border-radius:50%;background:#6ee8e3;box-shadow:0 0 10px #66e9db80}#stage{height:560px;position:relative;overflow:hidden;touch-action:none;cursor:grab;perspective:1800px;isolation:isolate}#stage:active{cursor:grabbing}#scene{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;pointer-events:none}.viewbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;flex-wrap:wrap}.button-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.button-row button{font-size:12px}.button-row button span{margin-left:8px}#zoomValue{font-size:11px;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.footnote{font-size:11px;color:#76858e;line-height:1.8;margin:0}.tip-strip{margin-top:18px;display:flex;align-items:center;gap:12px;padding:14px 17px;background:#e5f5f7;border-radius:8px;font-size:12px;color:#47717c}.tip-strip b{color:#008ba3;white-space:nowrap}.tip-strip>span:last-child{margin-left:auto;color:var(--cyan);font-size:23px}aside{align-self:start;min-width:0;background:#fff;border:1px solid #dce4e7;border-radius:14px;overflow:hidden;box-shadow:0 7px 24px #183c4906;margin-top:31px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#f3f6f7;border-bottom:1px solid var(--line)}.tabs button{border:0;border-radius:0;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-height:78px;font-weight:700;background:transparent;color:#607580;position:relative}.tabs button>span{font-size:10px;letter-spacing:2px;font-weight:600}.tabs button[aria-selected=true]{background:var(--cyan);color:#fff}.tabs button:nth-child(2)[aria-selected=true]{background:var(--pink)}.tabs button:nth-child(3)[aria-selected=true]{background:var(--yellow);color:#183341}.tabs button[aria-selected=false]:hover{background:#e7f0f3;color:#183341}.control-section{padding:27px 24px 24px;min-height:390px}.section-title{position:relative;margin-bottom:25px;padding-right:30px}.section-title p{margin:0 0 8px;font-size:9px;letter-spacing:1.6px;color:#008eaa;font-weight:700}.section-title h2{font-size:21px;line-height:1.35;margin:0;letter-spacing:-.6px}.section-symbol{position:absolute;right:0;top:0;font-size:28px;color:var(--cyan)}#artPanel .section-title p,#artPanel .section-symbol{color:var(--pink)}#viewPanel .section-title p,#viewPanel .section-symbol{color:#b28c00}label{display:block;font-weight:600;font-size:12px;margin:18px 0 8px}select,input[type=text]{width:100%;background:#fafcfd;border-color:#d4dfe4;padding:12px 11px;border-radius:7px}select{cursor:pointer}.hint{font-size:11px;line-height:1.8;color:#6b7d88;margin:10px 0 0}.config-note{border-left:3px solid var(--cyan);padding:10px 12px;background:#edf9fa;margin-top:22px}.space-legend{display:flex;gap:16px;margin-top:20px;font-size:10px;color:#80939d}.space-legend span{display:flex;align-items:center;gap:6px}.space-legend i{width:12px;height:14px;background:#fff;border:1px solid #9bb0bb}.space-legend span:last-child i{height:5px;background:#a5dee5;border-color:#a5dee5}.upload{position:relative;display:block;text-align:center;background:#fff4f9;border:1.5px dashed #eaa4c3;padding:26px 9px;border-radius:10px;cursor:pointer}.upload-icon{display:block;font-size:32px;line-height:1.1;color:var(--pink);font-weight:400;margin-bottom:11px}.upload strong{display:block;font-weight:650;font-size:13px;overflow-wrap:anywhere;margin-bottom:8px}.upload>span:last-of-type{font-size:9px;font-weight:400;color:#9b6c82}.upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload:has(input:disabled){opacity:.5;cursor:default}.upload:focus-within{outline:3px solid #f7a91e;outline-offset:3px}#status{font-size:11px;line-height:1.7;color:#7b8993;overflow-wrap:anywhere;min-height:36px}#status.error{color:#b82649}.editor-heading{display:flex;justify-content:space-between;font-size:10px;color:#7a8790;margin:18px 0 8px}#editor{position:relative;border:1px solid #d4e0e5;overflow:hidden;touch-action:none;cursor:move;background:repeating-conic-gradient(#e8eef1 0% 25%,#f7f9fa 0% 50%) 0 0/16px 16px}#editor img{position:absolute;max-width:none;user-select:none;pointer-events:none}label output{float:right;font-weight:400;color:#7d8c96}input[type=range]{width:100%;height:28px;margin:0;accent-color:var(--pink);touch-action:pan-y}.toggle-row{margin-top:25px;display:grid;gap:12px}.toggle-row label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:13px 12px;border-radius:8px;margin:0}.toggle-row input{width:18px;height:18px;accent-color:#00a5bd}.toggle-row small{display:block;color:#81909a;font-size:10px;font-weight:400;margin-top:5px}.gesture-note{margin-top:24px;background:#fff8dc;border-radius:8px;padding:16px}.gesture-note b{font-size:12px}.gesture-note p{font-size:11px;line-height:1.8;margin:8px 0 0;color:#827249}.reset-section{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 23px;border-top:1px solid #e6ecef;background:#fbfcfd}.reset-section button{font-size:11px;border-color:#c9d6dc}.reset-section span{font-size:10px;color:#87959d}footer{padding:28px 4%;background:#132f3a;color:#cde6ed;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:5px solid var(--cyan)}.footer-word{font-size:21px;font-weight:750;letter-spacing:-1px;color:#fff}.footer-word span{display:block;font-size:10px;font-weight:400;letter-spacing:2px;margin-top:7px;color:#7db5c5}footer div:nth-child(2){font-size:11px;display:flex;gap:10px}footer i{color:#4b7685;font-style:normal}footer p{font-size:10px;color:#8fb5c1}dialog{max-width:490px;width:calc(100% - 36px);border:0;border-top:7px solid var(--cyan);border-radius:15px;padding:27px;line-height:1.9;color:var(--ink);background:#fff}dialog::backdrop{background:#102f3ab5}dialog h2{font-size:24px;margin:0 0 18px;letter-spacing:-1px}dialog p,dialog li{font-size:13px}dialog ol{padding-left:23px}.primary,#closeHelp{background:#008fa8;color:white;border-color:#008fa8}#closeHelp{width:100%;font-weight:700}.tabs button,.hero-art .sticker{transition:background .18s,transform .18s}.hero-art:hover .sticker{transform:rotate(-6deg) translateY(-3px)}
@media(min-width:1100px){.workspace{position:sticky;top:18px;align-self:start}}@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 325px;gap:22px}#stage{height:490px}.control-section{padding:24px 20px}.hero-art{margin-right:0;width:210px}.viewbar button{padding:8px 10px}}@media(max-width:800px){header{height:77px;padding:0 20px}.header-note{display:none}.hero{padding:28px 22px}.hero-art{width:140px;transform:scale(.7);transform-origin:right center;margin-left:-25px}.hero-copy{font-size:12px;max-width:290px;line-height:1.8}h1{font-size:34px}h1 i{font-size:30px;margin-left:6px}main{display:block;padding:0 20px}.workspace-title{margin-top:0}#stage{height:420px}aside{margin-top:25px}.control-section{min-height:0;padding:26px}.tabs button{min-height:73px}.tip-strip{margin-top:12px}footer{flex-wrap:wrap}footer p{margin:0}}@media(max-width:480px){.brand-icon{font-size:27px;flex-basis:42px;width:42px;height:42px;border-radius:10px}.brand-word{font-size:20px}.brand-word small{font-size:8px}.brand{gap:7px}header button{font-size:11px;padding:8px 14px}.hero-art{display:none}.hero{padding:28px 18px}.eyebrow{font-size:8px}h1{font-size:33px;letter-spacing:-1.6px}.hero-copy{margin-top:10px;max-width:none}main{padding:0 14px}.workspace-title h2{font-size:13px}.version{font-size:8px}#stage{height:360px}.stage-top,.stage-bottom{left:14px;right:14px;font-size:9px}.viewbar{gap:8px}.button-row{gap:4px}.button-row button{font-size:11px;padding:8px}.tip-strip{font-size:10px;padding:12px;gap:8px}.tip-strip>span:last-child{display:none}.footnote{font-size:10px}.reset-section{padding:16px 21px}footer{padding:23px 20px;gap:19px}footer p{width:100%;font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.model-face{position:absolute;backface-visibility:hidden;pointer-events:none;box-sizing:border-box}
.mat-panel{background:linear-gradient(105deg,#edf3f5 0%,#f8fafb 43%,#e2e9ed 100%);box-shadow:inset 0 0 2px #7e8c9755}
.mat-aluminium{background:linear-gradient(90deg,#a7b3bc 0%,#e5ecf0 19%,#a9b7c1 36%,#e1e8ed 50%,#c6d1d9 68%,#8e9da9 83%,#d8e1e8 100%);border:0.15px solid #9caab5}
.mat-fascia{background:linear-gradient(120deg,#e4eff5,#f5faff 48%,#e4eef5);box-shadow:inset 0 0 2px #a0b3be}
.mat-sign{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:#204c99;font-family:Arial,'Microsoft JhengHei',sans-serif;font-weight:500;letter-spacing:.4px;text-shadow:.5px .8px 1px #1d427744}
.mat-graphic{overflow:hidden;background:transparent}.mat-graphic img{position:absolute;max-width:none;user-select:none}
.mat-carpet{background-color:#555b60;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.45' filter='url(%23n)'/%3E%3C/svg%3E"),repeating-linear-gradient(35deg,#ffffff0c 0 1px,#00000012 1px 2px);background-size:58px 58px,4px 4px}
.mat-lamp{background:linear-gradient(90deg,#cbd6dd,#f8fdff 45%,#c3ced6);border:.2px solid #c0ccd4}.mat-light{background:#fff9e9;border:1px solid #cdd4d6;box-shadow:0 0 5px #fff7dd}
.mat-cloth{background:linear-gradient(125deg,#fff,#f7fbff 50%,#dce5ec);border:.3px solid #e3eaf0}.mat-cloth-front{background:linear-gradient(90deg,#cbd8e2 0%,#f6fbff 4%,#fff 9%,#eaf1f7 35%,#f9fcff 65%,#d8e5f0 90%,#fff 96%,#c0d0dc 100%);clip-path:polygon(2% 0,98% 0,100% 97%,91% 93%,80% 100%,57% 96%,29% 97%,13% 93%,0 98%)}
.mat-cloth-side{background:linear-gradient(90deg,#d6e1e9,#f8fcff 16%,#e0eaf1 84%,#c2d0db);clip-path:polygon(2% 0,98% 0,100% 100%,70% 95%,20% 99%,0 94%)}
.mat-chair{background:linear-gradient(110deg,#13171b,#252a30 45%,#080b0e);border-radius:4px;border:.4px solid #151b20}.mat-chair-metal{background:linear-gradient(90deg,#080c10,#444a51 45%,#0e151a)}
.mat-ground{background:radial-gradient(ellipse,#22333e23 0%,#2f3d4619 35%,#68748000 70%)}

/* White-shell finish and light washes based on the user's newer reference. */
.mat-panel{background:linear-gradient(105deg,#d5d9d9,#e6e8e5 46%,#cbd2d3);box-shadow:inset 0 0 1px #7e8c9744}
.mat-aluminium{background:linear-gradient(90deg,#c9d1d2 0%,#fafbf7 24%,#e6e9e5 50%,#f6f7f2 73%,#c4cdcd 100%);border:.15px solid #bdc8c8}
.mat-fascia{background:linear-gradient(120deg,#e7ece7,#f8f9ef 48%,#e5eae5);box-shadow:inset 0 0 1px #d4dfdc}
.mat-carpet{background-color:#728a97;background-size:42px 42px,3px 3px}
.mat-counter{background:linear-gradient(110deg,#e4e8e6,#fcfff8 42%,#e1e7e4);box-shadow:inset 0 0 5px #bfcac4;border:.3px solid #d5dcd6}.mat-counter-top{background:linear-gradient(110deg,#fffef7,#f5f8ef 60%,#e1e9e2);border:.3px solid #e8eee8}
.mat-wash{background:radial-gradient(ellipse 45% 20% at 50% 13%,#fffef3db 0%,#ffffef9e 24%,#fffde84d 50%,transparent 100%),radial-gradient(ellipse 39% 63% at 50% 37%,#ffffef55,transparent 75%);pointer-events:none}.mat-light{background:#fffef2;box-shadow:0 0 8px #ffffdd99}.mat-lamp{background:linear-gradient(90deg,#ced8d6,#fafdf5 48%,#d8e2db);border:.2px solid #ced9d1}

/* Optional equipment and the fourth category. */
.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.tabs button{padding:10px 5px;font-size:12px}.tabs button:nth-child(4)[aria-selected=true]{background:#368e7c;color:white}
#optionsPanel .section-title p,#optionsPanel .section-symbol{color:#287f6e}.option-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.option-card{min-width:0;padding:10px;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:7px}.option-card img{width:100%;max-width:100%;height:76px;object-fit:contain;background:#fff;border-radius:4px}.option-card strong{font-size:13px}.option-card small{font-size:10px;color:#6b7d88;line-height:1.6;overflow-wrap:anywhere}.option-add{font-size:11px;color:#287f6e;font-weight:600;margin-top:auto}.option-card:disabled{opacity:.45}.option-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 12px}.option-editor-heading strong{font-size:14px}.option-editor-heading button{font-size:11px;padding:8px 10px}#optionStatus{font-size:11px;color:#567a70;line-height:1.8;overflow-wrap:anywhere;margin-top:12px}#optionStatus.error{color:#b82649}#noShelfWall{padding:10px;background:#fff4dc;color:#7c642e}.panel-map{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.panel-map button{min-width:40px;min-height:44px;padding:8px}.panel-map button[aria-pressed=true]{background:#009db7;border-color:#009db7;color:#fff}#floorOptionControls input{accent-color:#368e7c}#rotateOption{width:100%;margin-top:15px}.mat-option-white{background:linear-gradient(115deg,#e3e7e5,#fbfdf6 48%,#d9e0dd);border:.3px solid #c7d0cf}.mat-option-metal{background:linear-gradient(90deg,#adbabc,#eef4f2 45%,#aebdbc);border:.25px solid #a8b5b6}.mat-option-dark{background:linear-gradient(105deg,#12191a,#373e3e 45%,#0c1214)}.mat-option-seam{background:#aebabb}.mat-option-wood{background:repeating-linear-gradient(3deg,#8a653f 0 1px,#947148 2px 5px,#ac8658 6px 7px);border:.4px solid #695139}.mat-option-glass{background:linear-gradient(125deg,#d1edf08a,#d6e8e54f 40%,#f0ffffc7 44%,#d0e5e56b 50%,#c5dbdf66);border:.8px solid #91a9ab;opacity:.8}.option-selected{box-shadow:inset 0 0 0 .6px #00a6c080}.mat-panel-selection{border:2px dashed #00b9d1;background:#00b9d109;box-shadow:none}.mat-panel-label{background:#008ba4;color:white;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:3px;box-shadow:none}footer div:nth-child(2){flex-wrap:wrap}
/* Direct manipulation and name-only equipment buttons. */
.option-card{display:block;text-align:center;min-height:44px;padding:11px 8px;font-size:13px;font-weight:600}.option-catalog{gap:8px;margin-top:14px}.move-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.move-toolbar button{font-size:12px}.move-toolbar button[aria-pressed=true]{background:#008da5;border-color:#008da5;color:white}.move-status{font-size:12px;line-height:1.8;color:#426b75;margin:0 0 11px;min-height:22px;overflow-wrap:anywhere}.move-status.error{color:#b82649}#stage[data-interaction=move]{cursor:default}#stage[data-interaction=move] .model-face[data-move-id]{pointer-events:auto;cursor:grab}#stage[data-interaction=orbit] .model-face{pointer-events:none}#stage[data-dragging=true],#stage[data-dragging=true] .model-face{cursor:grabbing}#stage[data-interaction=move] .model-face[data-move-id]:active{cursor:grabbing}
