:root{--action-solid:#4169ee;--action-on:#fff;--action-soft:#eaf0ff;--action-ink:#3154c8;--action-night:#c4d2ff;--action-nightInk:#1d3266}
:root[data-design=rounded][data-mode=light]{--blue:var(--action-solid);--accent:var(--action-solid);--accent-soft:var(--action-soft);--accent-text:var(--action-ink)}
:root[data-design=rounded][data-mode=dark]{--bg:#151a22;--ink:#f1f4f8;--text:#eef2f8;--muted:#b0bac8;--surface:#232c39f5;--field:#2b3646;--line:#3c495c;--stage:#1b2431;--accent:var(--action-night);--accent-soft:var(--action-night);--accent-text:var(--action-nightInk);--blue:var(--action-night);--grid-major:#546780;--grid-minor:#36485e;--floor-base:#17202d;--floor-spot:#33455f}
.brand{letter-spacing:-.65px}.brand-symbol i{background:var(--action-solid)!important}.brand-symbol i:nth-child(2){opacity:.62}.brand-symbol i:nth-child(3){opacity:.3}.brand-light{color:#8591a5}.appearance-controls{gap:8px}.accent-picker{position:relative}#accent-toggle{padding:7px;border-radius:50%;border:1px solid #e2e7f0;background:#f8faff}#accent-toggle .current-accent{display:block;width:16px;height:16px;border-radius:50%;background:var(--action-solid);box-shadow:0 0 0 3px #fff}.accent-options{position:absolute;right:0;top:46px;display:grid;grid-template-columns:repeat(5,34px);gap:9px;padding:16px;background:#fff;border:1px solid #e4eaf3;box-shadow:0 12px 40px #15243e1a;border-radius:18px;z-index:100}.accent-caption{grid-column:1/-1;font-size:10px;color:#6b778b;line-height:1.6;margin-bottom:3px}.appearance-controls .accent-options button{width:34px;height:34px;padding:4px;border:2px solid transparent;background:transparent;border-radius:50%}.accent-options button>span{width:22px;height:22px;display:block;border-radius:50%;background:var(--swatch)}.appearance-controls .accent-options button[aria-pressed=true]{border-color:var(--swatch)}.accent-options button[aria-pressed=true]>span:after{content:'✓';display:grid;place-items:center;color:#fff;font-size:12px;line-height:22px}.blue,.dark,.nav-start,:root[data-design=rounded][data-mode=light] .blue,:root[data-design=rounded][data-mode=light] .dark,:root[data-design=rounded][data-mode=light] .nav-start{background:var(--action-solid);color:var(--action-on);box-shadow:0 7px 20px color-mix(in srgb,var(--action-solid) 15%,transparent)}:root[data-design=rounded][data-mode=light] h1>span{color:var(--action-solid)}.text-link,.scene-options b,.scene-card>a,.studio-nav[aria-current=page]{color:var(--action-ink)}:root[data-design=rounded][data-mode=light] .scene-options button[aria-selected=true]{background:var(--action-soft)}:root[data-design=rounded][data-mode=light] .hero-tag{color:var(--action-ink);background:var(--action-soft)}:root[data-design=rounded][data-mode=light] .export-actions #mf,:root[data-design=rounded][data-mode=light] .panel-switch button[aria-pressed=true]{background:var(--action-solid);color:var(--action-on)}.dimension-demo b{color:var(--action-ink)!important}.plate-manifest>span:first-child>i{background:var(--action-solid)}.part-shell{border-color:var(--action-solid)}.bambu-copy>div>span{color:var(--action-ink);background:var(--action-soft)}.quantity-stepper button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}
/* Dark surfaces share one cool neutral scale; selected controls use light accent tones. */
:root[data-mode=dark] body{background:#151a22}:root[data-mode=dark] .navigation{background:#1e2734;border-color:#344052}:root[data-mode=dark] .playground,:root[data-mode=dark] .make-visual,:root[data-mode=dark] .scene-panel{background:#202d40}:root[data-mode=dark] .feature,:root[data-mode=dark] .contact-links>div,:root[data-mode=dark] .questions .answer,:root[data-mode=dark] .plate-preview,:root[data-mode=dark] .cta{background:#222e40;border-color:#34445c}:root[data-mode=dark] .color-feature{background:#292c43}:root[data-mode=dark] .stack-feature{background:#22383b}:root[data-mode=dark] .benefit-icon,:root[data-mode=dark] .scene-emoji,:root[data-mode=dark] .card-icon,:root[data-mode=dark] .contact-icon,:root[data-mode=dark] .steps li>span{background:#34475f!important;color:#dce7f8!important}:root[data-mode=dark] .scene-options button{background:transparent}:root[data-mode=dark] .scene-options button:hover{background:#293b52}:root[data-mode=dark] .scene-options button[aria-selected=true]{background:var(--action-night);color:var(--action-nightInk)}:root[data-mode=dark] .scene-options button[aria-selected=true] small,:root[data-mode=dark] .scene-options button[aria-selected=true] b{color:var(--action-nightInk)!important}:root[data-mode=dark] .scene-options button[aria-selected=true] .scene-emoji{background:#ffffff73!important;color:var(--action-nightInk)!important}:root[data-mode=dark] .blue,:root[data-mode=dark] .dark,:root[data-mode=dark] .nav-start{background:var(--action-night);color:var(--action-nightInk)}:root[data-mode=dark] .appearance-controls #mode-toggle,:root[data-mode=dark] #accent-toggle{background:#2b384b;border-color:#465773;color:#d4e0f0}:root[data-mode=dark] #accent-toggle .current-accent{box-shadow:0 0 0 3px #34445b}:root[data-mode=dark] .accent-options{background:#253349;border-color:#435575;box-shadow:0 12px 40px #050a1540}:root[data-mode=dark] .accent-caption{color:#c4d1e4}:root[data-mode=dark] .appearance-controls .accent-options button{background:transparent;border-color:transparent}:root[data-mode=dark] .appearance-controls .accent-options button[aria-pressed=true]{border-color:var(--swatch)}:root[data-mode=dark] .spec>div,:root[data-mode=dark] .spec>div:first-child,:root[data-mode=dark] .spec>div+div,:root[data-mode=dark] .stage>.assembly-dock,:root[data-mode=dark] .main-settings,:root[data-mode=dark] .stage>.material-panel,:root[data-mode=dark] .panel-switch{background:#232f41f5;border-color:#40516b}:root[data-mode=dark] .segmented,:root[data-mode=dark] .material-families{background:#2c3b51;border-color:#3d506c}:root[data-mode=dark] .segmented button.active,:root[data-mode=dark] .material-families button[aria-pressed=true],:root[data-mode=dark] .material-target button[aria-pressed=true],:root[data-mode=dark] .set-controls button[aria-pressed=true],:root[data-mode=dark] .assembly-controls button[aria-pressed=true],:root[data-mode=dark] .layer-set-tabs button[aria-pressed=true],:root[data-mode=dark] .presets button.active,:root[data-mode=dark] .panel-switch button[aria-pressed=true]{background:var(--action-night);color:var(--action-nightInk);border-color:transparent;box-shadow:0 3px 9px #0d172526}:root[data-mode=dark] .quantity-stepper{background:#2b3a51;border-color:#3b506f}:root[data-mode=dark] .quantity-stepper button{background:#3a4e6b;color:#e8f0fc}:root[data-mode=dark] .quantity-stepper button:hover:not(:disabled){background:var(--action-night);color:var(--action-nightInk)}:root[data-mode=dark] .export-actions #mf{background:var(--action-night);color:var(--action-nightInk);border-color:transparent}:root[data-mode=dark] .material-swatch[aria-pressed=true]{border-color:var(--action-night);background:#3b4f6d}:root[data-mode=dark] .material-swatch[aria-pressed=true] .color-name{color:#edf3ff}:root[data-mode=dark] .material-swatch[aria-pressed=true] b{background:var(--action-night);color:var(--action-nightInk)}:root[data-mode=dark] .measure-value{background:#34465f;border-color:#566d8b;color:#edf3ff}:root[data-mode=dark] .palette-tools button{background:#30435e;color:#dce7f8}:root[data-mode=dark] .palette-tools button:hover{background:var(--action-night);color:var(--action-nightInk)}:root[data-mode=dark] .text-link,:root[data-mode=dark] .scene-card>a,:root[data-mode=dark] .studio-nav[aria-current=page],:root[data-mode=dark] .dimension-demo b{color:var(--action-night)!important}
.print-volume-hints{position:absolute;top:136px;left:246px;right:304px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;pointer-events:auto;max-width:650px}.print-volume-hints>div{background:#ffffffa8;border:1px solid #ffffffa6;box-shadow:0 6px 24px #263c5906;border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;min-width:0}.print-volume-hints span{font-size:9px;color:#6f8098;white-space:nowrap}.print-volume-hints strong{font:10px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;color:#405372;font-variant-numeric:tabular-nums;white-space:nowrap}.print-volume-hints>small{grid-column:1/-1;font-size:8px;color:#7a8ba4;padding:0 3px}:root[data-mode=dark] .print-volume-hints>div{background:#293b55c9;border-color:#3e55704d}:root[data-mode=dark] .print-volume-hints span{color:#aec1dc}:root[data-mode=dark] .print-volume-hints strong{color:#dbe7f9}:root[data-mode=dark] .print-volume-hints>small{color:#92a8c7}
@media(max-width:1599px){.print-volume-hints{left:226px}}
@media(max-width:1100px){.print-volume-hints{left:198px;right:266px;top:112px;gap:5px}.print-volume-hints>div{padding:7px}.print-volume-hints span{font-size:8px}.print-volume-hints strong{font-size:9px}}
@media(max-width:800px),(max-height:500px){.print-volume-hints{left:12px;right:12px;top:124px;max-width:none;gap:5px}.print-volume-hints>div{padding:7px 6px}.print-volume-hints span{font-size:8px;overflow:hidden;text-overflow:ellipsis}.print-volume-hints strong{font-size:9px}.print-volume-hints>small{font-size:7px}.print-volume-hints{pointer-events:none}}
@media(max-width:360px){.print-volume-hints strong{font-size:8px}.print-volume-hints span{font-size:7px}.appearance-controls{gap:5px}}
@media(max-height:500px){.print-volume-hints{top:58px}.print-volume-hints>small{display:none}}
@media(max-width:760px){.accent-options{position:fixed;top:72px;right:12px;left:auto}.print-volume-hints>div{background:#ffffffc9}:root[data-mode=dark] .print-volume-hints>div{background:#293b55df}}
/* Core actions always carry white text; light selected tabs stay readable separately. */
:root,:root[data-design=rounded][data-mode=light],:root[data-design=rounded][data-mode=dark]{--action-on:#fff}
.blue,.dark,.nav-start,:root[data-design=rounded][data-mode=light] .blue,:root[data-design=rounded][data-mode=light] .dark,:root[data-design=rounded][data-mode=light] .nav-start,:root[data-mode=dark] .blue,:root[data-mode=dark] .dark,:root[data-mode=dark] .nav-start{background:var(--action-solid);color:#fff}
:root[data-design=rounded][data-mode=light] .export-actions #mf,:root[data-mode=dark] .export-actions #mf,:root[data-design=rounded][data-mode=light] .panel-switch button[aria-pressed=true]{background:var(--action-solid);color:#fff}
/* Three equally sized columns with directly visible 0–5 layer choices. */
.stage>.assembly-dock{grid-template-columns:minmax(0,3fr) minmax(180px,1fr) minmax(140px,1fr);height:104px;gap:20px;overflow:hidden}.column-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}.assembly-dock .column-group{min-width:0;gap:10px}.column-levels{display:flex;align-items:center;width:100%;height:40px;gap:2px;padding:3px;border-radius:12px;background:var(--field);box-shadow:none}.column-levels button{flex:1;min-width:0;width:auto;height:34px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;border-radius:9px;font-variant-numeric:tabular-nums}.column-levels button[aria-pressed=true]{background:var(--surface);color:var(--accent-text);box-shadow:0 3px 9px #26395215}.column-levels button:hover{color:var(--accent-text)}:root[data-mode=dark] .column-levels button[aria-pressed=true]{background:var(--action-night);color:var(--action-nightInk)}.export-actions button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important}
/* Print dimensions are centered, unboxed reference text. */
.print-volume-hints{left:50%!important;right:auto!important;top:132px;transform:translateX(-50%);width:min(650px,calc(100% - 560px));max-width:none;gap:18px;text-align:center;pointer-events:none}.print-volume-hints>div,:root[data-mode=dark] .print-volume-hints>div{background:transparent;border:0;box-shadow:none;padding:0;gap:3px;border-radius:0}.print-volume-hints span{font-size:8px}.print-volume-hints strong{font-size:9px;font-weight:400}.print-volume-hints>small{font-size:7px;letter-spacing:.2px}
/* Float controls use elevation, without persistent outlines. */
.zoom-control,:root[data-design=rounded] .zoom-control,.segmented,.subtle,.assembly-controls button,.zoom-control button,:root[data-mode=dark] .segmented,:root[data-mode=dark] .assembly-controls button{border:0;box-shadow:0 7px 24px #20385c12,0 2px 6px #20385c06}.zoom-control:focus-within{outline:0}.zoom-control input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.zoom-control button{box-shadow:none}.assembly-controls button{background:var(--surface)}:root[data-mode=dark] .assembly-controls button{background:#30425a}:root[data-mode=dark] .assembly-controls button[aria-pressed=true]{background:var(--action-night);color:var(--action-nightInk)}.segmented button{border:0}.subtle{box-shadow:0 4px 15px #20385c10}
@media(max-width:1600px) and (min-width:801px){.stage>.assembly-dock{grid-template-columns:660px 200px 160px;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.column-controls{grid-template-columns:repeat(3,208px);gap:18px}.column-group{scroll-snap-align:start}}
@media(max-width:1100px){.print-volume-hints{top:110px;width:calc(100% - 470px);gap:10px}.print-volume-hints span{font-size:7px}.print-volume-hints strong{font-size:8px}}
@media(max-width:800px),(max-height:500px){.stage>.assembly-dock{grid-template-columns:calc(3 * (100vw - 80px) + 32px) calc(100vw - 80px) calc(100vw - 80px);gap:16px;height:104px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory}.column-controls{grid-template-columns:repeat(3,calc(100vw - 80px));gap:16px}.column-group{scroll-snap-align:start}.column-levels button{font-size:12px}.print-volume-hints{top:124px;width:calc(100% - 32px);gap:10px}.print-volume-hints span{font-size:7px}.print-volume-hints strong{font-size:8px}.print-volume-hints>small{font-size:7px}}
@media(max-height:500px){.print-volume-hints{top:55px;width:min(620px,calc(100% - 32px))}}
/* Square nudge buttons, with a fluid numeric field between them. */
.precision-control{--nudge-size:34px;display:grid;grid-template-columns:var(--nudge-size) var(--nudge-size) minmax(0,1fr) var(--nudge-size) var(--nudge-size);gap:4px;align-items:center}.precision-control button{width:var(--nudge-size);height:var(--nudge-size);min-height:var(--nudge-size);aspect-ratio:1;padding:0;border:0;box-shadow:0 3px 12px #22365306;font-size:9px;border-radius:10px}.precision-control input{width:100%;min-width:0;height:var(--nudge-size);min-height:var(--nudge-size);padding:3px 2px;line-height:1.2;border:0;box-shadow:0 3px 12px #22365305;font-size:21px;border-radius:10px;grid-column:auto;grid-row:auto}
@media(max-width:800px),(max-height:500px){.main-settings #dimensions{display:flex;flex-direction:column;gap:18px}.dimension+.dimension{border-top:1px solid var(--line);padding-top:18px}.precision-control{--nudge-size:36px;grid-template-columns:var(--nudge-size) var(--nudge-size) minmax(0,1fr) var(--nudge-size) var(--nudge-size);gap:5px}.precision-control button[data-step="-0.1"],.precision-control button[data-step="0.1"]{display:flex}.precision-control input{grid-column:auto;grid-row:auto;height:var(--nudge-size);min-height:var(--nudge-size)}}
/* Each of the three columns, pose control and opening control gets one equal slot. */
.column-controls{display:contents}.stage>.assembly-dock{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.assembly-dock .column-group{min-width:0;grid-column:auto;grid-row:auto}
@media(max-width:1600px) and (min-width:801px){.stage>.assembly-dock{grid-template-columns:repeat(5,208px);gap:18px;overflow-x:auto;overflow-y:hidden}}
@media(max-width:800px),(max-height:500px){.stage>.assembly-dock{grid-template-columns:repeat(5,calc(100vw - 80px));gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory}.column-controls{display:contents}}
.appearance-controls .language-toggle{font:10px/1 -apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;letter-spacing:.2px;width:34px;height:34px}.navigation nav{gap:26px}
@media(max-width:800px),(max-height:500px){.spec>div,.spec>div:first-child,.spec>div+div{min-height:54px;max-height:64px}.spec span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.print-volume-hints{top:132px}.appearance-controls .language-toggle{width:30px;height:32px}.appearance-controls{gap:5px}.navigation>.brand{font-size:16px}}
@media(max-height:500px){.print-volume-hints{top:55px}}
.color-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:center}
@media(min-width:1101px) and (max-width:1600px){.stage>.assembly-dock{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;overflow-x:hidden}.assembly-dock .assembly-controls button{min-width:0;flex:1;padding:5px}.assembly-dock .assembly-controls button span{display:none}}
@media(min-width:801px) and (max-width:1100px){.stage>.assembly-dock{grid-template-columns:repeat(5,180px);overflow-x:auto;gap:16px}.assembly-dock .assembly-controls button{min-width:0}}
/* Reference text shares the top toolbar line; the lower dock aligns with side panels. */
.print-volume-hints{top:88px;width:min(650px,calc(100% - 840px));gap:18px}.stage>.assembly-dock{bottom:16px}.stage-footer{display:none!important}.view-actions .subtle[aria-pressed=true]#background-toggle{background:var(--accent-soft);color:var(--accent-text)}
@media(min-width:801px) and (max-width:1100px){.print-volume-hints{top:110px;width:calc(100% - 470px);gap:10px}.stage>.assembly-dock{bottom:14px}}
@media(max-width:800px),(max-height:500px){.print-volume-hints{top:132px;width:calc(100% - 32px);gap:10px}.stage>.assembly-dock{bottom:68px}body[data-panel=assembly] .dock-scroll-hint{bottom:180px}}
@media(max-height:500px){.print-volume-hints{top:58px}}

/* Contact and navigation polish. */
:root[data-mode=dark] .navigation nav{background:transparent;border-color:transparent}
:root[data-mode=dark] .appearance-controls .language-toggle{background:#2b384b;border-color:#465773;color:#d4e0f0}
.contact-icon.contact-logo{flex:0 0 58px;width:58px;height:50px;background:#fff!important;border-radius:12px!important}
.contact-logo img{display:block;width:32px;height:26px;object-fit:contain}
.contact-logo.makerworld-logo{flex-basis:82px;width:82px}
.contact-logo.makerworld-logo img{width:78px;height:46px}
.contact-intro .maker-support{color:var(--action-ink);line-height:1.8}
:root[data-mode=dark] .contact-intro .maker-support{color:var(--action-night)}
@media(max-width:760px){:root[data-mode=dark] .navigation nav.open{background:#1e2734;border-color:#344052}}

.contact-links>.contact-card{display:flex;align-items:center;gap:16px;padding:18px;margin-bottom:12px;background:#f6f8fc;border:1px solid transparent;border-radius:18px;color:inherit;text-decoration:none;transition:background .2s,border-color .2s}
.contact-links>.contact-card:hover{background:var(--action-soft);border-color:var(--action-solid)}
.contact-card:focus-visible{outline:2px solid var(--action-solid);outline-offset:4px}
.contact-card-copy{flex:1;min-width:0}.contact-arrow{margin-left:auto;font-size:24px;color:var(--action-ink)}
.contact-icon.gmail-wordmark,.contact-icon.makerworld-logo{flex:0 0 90px;width:90px;height:58px;background:#fff!important}
.contact-icon.gmail-wordmark img{width:90px;height:50px}.contact-icon.makerworld-logo img{width:86px;height:54px}
:root[data-mode=dark] .contact-links>.contact-card{background:#222e40;border-color:#34445c}
:root[data-mode=dark] .contact-links>.contact-card:hover{background:#2b3b52;border-color:var(--action-night)}
:root[data-mode=dark] .contact-arrow{color:var(--action-night)}
@media(max-width:760px){.contact-links>.contact-card{gap:12px;padding:14px}.contact-icon.gmail-wordmark,.contact-icon.makerworld-logo{flex-basis:76px;width:76px}.contact-icon.gmail-wordmark img,.contact-icon.makerworld-logo img{width:72px}.contact-arrow{font-size:20px}}

:root[data-design=rounded] .scene-options button .scene-emoji{border-radius:30%}
