/* Legible type, soft elevation and focused product controls. */
:root{--muted:#646b77}body{color:var(--ink,var(--text));}.hero-subtitle,.hero-note,.section-top>p,.feature p,.steps p,.contact-intro>p,.print-note,.scene-hint,.scene-options small,.kicker,.mini-label,.quick-benefits p>span{color:#626c7d!important}.material-note,.color-name,.control-title h3,.layer-row>span,.dock-label,.dim-head,.precision-note,.range-labels,.export-label,.spec span{color:#626b79}.material-note{line-height:1.8}.material-panel,.main-settings,.stage>.assembly-dock,.spec>div,.segmented,.panel-switch{box-shadow:0 10px 40px #22365309,0 2px 6px #22365304}.feature,.contact-links>div,.questions .answer{box-shadow:0 10px 40px #22365306}
.material-grid{padding:3px 3px 14px;gap:12px 4px}.material-swatch{min-width:0;min-height:65px;flex-shrink:0;padding:7px 1px;gap:9px;isolation:isolate}.material-ball{position:relative;display:block;flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px;min-height:27px;max-width:27px;max-height:27px;aspect-ratio:1/1;border-radius:50%!important;background:radial-gradient(circle at 32% 25%,#ffffffae,transparent 48%),radial-gradient(circle at 70% 85%,#0003,transparent 65%),var(--material-color)!important;box-shadow:inset -2px -3px 6px #0002,inset 1px 1px 3px #ffffff70,5px 7px 9px -4px #182b3f40!important;transform:none!important}.material-ball:after{content:'';position:absolute;z-index:-1;top:21px;left:6px;width:29px;height:10px;border-radius:50%;transform:rotate(26deg);background:#34445320;filter:blur(3px)}.material-swatch[data-family=matte] .material-ball{background:radial-gradient(circle at 30% 25%,#ffffff55,transparent 55%),radial-gradient(circle at 70% 85%,#0002,transparent 65%),var(--material-color)!important;box-shadow:inset -1px -2px 5px #0002,5px 7px 9px -4px #182b3f40!important}.color-name{line-height:1.5}.palette-tools{display:flex;gap:6px;margin:0 0 14px}.palette-tools button{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-height:32px;padding:5px 2px;font-size:9px;background:var(--field);border:0;color:var(--text)}.palette-tools button:hover{background:var(--accent-soft);color:var(--accent-text)}.palette-tools svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}.palette-tools button>span{font-size:15px}.stage>.assembly-dock{align-items:start}.quantity-stepper{display:flex;align-items:center;justify-content:space-between;gap:7px;background:var(--field);border:1px solid var(--line);border-radius:6px;padding:3px;height:40px;min-height:40px}.quantity-stepper button{flex:none;width:30px;height:32px;min-height:32px;background:var(--surface);border:0;font-size:18px;line-height:1;padding:0;color:var(--text);box-shadow:0 1px 4px #2030400a}.quantity-stepper button:disabled{opacity:.3;cursor:default;box-shadow:none}.quantity-stepper output{font-size:18px;font-weight:500;line-height:1;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.quantity-stepper output small{font-size:10px;color:var(--muted);font-weight:400;margin-left:3px}.assembly-dock .layer-row{display:flex;justify-content:space-between;min-height:40px;gap:10px}.layer-stepper{flex:1;max-width:160px}.assembly-dock .layer-row>span{font-size:10px;min-width:34px}.assembly-dock .assembly-controls button{display:flex;align-items:center;justify-content:center;gap:5px;height:40px;min-height:40px;padding:5px 6px;font-size:10px}.assembly-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.assembly-dock #opening{height:40px;min-height:40px}.assembly-dock .dock-group{gap:9px}.assembly-dock #countValue{font-size:8px}.zoom-control{position:absolute;right:306px;top:45%;z-index:3;display:flex;align-items:center;flex-direction:column;gap:8px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 30px #22365308;transform:translateY(-50%)}.zoom-control button{width:25px;height:25px;border:0;background:var(--field);font-size:17px;padding:0;line-height:1}.zoom-control input[type=range]{appearance:auto;-webkit-appearance:auto;writing-mode:vertical-lr;direction:rtl;width:4px;height:100px;min-height:100px;margin:0;background:var(--line);accent-color:var(--accent);cursor:pointer}.zoom-control input[type=range]::-webkit-slider-thumb{appearance:auto;-webkit-appearance:auto}.zoom-control input[type=range]::-moz-range-thumb{width:10px;height:10px;border:0;background:var(--accent)}.zoom-control:focus-within{outline:1px solid var(--accent)}
.bambu-feature{padding-top:0}.bambu-feature h2{font-size:34px}.bambu-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.plate-preview{background:#edf0f5;border:1px solid #e0e5ed;border-radius:8px;padding:24px;box-shadow:0 16px 60px #20314908}.plate-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#5b6678}.plate-top>span:first-child{display:flex;align-items:center;gap:8px}.plate-top i{width:7px;height:7px;border-radius:50%;background:#71a98c}.plate-top>span:last-child{font-size:8px;letter-spacing:1px;color:#8a95a6}.plate-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:26px 0}.print-plate{aspect-ratio:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;background-color:#e5e9ef;background-image:linear-gradient(#bbc7d333 1px,transparent 1px),linear-gradient(90deg,#bbc7d333 1px,transparent 1px);background-size:16px 16px;border:1px solid #cbd4e1;border-radius:4px;padding:12px;overflow:hidden}.print-plate>span{font:8px monospace;letter-spacing:1px;color:#7c8a9e}.print-plate>small{font-size:9px;color:#64748b;z-index:1}.plate-part{position:absolute;left:23%;right:23%;top:27%;bottom:27%;transform:rotate(-12deg);border-radius:6px;border:7px solid #4169ee;box-shadow:5px 9px 12px #314bb51c;background:#b6c9ff}.part-shell:before{content:'';position:absolute;inset:4px 5px;border:1px solid #7d9ae5;border-radius:3px}.part-drawer{border-color:#8fc6b1;background:#d1e9df;transform:rotate(10deg);box-shadow:5px 9px 12px #315e4b1c}.part-drawer:before{content:'';position:absolute;top:-7px;left:35%;right:35%;height:8px;background:#d1e9df;border-radius:0 0 5px 5px}.plate-manifest{background:#ffffffc9;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:9px}.plate-manifest>span{display:flex;align-items:center;gap:8px;font-size:10px;color:#5a687d}.plate-manifest i{width:9px;height:9px;border-radius:3px;background:var(--filament)}.plate-manifest b{margin-left:auto;font-weight:500;color:#293a57;font-variant-numeric:tabular-nums}.plate-preview>p{font-size:9px;color:#7a889d;margin-top:14px}.bambu-copy>div{display:flex;align-items:start;gap:16px;margin-bottom:24px}.bambu-copy>div>span{font:11px monospace;color:#7a8ead;background:#f0f4fa;border-radius:6px;padding:7px}.bambu-copy h3{font-size:16px;font-weight:600;margin-bottom:7px}.bambu-copy section>p{font-size:12px;line-height:1.9;color:#626c7d}.bambu-copy>.button{margin-top:4px}.bambu-note{font-size:10px;color:#7c889b;margin-top:14px;line-height:1.8}.answer{background:#fff;border:1px solid #ddd;border-radius:4px;padding:20px 22px;margin-bottom:12px}.answer h3{font-size:13px;font-weight:600;line-height:1.7;margin-bottom:10px}.answer p{font-size:12px;line-height:1.9;color:#626c7d}
:root[data-design=rounded] .quantity-stepper{border-radius:14px;border-color:transparent}:root[data-design=rounded] .quantity-stepper button{border-radius:10px}:root[data-design=rounded] .zoom-control{border-radius:16px}:root[data-design=rounded] .zoom-control button{border-radius:9px}:root[data-design=rounded] .plate-preview{border-radius:28px;background:#f3f6fd;border:0}:root[data-design=rounded] .print-plate{border-radius:16px}:root[data-design=rounded] .plate-manifest{border-radius:14px}:root[data-design=rounded] .bambu-copy>div>span{border-radius:12px}:root[data-design=rounded] .answer{border-radius:20px;background:#f6f8fc;border-color:transparent}
:root[data-mode=dark] .hero-subtitle,:root[data-mode=dark] .hero-note,:root[data-mode=dark] .section-top>p,:root[data-mode=dark] .feature p,:root[data-mode=dark] .steps p,:root[data-mode=dark] .contact-intro>p,:root[data-mode=dark] .print-note,:root[data-mode=dark] .scene-hint,:root[data-mode=dark] .scene-options small,:root[data-mode=dark] .kicker,:root[data-mode=dark] .mini-label,:root[data-mode=dark] .quick-benefits p>span{color:#b0bacb!important}:root[data-mode=dark] .material-note,:root[data-mode=dark] .color-name,:root[data-mode=dark] .control-title h3,:root[data-mode=dark] .layer-row>span,:root[data-mode=dark] .dock-label,:root[data-mode=dark] .dim-head,:root[data-mode=dark] .precision-note,:root[data-mode=dark] .range-labels,:root[data-mode=dark] .export-label,:root[data-mode=dark] .spec span{color:#b0bacb}:root[data-mode=dark] .plate-preview{background:#253044;border-color:#3d4b62}:root[data-mode=dark] .print-plate{background-color:#2a364b;border-color:#50627d}:root[data-mode=dark] .plate-top,:root[data-mode=dark] .plate-top>span,:root[data-mode=dark] .print-plate>span,:root[data-mode=dark] .print-plate>small,:root[data-mode=dark] .plate-preview>p{color:#b2bfd2}:root[data-mode=dark] .plate-manifest{background:#1e2a3c}:root[data-mode=dark] .plate-manifest>span,:root[data-mode=dark] .plate-manifest b{color:#ccd7e8}:root[data-mode=dark] .bambu-copy>div>span{background:#2d3c54;color:#afc4e7}:root[data-mode=dark] .bambu-copy section>p,:root[data-mode=dark] .bambu-note,:root[data-mode=dark] .answer p{color:#b1bdd0}:root[data-mode=dark] .answer{background:#263249;border-color:#3c4d68}:root[data-mode=dark] .quantity-stepper button{background:#3a4a64}:root[data-mode=dark] .material-ball:after{background:#0005}
@media(max-width:1100px){.zoom-control{right:268px;top:40%;padding:5px}.zoom-control input[type=range]{height:80px;min-height:80px}.assembly-dock .dock-opening{display:block}.assembly-dock .assembly-controls button{font-size:9px;gap:3px}.bambu-grid{gap:28px}.bambu-feature h2{font-size:29px}.plate-preview{padding:18px}}
@media(max-width:800px),(max-height:500px){.zoom-control{right:12px;top:43%;padding:5px}.zoom-control input[type=range]{height:70px;min-height:70px}.zoom-control button{width:22px;height:22px}.palette-tools{margin-bottom:12px}.material-grid{gap:9px 4px;padding:3px 3px 14px}.material-swatch{min-height:64px}.quantity-stepper button{width:32px}.layer-stepper{max-width:190px}.assembly-dock .dock-sets{grid-column:1}.assembly-dock .dock-layers{grid-column:2;grid-row:1/3}.assembly-dock .dock-pose{grid-column:1;grid-row:2}.assembly-dock .dock-opening{grid-column:1/-1;grid-row:3}.stage>.assembly-dock{gap:14px}.assembly-dock .layer-row{gap:6px}.assembly-dock .layer-row>span{min-width:29px;font-size:9px}.assembly-dock .quantity-stepper output{font-size:16px;min-width:30px}.assembly-dock .quantity-stepper{gap:3px}.layer-stepper button{width:25px}.assembly-dock .assembly-controls{flex-direction:column;gap:5px}.assembly-dock .assembly-controls button{min-height:32px;height:32px;justify-content:flex-start;padding-left:10px}.assembly-dock #opening{height:26px;min-height:26px}.main-settings,.stage>.material-panel,.stage>.assembly-dock{max-height:min(49dvh,400px)}}
@media(max-width:760px){.bambu-grid{grid-template-columns:1fr;gap:26px}.bambu-feature h2{font-size:27px}.plate-preview{padding:18px}.plate-layout{gap:12px;padding:20px 0}.plate-top{font-size:9px}.plate-top>span:last-child{font-size:7px}.print-plate{padding:10px}.print-plate>small{font-size:8px}.plate-part{border-width:5px;border-radius:4px}.plate-manifest>span{font-size:9px}.bambu-copy h3{font-size:15px}.bambu-copy>div{margin-bottom:20px}.bambu-copy>.button{width:100%;justify-content:space-between}.answer{padding:18px}.answer h3{font-size:12px}.answer p{font-size:11px}.bambu-feature{padding-top:0}}
/* Stable one-row assembly editor: a set selector edits one shared layer stepper. */
:root{--floor-base:#dce1e8;--floor-spot:#fafbfe;--grid-major:#a0adbd;--grid-minor:#bec7d3}
:root[data-design=rounded][data-mode=light]{--stage:#e5ebf4;--floor-base:#dce4f0;--floor-spot:#fbfcff;--grid-major:#a7b7ce;--grid-minor:#c0cddd}
:root[data-mode=dark]{--floor-base:#151c27;--floor-spot:#35455d;--grid-major:#53637a;--grid-minor:#354357}
:root[data-design=rounded][data-mode=dark]{--floor-base:#182234;--floor-spot:#3c506d;--grid-major:#5c7394;--grid-minor:#3d506e}
.stage>.assembly-dock{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(215px,1.1fr) minmax(200px,1fr) minmax(125px,.8fr);gap:18px;height:104px;padding:16px;align-items:start;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.assembly-dock .dock-group{grid-column:auto;grid-row:auto;min-width:0;gap:10px}.layer-editor{display:flex;align-items:center;gap:8px;height:40px;min-height:40px}.layer-editor select{height:40px;min-width:82px;max-width:95px;width:38%;padding:0 7px;background:var(--field);border:1px solid var(--line);color:var(--text);font-size:10px;flex:none}.layer-editor .layer-stepper{width:100%;min-width:112px;max-width:none;flex:1}.layer-editor .quantity-stepper output{font-size:17px;min-width:30px}.layer-editor .quantity-stepper button{width:27px}.assembly-dock .assembly-controls{display:flex;flex-direction:row;margin:0;gap:5px}.assembly-dock .assembly-controls button{min-width:58px;min-height:40px;height:40px;justify-content:center;padding:5px;font-size:10px}.assembly-dock .dock-opening{display:flex}.assembly-dock .quantity-stepper{height:40px;min-height:40px}.assembly-dock #countValue{display:none}.assembly-dock #opening{height:40px;min-height:40px}.assembly-dock .dock-label,.assembly-dock .control-title{height:18px;min-height:18px;line-height:18px}.material-panel,.main-settings,.stage>.assembly-dock,.spec>div,.segmented,.panel-switch{box-shadow:0 12px 44px #283b5914,0 3px 9px #283b5907!important;border-color:#ffffff85}.stage>.assembly-dock{background:#fffffff5}:root[data-mode=dark] .stage>.assembly-dock{background:#253247f5}:root[data-design=rounded] .layer-editor select{border-radius:12px;border-color:transparent}
@media(max-width:1600px) and (min-width:801px){.stage>.assembly-dock{grid-template-columns:150px 215px 200px 150px;gap:14px;height:104px}.assembly-dock .dock-group{width:auto}}
@media(max-width:800px),(max-height:500px){.stage>.assembly-dock{grid-template-columns:150px 215px 200px 150px;height:104px;max-height:104px;gap:16px;padding:14px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.assembly-dock .dock-group{grid-column:auto;grid-row:auto;gap:8px}.assembly-dock .assembly-controls{flex-direction:row;gap:4px}.assembly-dock .assembly-controls button{min-height:40px;height:40px;padding:5px;justify-content:center}.assembly-dock .dock-opening{display:flex}.assembly-dock #opening{height:40px;min-height:40px}}
.dock-scroll-hint{display:none}
@media(max-width:800px),(max-height:500px){.stage>.assembly-dock{grid-template-columns:repeat(4,calc(100vw - 80px));scroll-snap-type:x mandatory;scroll-padding-inline:14px}.assembly-dock .dock-group{scroll-snap-align:start}.assembly-dock .quantity-stepper{width:100%}.assembly-dock .layer-editor{width:100%}body[data-panel=assembly] .dock-scroll-hint{display:block;position:absolute;left:18px;bottom:180px;font-size:9px;color:var(--muted);background:var(--surface);padding:4px 8px;border-radius:5px;z-index:5;pointer-events:none}}
/* Direct set selection: no dropdown or popup; all three positions stay reserved. */
.layer-set-tabs{display:flex;align-items:center;gap:3px;padding:3px;background:var(--field);border:1px solid var(--line);height:40px;flex:0 0 91px;border-radius:6px}.layer-set-tabs button{flex:1;min-width:0;width:25px;height:32px;border:0;padding:0;background:transparent;color:var(--muted);font-size:11px}.layer-set-tabs button[aria-pressed=true]{background:var(--surface);color:var(--accent-text);box-shadow:0 2px 6px #26395212}.layer-set-tabs button:disabled{opacity:.28;cursor:default}.layer-set-tabs button:focus-visible{outline-offset:0}:root[data-design=rounded] .layer-set-tabs{border-radius:12px;border-color:transparent}:root[data-design=rounded] .layer-set-tabs button{border-radius:9px}
