:root{--paper:#f2f1ed;--ink:#252525;--muted:#7c7b76;--line:#d9d6cd;--soft:#eae8e1;--font:'Noto Sans SC','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:13px;font-weight:400;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;border-radius:0}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible{outline:1px solid var(--ink);outline-offset:4px}button{transition:background .18s,color .18s,opacity .18s}button:not(:disabled):active{opacity:.65}p,h1,h2{margin:0}h1,h2{font-weight:400}button[hidden],[hidden]{display:none!important}.micro{font-size:9px;letter-spacing:.17em;line-height:1.8;color:var(--muted)}.skip-link{position:absolute;top:-100px;background:var(--paper);padding:12px;z-index:20}.skip-link:focus{top:4px}.site-header{height:108px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:18px;align-items:center}.brand-name{font-size:31px;font-weight:400;letter-spacing:.16em;white-space:nowrap}.brand-caption{font-size:8px;letter-spacing:.15em;line-height:1.65;padding-top:3px}.page-title{font-size:13px;letter-spacing:.07em;display:flex;align-items:center;gap:17px}.page-title>span{font-size:8px;letter-spacing:.15em;color:var(--muted)}.text-button{font-size:11px;letter-spacing:.03em;display:inline-flex;align-items:center;gap:22px;padding:8px 0;border-bottom:1px solid transparent}.text-button:hover{border-bottom-color:var(--ink)}.header-info{font-size:11px}.workspace{display:grid;grid-template-columns:318px minmax(0,1fr);max-width:1800px;margin:auto;padding:0 40px;gap:44px}.configuration{padding:32px 0 24px;border-right:1px solid var(--line);padding-right:32px}.configuration-intro{padding-bottom:24px}.configuration-intro h1{font-size:25px;letter-spacing:.02em;line-height:1.6;margin:10px 0 5px}.configuration-intro p{font-size:11px;color:var(--muted);letter-spacing:.03em}.control-section{padding:22px 0 20px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.section-heading h2{font-size:13px;font-weight:400;letter-spacing:.02em}.section-heading h2>span{font-size:9px;color:var(--muted);margin-right:12px;font-variant-numeric:tabular-nums}.section-value{color:var(--muted);font-size:10px}.material-families{display:flex;gap:24px;margin-bottom:15px}.material-families button{padding:0 0 7px;font-size:11px;color:var(--muted);border-bottom:1px solid transparent}.material-families button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.material-swatches{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.material-swatch{text-align:left;padding:0;min-width:0}.material-swatch .sample{display:block;height:59px;background-size:cover;background-position:center;position:relative;border:3px solid var(--paper);outline:1px solid transparent;transition:outline-color .2s}.material-swatch[aria-pressed=true] .sample{outline-color:var(--ink)}.material-swatch[aria-pressed=true] .sample:after{content:'✓';position:absolute;right:4px;bottom:3px;color:var(--paper);background:var(--ink);font-size:9px;width:15px;height:15px;text-align:center;line-height:15px}.material-swatch .swatch-label{font-size:10px;display:flex;justify-content:space-between;align-items:baseline;margin-top:9px}.material-swatch .swatch-code{font-size:8px;color:var(--muted);letter-spacing:.05em}.control-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:14px;min-height:18px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.product-option{min-width:0;border:1px solid var(--line);padding:9px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:5px}.product-option[aria-pressed=true]{border-color:var(--ink);background:#e9e7e0}.product-option:hover{border-color:var(--muted)}.product-option img{display:block;width:39px;height:39px;object-fit:contain;mix-blend-mode:multiply}.product-option>span{font-size:10px}.layout-controls{margin:18px 0 12px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.quantity-control{display:flex;gap:12px;align-items:center}.quantity-control>span{color:var(--muted);margin-right:4px}.quantity-control button{width:24px;height:28px;font-size:16px}.quantity-control output{font-size:11px;font-variant-numeric:tabular-nums;min-width:8px;text-align:center}.orientation-control{display:flex;gap:0}.orientation-control button{font-size:10px;padding:6px 9px;border:1px solid var(--line)}.orientation-control button+button{border-left:0}.orientation-control button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.module-slots{display:flex;flex-wrap:wrap;gap:6px}.module-slot{font-size:9px;border-bottom:1px solid var(--line);padding:6px 5px;display:flex;gap:7px;color:var(--muted)}.module-slot[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink)}.module-slot>span:first-child{font-size:8px;font-variant-numeric:tabular-nums}.switch-options{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:10px;color:var(--muted)}.switch-options button{padding:5px 10px;color:var(--muted)}.switch-options button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.finish-options{display:flex;justify-content:space-between;gap:6px}.finish-options>button{display:flex;gap:7px;align-items:center;padding:4px 0 10px;border-bottom:1px solid transparent;font-size:10px;white-space:nowrap;color:var(--muted)}.finish-options>button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.finish-dot{height:13px;width:13px;border-radius:50%;border:1px solid #bcb9b0;display:block;flex-shrink:0}.white-dot{background:#faf9f5}.black-dot{background:#252525;border-color:#252525}.match-dot{background:#d7d3c8;background-size:cover}.finish-note{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.8;min-height:18px}.reset-button{color:var(--muted);font-size:10px;margin-top:1px;gap:12px}.preview-column{min-width:0;padding:32px 0 0}.preview-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.preview-heading h2{font-size:24px;letter-spacing:.08em;margin-top:9px}.surface-type{font-size:9px;letter-spacing:.13em;color:var(--muted);padding-bottom:4px}.preview-stage{position:relative;height:clamp(440px,calc(100svh - 310px),780px);min-width:0;background:#e5e0d4;overflow:hidden;isolation:isolate}#preview-canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}.stage-caption{position:absolute;top:22px;left:24px;display:flex;flex-direction:column;gap:6px;pointer-events:none;font-size:10px;color:#393831}.stage-caption span+span{font-size:9px;color:#66645c}.view-controls{position:absolute;right:19px;top:19px;display:flex;align-items:center;background:rgba(242,241,237,.9);padding:3px;backdrop-filter:blur(5px)}.view-controls button{font-size:10px;padding:8px 10px;color:var(--muted)}.view-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.view-divider{width:1px;height:14px;background:var(--line);margin:0 4px}.stage-footnote{position:absolute;bottom:19px;left:24px;font-size:9px;color:#656158;pointer-events:none;letter-spacing:.03em;background:rgba(242,241,237,.72);padding:4px 6px;margin-left:-6px}.canvas-status{position:absolute;inset:0;display:grid;place-items:center;background:var(--soft);font-size:12px;padding:36px;line-height:1.8;text-align:center}.preview-details{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:17px 0 23px;border-bottom:1px solid var(--line)}.preview-details>p{font-size:11px;color:#555;line-height:1.8}.dimension-summary{font-size:9px;color:var(--muted);white-space:nowrap;letter-spacing:.025em;font-variant-numeric:tabular-nums}.dimension-summary i{font-style:normal;color:#bcb9b0;padding:0 9px}.summary-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:21px 0 8px}.summary-bar p{font-size:12px;margin-top:8px;line-height:1.6}.save-actions{display:flex;gap:22px;align-items:center;flex-shrink:0}.primary-button{padding:15px 19px;background:var(--ink);color:var(--paper);font-size:11px;display:flex;gap:28px;align-items:center}.primary-button:hover{background:#41413c}.status-message{min-height:27px;font-size:10px;color:var(--muted);padding-top:8px;text-align:right}.material-story{border-top:1px solid var(--line);padding:60px 40px 64px;max-width:1720px;margin:24px auto 0;display:grid;grid-template-columns:1fr 1.4fr .7fr;gap:7%}.material-story h2{font-size:25px;line-height:1.65;letter-spacing:.05em;margin-top:16px}.story-copy{padding-top:9px;font-size:12px;line-height:2.2;color:#555;max-width:500px}.story-copy p+p{margin-top:16px}.story-caption{font-size:10px!important;color:var(--muted)}.story-spec{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:14px 20px;padding-top:13px}.story-spec>span{font-size:29px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.story-spec>span>span{font-size:10px;margin-left:6px;color:var(--muted);letter-spacing:0}.story-spec p{font-size:10px;color:var(--muted)}footer{margin:0 40px;border-top:1px solid var(--line);padding:25px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-en{font-size:8px;letter-spacing:.12em;margin-left:14px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:28px 34px 34px;max-width:480px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(35,34,28,.28)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading button{font-size:23px;padding:2px 6px}dialog h2{font-size:24px;line-height:1.6;margin:22px 0 28px}dialog dt{font-size:12px;margin-top:20px}dialog dd{font-size:12px;color:#555;margin:8px 0 0;line-height:1.9}dialog>p{font-size:10px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:19px;margin-top:25px}
@media(min-width:1500px){.workspace{grid-template-columns:350px minmax(0,1fr);gap:56px;padding:0 56px}.configuration{padding-right:42px}.site-header{padding:0 56px}.preview-heading h2{font-size:28px}.preview-stage{min-height:570px}.material-swatch .sample{height:67px}.product-option{padding:12px 4px}.product-option img{width:43px;height:43px}}
@media(max-width:1150px){.workspace{grid-template-columns:274px minmax(0,1fr);gap:26px;padding:0 26px}.configuration{padding-right:23px}.site-header{padding:0 26px;height:94px}.page-title>span{display:none}.configuration-intro h1{font-size:23px}.preview-stage{height:530px}.preview-details{display:block;padding-bottom:16px}.dimension-summary{display:block;margin-top:9px}.summary-bar{align-items:flex-start;flex-direction:column;gap:17px}.save-actions{align-self:flex-end}.material-story{padding:42px 26px;gap:32px}.story-spec{grid-template-columns:1fr;gap:6px}.story-spec>span:nth-of-type(2){margin-top:10px}}
@media(max-width:760px){.site-header{height:78px;padding:0 20px}.brand-name{font-size:26px}.brand-caption{font-size:6px;line-height:1.6}.brand{gap:10px}.page-title{font-size:10px;letter-spacing:.02em}.header-info{display:none}.workspace{display:flex;flex-direction:column;padding:0 20px;gap:0}.preview-column{order:0;padding-top:24px;display:contents}.preview-heading{order:0;margin:24px 0 17px}.preview-heading h2{font-size:23px;margin-top:7px}.preview-heading .micro{font-size:8px}.surface-type{font-size:8px}.preview-stage{order:1;height:400px;width:100%}.stage-caption{top:16px;left:16px;font-size:9px}.view-controls{top:auto;bottom:15px;right:13px;padding:2px}.view-controls button{font-size:9px;padding:8px}.stage-footnote{left:16px;bottom:62px;font-size:8px;max-width:85%}.preview-details{order:2;padding:13px 0 18px}.preview-details>p{font-size:10px}.dimension-summary{font-size:9px;margin-top:7px}.configuration{order:3;border-right:0;padding:23px 0 0;display:grid;grid-template-columns:1fr;gap:0}.configuration-intro{display:none}.control-section{padding:20px 0}.material-section{border-top:0;padding-top:0}.material-swatches{grid-template-columns:1fr 1fr;gap:14px}.material-swatch .sample{height:72px}.material-families{gap:32px}.material-families button{font-size:12px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:14px}.section-value{font-size:10px}.material-swatch .swatch-label{font-size:11px}.control-note,.finish-note{font-size:11px}.product-grid{grid-template-columns:repeat(3,1fr);gap:10px}.product-option{padding:12px 3px 11px}.product-option img{width:43px;height:43px}.product-option>span{font-size:11px}.layout-controls{margin-top:19px}.layout-controls button{min-height:36px}.orientation-control button{padding:7px 13px}.quantity-control{gap:16px}.module-slot{font-size:10px;padding:9px}.finish-options{justify-content:flex-start;gap:27px}.finish-options>button{font-size:11px;padding:8px 0 13px}.finish-dot{width:15px;height:15px}.finish-section{padding-bottom:8px}.reset-button{justify-self:start;margin:10px 0 20px;min-height:36px}.summary-bar{order:4;border-top:1px solid var(--line);padding-top:20px;gap:20px}.summary-bar>div:first-child{width:100%}.save-actions{width:100%;display:flex;justify-content:space-between;gap:16px;align-self:auto}.save-actions .primary-button{justify-content:space-between;min-width:165px;min-height:46px}.status-message{order:5;text-align:left;padding:12px 0;min-height:36px}.material-story{margin:12px 20px 0;padding:32px 0;grid-template-columns:1fr;gap:25px}.material-story h2{font-size:23px;margin-top:11px}.story-copy{font-size:11px;line-height:2}.story-spec{display:flex;gap:13px;align-items:baseline;padding-top:0}.story-spec>span{font-size:25px}.story-spec>span:nth-of-type(2){margin:0 0 0 17px}.story-spec>span>span{font-size:8px}.story-spec p{font-size:9px}footer{margin:0 20px;flex-direction:column;gap:12px;padding-top:21px;font-size:9px}.footer-en{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Material library: browse a bounded sample tray while keeping the preview visible. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.material-families{gap:0;justify-content:space-between}.material-families button{white-space:nowrap}.material-families button span{font-size:8px;margin-left:3px;color:var(--muted);font-variant-numeric:tabular-nums}
.material-filters{display:grid;grid-template-columns:1fr;gap:8px}.material-filters input,.material-filters select{width:100%;min-width:0;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:0;padding:9px 10px;font:inherit;font-size:11px;min-height:36px}.material-filters input:focus-visible,.material-filters select:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.material-filters input::placeholder{color:var(--muted)}
.material-result-bar{display:flex;justify-content:space-between;align-items:center;min-height:32px;font-size:9px;color:var(--muted)}.material-result-bar button{font-size:9px;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.material-swatches{max-height:265px;overflow-y:auto;overscroll-behavior:contain;padding:3px 5px 4px 2px;scrollbar-width:thin;scrollbar-color:#aaa79d transparent;align-content:start}.material-swatch .sample{height:67px;overflow:hidden;background:none}.sample img{width:100%;height:100%;object-fit:cover;display:block}.material-swatch .swatch-label{gap:4px;line-height:1.5;margin-top:6px;align-items:start}.swatch-code{white-space:nowrap}.material-empty{font-size:11px;line-height:1.8;color:var(--muted);padding:20px 0}.material-reference{font-size:9px;line-height:1.8;color:var(--muted);margin-top:11px}.control-note{margin-top:5px}.section-value{max-width:52%;text-align:right;line-height:1.5}
.preview-column{align-self:start;position:sticky;top:0;padding-bottom:20px}.stage-caption{background:rgba(242,241,237,.82);padding:8px 10px;max-width:50%}.canvas-status{align-content:center;gap:18px}.canvas-status button{justify-self:center;border-bottom:1px solid var(--ink);padding:8px 14px}
@media(max-width:760px){.preview-column{position:static;padding-bottom:0}.material-families{gap:0}.material-swatches{max-height:300px}.material-filters{grid-template-columns:1.2fr 1fr}.material-filters input,.material-filters select{font-size:12px;min-height:42px}.material-swatch .sample{height:84px}.material-reference{font-size:10px}.material-result-bar{font-size:10px;min-height:37px}.stage-caption{max-width:75%}}

.swatch-category,.swatch-caution{display:block;font-size:9px;line-height:1.6;margin-top:3px;color:var(--muted)}.swatch-caution{color:#74624b}.material-caution{margin-top:14px;padding:12px 0 0;border-top:1px solid var(--line);font-size:10px;line-height:1.9;color:#645849}.material-caution strong{display:block;font-weight:500;color:var(--ink);margin-bottom:5px}.crystal-preview-note{font-size:11px;color:#645849;line-height:1.9;padding:12px 0 0;max-width:680px}.material-filters select:disabled{opacity:.48}.material-filters select:disabled{cursor:not-allowed}@media(max-width:760px){.crystal-preview-note{order:2;padding-bottom:14px;font-size:11px}.material-caution{font-size:11px}}

.finish-options{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}.finish-options>button:first-child{grid-column:1/-1}.finish-options>button{justify-self:start;white-space:normal;line-height:1.5;text-align:left}.finish-options>button.unavailable{color:#8c8173}.finish-scope{font-size:9px;color:var(--muted);line-height:1.8;margin-top:8px}.panel-availability{font-size:11px;line-height:1.9;color:#74604a;border-left:2px solid #b5a086;padding:8px 12px;margin-top:12px;max-width:700px}@media(max-width:760px){.panel-availability{order:2}.finish-scope{font-size:10px}}

/* The reference scene keeps its square composition at every breakpoint. */
.preview-stage.is-island{height:auto;min-height:0;width:min(100%,clamp(440px,calc(100svh - 310px),780px));max-width:780px;aspect-ratio:1;margin-inline:auto}
.is-island .stage-caption{background:rgba(242,241,237,.91);padding:8px 10px;max-width:calc(100% - 190px)}
.scene-preview-note{font-size:10px;color:var(--muted);line-height:1.8;margin:10px 0 0}
@media(max-width:760px){.is-island .stage-caption{max-width:calc(100% - 32px)}.scene-preview-note{order:2;font-size:10px;margin:0 0 12px}}

@media(max-width:760px){.is-island .stage-footnote{top:78px;bottom:auto}}

/* Six material groups stay readable in the narrow configuration column. */
.material-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;justify-content:initial}.material-families button{text-align:left;justify-self:start}
