:root{font-family:'Chakra Petch','Segoe UI',sans-serif;color:#e8ecf1;background:#05070a;--ink:#e8ecf1;--muted:#9ba8ba;--line:#283341;--accent:#ffb627;--paper:#0d131b;--dark:#ffb627;color-scheme:dark}
body.hm-bridge{background:radial-gradient(ellipse at 72% 12%,#0f1d28,#080b10 55%,#040507);min-height:100dvh}.hm-bridge>.a-fabric{position:fixed;opacity:.45;height:100dvh}.hm-bridge>.a-scan{opacity:.4;pointer-events:none}.hm-bridge>.a-hdr{max-width:1600px;margin:auto;padding:20px 28px 0!important}.hm-bridge .a-bar{font-family:'Chakra Petch',sans-serif}.hm-bridge .a-bar a{box-sizing:border-box}
.studio-heading{position:relative;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 30px 20px;gap:20px}.studio-heading h1{font:400 clamp(21px,2.4vw,30px)/1.5 'Michroma',sans-serif;letter-spacing:.03em;margin:5px 0 0}.studio-heading h1 span{color:#ffb627;text-shadow:0 0 24px #ffb62730}.studio-heading .eyebrow{color:#3de8ff;text-decoration:none}.studio-heading .quiet-button{padding:12px 15px;margin:0;border:1px solid var(--line);border-radius:9px;background:linear-gradient(#171e28,#10151c);color:#b9c4d3}
.workspace{position:relative;grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 272px);min-height:580px;max-width:1544px;margin:0 auto 28px;border:1px solid #2a3441;border-radius:15px;overflow:hidden;box-shadow:0 25px 65px #0006}.controls-panel{background:linear-gradient(115deg,#101720f5,#090e15fa);scrollbar-color:#3b4859 transparent}.panel-heading{padding:24px 22px}.eyebrow{color:#3de8ff;font-size:12px;font-weight:600;letter-spacing:.16em}h2{font:400 17px/1.55 'Michroma',sans-serif;color:#f3f5f8;letter-spacing:0;margin-top:9px}.unit-badge{color:#ffcf6e;border-color:#6b5025;background:#ffb6270b}.section-number{color:#b88b34}.controls-panel summary{font-size:15px;letter-spacing:.02em}.controls-panel summary:hover{background:#3de8ff06}.controls-panel summary::after{color:#ffb627}.group-controls{padding:0 22px 9px}.control-label label{font-size:14px}.value-box{background:#060a10;border-color:#344154;border-radius:5px}.value-box input{color:#e8ecf1;font-size:14px}.value-box span{color:#91a6bc}.range-limits{color:#8b9aab}.help{color:#9ba8ba;font-size:13px}input[type=range]{background:linear-gradient(to right,#ffb627 0%,#ffb627 var(--fill,50%),#283442 var(--fill,50%),#283442 100%)}input[type=range]::-webkit-slider-thumb{background:#fff0c2;border-color:#ffb627;box-shadow:0 0 10px #ffb62766}input[type=range]::-moz-range-thumb{background:#fff0c2;border-color:#ffb627}.choice-row button{background:#0b111a;border-color:#344154;color:#a7b2c0}.choice-row button.active{color:#1a1000;background:linear-gradient(#ffd064,#ff9f0a);border-color:#ffb627;box-shadow:0 0 18px #ffb62722}.choice-row button:hover{border-color:#3de8ff}.panel-footer{padding:23px 22px;background:#080d13}.panel-footer p{font-size:13px;color:#9ba8ba}.quote-button{background:linear-gradient(#ffd064,#ff9f0a);color:#1a1000;border:1px solid #ffb627;border-radius:9px;box-shadow:0 0 18px #ffb62722;font-weight:600}.quote-button:hover{box-shadow:0 0 25px #ffb62755}.quote-button:disabled{box-shadow:none}
.studio{background:radial-gradient(ellipse at 54% 34%,#263845,#14202d 48%,#080d14);border-top:1px solid #ffb62760}.studio::after{content:'';position:absolute;left:25px;top:25px;width:28px;height:28px;border-left:1px solid #3de8ff55;border-top:1px solid #3de8ff55;pointer-events:none}.studio-top{top:27px;left:42px;right:26px}.design-name{font:400 clamp(16px,1.7vw,23px)/1.5 'Michroma',sans-serif;letter-spacing:0;color:#e8ecf1}.status{color:#7ce9f8;background:#06121dc9;border-color:#2e5164;font-size:12px;white-space:normal;text-align:right;max-width:180px}.segmented,.tool-button{background:#0c131eef;border-color:#344354;box-shadow:0 4px 12px #0004;color:#b9c4d3}.segmented button{font-size:14px}.segmented button.active{background:#ffb627;color:#1a1000}.tool-button{font-size:14px}/* The tabletop toggle sat in the viewport bar with a colour but no plate, unlike the
   buttons either side of it, so the 3D model rendered straight through the word and
   it could not be read. It gets the same plate as its neighbours. */
.toggle{color:#a7b2c0;border-color:#344354;font-size:14px;background:#0c131eef;border:1px solid #344354;border-radius:7px;padding:11px 14px;box-shadow:0 4px 12px #0004}.viewer-bottom{border-color:#344354}.specs span{color:#9db0c5;font-size:11px}.specs strong{font:500 17px 'Chakra Petch',sans-serif;color:#e8ecf1}.orbit-hint{color:#9ba8ba}.preview-note{background:#080e17;color:#a6b1bf;font-size:12px}.preview-note button{border-color:#3de8ff;color:#3de8ff}.failure{background:#111b28;border:1px solid #805429;color:#fff}.failure button{background:#ffb627;color:#1a1000}
dialog{background:linear-gradient(130deg,#151e2a,#090f17);color:#e8ecf1;border:1px solid #3a4859;border-top:2px solid #ffb627;box-shadow:0 0 45px #ffb62713,0 30px 70px #000a;max-height:calc(100dvh - 30px);overflow:auto}dialog::backdrop{background:#020509c9}dialog p{color:#b4becb}dialog h2{font-size:22px}.close-button{color:#ffcf6e}#quote-dialog .quote-summary{color:#c4cfdd;background:#080f19;border:1px solid #2c3b4b}#quote-form input:not([hidden]),#quote-form textarea{color:#e8ecf1;background:#060b12;border-color:#344154}#quote-form input::placeholder,#quote-form textarea::placeholder{color:#8392a5}#quote-status{background:#0b1a23;color:#7ce9f8;border:1px solid #274b5b}.quote-reference-images figcaption{color:#a6b1bf}#quote-form a{color:#ffcf6e}.quote-reference-images img{border-color:#364455}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible,textarea:focus-visible{outline-color:#3de8ff!important}button:hover{filter:none}
@media(max-width:1200px){.workspace{margin:0 20px 24px;grid-template-columns:320px minmax(0,1fr)}.specs{gap:18px}.studio-top{left:35px}.status{font-size:11px;max-width:135px}.viewer-tools{left:12px;right:12px;gap:7px}}
@media(max-width:760px){.hm-bridge>.a-hdr{padding:16px 16px 0!important}.studio-heading{padding:21px 18px 17px;gap:12px}.studio-heading h1{font-size:20px}.studio-heading .eyebrow{font-size:10px}.studio-heading .quiet-button{font-size:13px;padding:8px 10px}.workspace{display:flex;flex-direction:column;height:auto;min-height:0;margin:0 12px 20px}.studio{min-height:500px;height:65svh;max-height:720px}.controls-panel{width:100%;border-top:1px solid #344354}.studio-top{left:29px;right:18px;top:25px}.studio .eyebrow{font-size:10px}.design-name{font-size:15px}.status{max-width:100px;font-size:10px}.viewer-tools{flex-wrap:wrap}.specs strong{font-size:14px}.specs span{font-size:10px}.preview-note{font-size:11px}.panel-heading h2{font-size:18px}.group-controls{padding:0 24px 9px}dialog{padding:30px 22px}}
/* Stellar collection selector: compact, native keyboard/touch interaction. */
.generator-intro{margin:7px 0 0;color:#9babbe;font-size:14px;letter-spacing:.025em}
.generator-actions{display:flex;align-items:flex-end;gap:14px;flex-shrink:0}
.design-selector{display:flex;flex-direction:column;gap:7px;min-width:208px}
.design-selector>span{font:600 10px 'Chakra Petch',sans-serif;letter-spacing:.17em;color:#8ea9ba}
.design-selector select{appearance:none;background:#101924 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23ffb627' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 15px center;border:1px solid #806029;border-radius:9px;padding:13px 40px 13px 15px;color:#ffcf6e;font:500 16px 'Chakra Petch',sans-serif;box-shadow:0 0 20px #ffb6270a;cursor:pointer}
.design-selector select:focus-visible{outline:2px solid #3de8ff;outline-offset:3px}.design-selector option{background:#101924;color:#e8ecf1}
.design-description{margin:5px 0 0;font-size:13px;color:#9cb1c3}.studio-top .design-name{font-size:27px;margin:6px 0 0}
@media(min-width:761px){.studio-heading h1{font-size:clamp(18px,2vw,27px)}}
@media(max-width:1050px){.studio-heading{flex-wrap:wrap}.generator-actions{width:100%;justify-content:space-between}.workspace{height:calc(100dvh - 340px)}}
@media(max-width:760px){.studio-heading h1{font-size:18px}.generator-intro{font-size:12px}.generator-actions{gap:10px}.design-selector{flex:1;min-width:0}.design-selector select{font-size:15px;padding:12px 35px 12px 12px}.generator-actions .quiet-button{margin-bottom:2px}.studio-top .design-name{font-size:22px}.design-description{font-size:11px;max-width:185px}.workspace{height:auto}}
