:root{font-family:Inter,Arial,sans-serif;color:#192d40;background:#edf1f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4982ee;outline-offset:3px}header{height:78px;background:#fff;border-bottom:1px solid #d9e0e5;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:20px}.brandmark{height:37px;width:37px;border-radius:9px;background:#192d40;color:#b8f34c;display:grid;place-items:center;font-size:29px;font-weight:800}.brand strong{font-weight:750}.beta{font-size:12px;letter-spacing:1.5px;font-weight:700;color:#667989}main{display:grid;grid-template-columns:360px minmax(0,1fr);max-width:1800px;margin:auto}aside{background:#fff;border-right:1px solid #d9e0e5;padding:28px 26px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:750;color:#74828f}h1{font-size:26px;line-height:1.2;letter-spacing:-.7px;margin:10px 0 24px}section{border-top:1px solid #e4e9ed;padding:23px 0 0;margin-bottom:23px}.step{display:flex;align-items:center;gap:10px;margin-bottom:17px}.step>span{color:#7a8a95;font-size:12px;letter-spacing:1px}.step h2{margin:0;font-size:16px;font-weight:750}.seg{display:flex;background:#edf1f4;padding:4px;border-radius:8px;margin-bottom:18px}.seg button{width:50%;border:0;background:transparent;padding:9px;border-radius:5px;font-size:14px;color:#5a6c7d}.seg button[aria-pressed=true]{background:#fff;color:#182c40;box-shadow:0 1px 4px #10223815;font-weight:700}label{display:block;font-size:14px;font-weight:600;margin:14px 0 7px}label em{font-style:normal;font-weight:400;color:#7c8a96;font-size:12px}input:not([type=range]):not([type=file]),select{width:100%;border:1px solid #ced8df;border-radius:6px;padding:11px 12px;background:#fff;color:#182c40;min-width:0}#letterText{font-size:23px;letter-spacing:1px;font-weight:700}select{font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.triple{grid-template-columns:1fr 1fr 1fr;gap:8px}.construction{display:flex;gap:12px;padding:14px;background:#f3f7f9;border:1px solid #dce5ea;border-radius:7px}.construction strong{display:block;font-size:14px}.construction small{display:block;font-size:12px;color:#647787;line-height:1.5;margin-top:5px}.mini{font-size:33px;line-height:1;color:#6b8393}details{border-top:1px solid #e4e9ed;margin-top:17px;padding-top:15px}summary{font-size:14px;cursor:pointer;font-weight:650}summary span{float:right;font-weight:400;font-size:12px;color:#7a8893}.hint{font-size:12px;line-height:1.6;color:#6b7b88}.upload{display:block;background:#f5f8fa;border:1px dashed #a8bac7;border-radius:7px;padding:20px 12px;text-align:center}.upload input{max-width:100%;font-size:12px;margin-top:15px}.primary{width:100%;background:#b8f34c;color:#172b20;border:1px solid #a3da3c;border-radius:7px;text-align:left;font-weight:750;font-size:14px;padding:15px 14px;margin-top:10px}.primary span{float:right;font-size:19px}.exporthint{text-align:center}.workspace{padding:30px 34px;min-width:0}.viewhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.viewhead h2{font-size:18px;margin:8px 0 0;font-weight:650}.quiet{background:none;border:1px solid #cbd5dc;border-radius:6px;padding:9px 12px;font-size:13px;color:#496070}#viewport{position:relative;height:510px;min-height:320px;background:radial-gradient(ellipse at center,#fafcfd,#e4ebef);border:1px solid #d4dfe6;border-radius:12px;overflow:hidden}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewtools{position:absolute;top:17px;left:17px;display:flex;gap:5px}.viewtools button{background:#ffffffcf;border:1px solid #d2dce3;color:#586f80;border-radius:5px;padding:8px 12px;font-size:12px}.viewtools button.active{background:#192d40;color:white;border-color:#192d40}.viewhint{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;color:#79909f;pointer-events:none}.viewbottom{display:flex;justify-content:space-between;align-items:center;padding:18px 2px}.legend{display:flex;gap:8px;align-items:center;font-size:12px;color:#62798a}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.bodydot{background:#244458}.facedot{background:#e7f4c3;border:1px solid #bacb9c;margin-left:10px}.explode{display:flex;align-items:center;gap:15px;font-size:12px;font-weight:500;margin:0;color:#62798a}.explode input{width:115px;accent-color:#244458}.metrics{display:grid;grid-template-columns:1.5fr 1fr 1fr;background:white;border:1px solid #dce3e8;border-radius:9px;padding:21px 24px;margin-top:6px}.metrics>div+div{border-left:1px solid #e2e8ec;padding-left:23px}.metrics span{font-size:11px;letter-spacing:1px;color:#7a8b98;display:block}.metrics strong{display:block;font-size:20px;font-weight:650;margin-top:10px}.note{display:flex;gap:18px;padding:25px 0;font-size:13px;line-height:1.6;color:#6b7e8c}.note strong{white-space:nowrap;color:#38566c}.note p{margin:0;max-width:650px}#checks{font-size:12px;line-height:1.5;margin:15px 0;color:#476d4e}.check{margin:7px 0}.warn{color:#94621c}.error{color:#b43c3c}#loading{position:absolute;inset:0;display:grid;place-items:center;color:#6e8795;font-size:14px}#message{font-size:14px;color:#38566c}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}@media(min-width:1500px){#viewport{height:600px}}@media(max-width:1000px){main{grid-template-columns:310px minmax(0,1fr)}aside{padding:24px 20px}.workspace{padding:25px 20px}.metrics{padding:18px 15px}.metrics strong{font-size:16px}.viewbottom{align-items:flex-start;gap:16px;flex-wrap:wrap}.note{display:block}.note p{margin-top:8px}#viewport{height:430px}}@media(max-width:720px){header{height:65px;padding:0 18px}.brand{font-size:17px}.beta{font-size:10px;letter-spacing:.6px}main{display:flex;flex-direction:column}.workspace{order:-1;padding:22px 16px 0}#viewport{height:330px}.viewhead{margin-bottom:15px}.viewhead h2{font-size:16px}.metrics{padding:15px 12px}.metrics>div+div{padding-left:12px}.metrics strong{font-size:14px}.metrics span{font-size:10px}.note{padding:17px 0;font-size:12px}aside{border-right:0;padding:24px}.panelhead h1{font-size:23px}.panelhead h1 br{display:none}.viewhint{font-size:10px}.viewbottom{padding:14px 0}}

.smallhead{font-size:16px;margin:0 0 15px}.bitpresets{display:flex;gap:6px;margin-top:9px}.bitpresets button{border:1px solid #ced8df;border-radius:5px;background:#f6f8fa;color:#38566c;padding:8px 6px;font-size:12px;flex:1}.cncdot{background:#ee941e;margin-left:8px}.legend{flex-wrap:wrap}#previewStatus{position:absolute;top:62px;left:17px;right:17px;z-index:2;border:1px solid #e7c48f;background:#fff6e7ed;padding:9px 12px;border-radius:6px;color:#835717;font-size:13px;pointer-events:none}.bitpresets button[aria-pressed=true]{background:#dfeccc;border-color:#97b95c}.viewbottom{gap:16px}.viewbottom .legend{max-width:70%}@media(max-width:1000px){.viewbottom .legend{max-width:100%}}

.bitpresets{flex-direction:column}.bitpresets button{text-align:left;font-size:14px;padding:10px 12px}.cnc-section[hidden]{display:none}#faceMethod{font-size:14px}

a.primary{display:block;text-decoration:none;cursor:pointer}a.primary[aria-disabled=true]{opacity:.5;cursor:not-allowed}a.primary:focus-visible{outline:3px solid #4982ee;outline-offset:3px}#downloadStatus{margin-bottom:7px}#downloadFallback a{color:#245f86;text-decoration:underline}

.material-card{padding:14px;border:1px solid #dce5ea;border-radius:7px;background:#fafcfd}.material-card summary{font-size:16px}.colour-row{display:flex;gap:12px;align-items:center}.colour-row input[type=color]{width:64px;height:42px;padding:4px;cursor:pointer}.colour-row output{font-size:14px;font-family:monospace}.swatches{display:flex;gap:10px;margin:12px 0}.swatches button{width:32px;height:32px;border:1px solid #9cabb6;border-radius:50%;background:var(--swatch)}.swatches button[aria-pressed=true]{outline:2px solid #246b9e;outline-offset:3px}.assembly-summary{font-size:14px;color:#38566c;margin:0 0 15px;line-height:1.5}.viewbottom{justify-content:flex-start;flex-wrap:wrap}.explode{margin-left:auto}.legend .bodydot{background:var(--body-colour,#23445a)}.legend .facedot{background:var(--face-colour,#f2f2ed)}.material-card input:not([type=color]){font-size:14px}.material-card .hint{font-size:14px}
@media(min-width:721px){.workspace{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto}#viewport{height:clamp(300px,calc(100vh - 350px),600px)}}

.back-toggle{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.back-toggle input[type=checkbox]{width:auto;accent-color:#23445a}#construction{margin-bottom:15px}

#fontFile{width:100%;font-size:14px}#fontStatus{overflow-wrap:anywhere}

.letter-adjust{display:grid;grid-template-columns:35px repeat(3,minmax(0,1fr));gap:8px;align-items:end;margin:10px 0}.letter-adjust label{font-size:11px}.letter-adjust input{width:100%;min-width:0}#mergeFields details{margin:12px 0}#mergeFields summary{cursor:pointer;font-size:13px}

.history-tools{display:flex;gap:8px;padding:0 24px}.history-tools button{flex:1}.history-tools button:disabled{opacity:.4;cursor:default}.session-note{padding:0 24px;margin-top:8px}#historyStatus{min-height:3em}

#sectionBox{margin:12px 20px;padding:12px;border:1px solid #456071;border-radius:8px}#sectionBox summary{cursor:pointer;font-size:14px}#sectionPreview svg{display:block;width:100%;height:210px}#sectionPreview p{font-size:14px;line-height:1.5}#fitSample{display:inline-block;margin:8px 20px}#fitSample[hidden]{display:none}

textarea{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:transparent;border:1px solid #9daab6;border-radius:6px;padding:10px;resize:vertical;min-height:48px}#boxSettings{margin-top:12px}
/* Beta 17: a compact four-step editor with the model and download always nearby. */
main{grid-template-columns:minmax(360px,440px) minmax(0,1fr)}aside{padding:24px}.panelhead h1{margin:6px 0 16px}.history-tools,.session-note{padding:0}#historyStatus:empty{display:none}#historyStatus{min-height:0}.experience-switch{display:flex;gap:4px;background:#edf1f4;padding:4px;border-radius:8px;margin:18px 0 12px}.experience-switch button{flex:1;border:0;padding:9px;border-radius:5px;background:transparent;color:#415970}.experience-switch button[aria-pressed=true]{background:#192d40;color:white}.step-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:20px}.step-nav button{padding:11px 3px;font-size:14px;background:white;border:0;border-bottom:3px solid #dce5ea;color:#526577}.step-nav button[aria-selected=true]{border-color:#23445a;color:#152537;font-weight:700}.step-panel>h2{font-size:21px;margin:0 0 18px}.step-panel section{padding:0;border:0}.step-footer{display:flex;justify-content:space-between;border-top:1px solid #dce5ea;padding-top:16px;margin-top:20px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.choice-grid button,.construction-cards button{background:white;border:1px solid #cbd6de;border-radius:8px;text-align:left;padding:12px;color:#1b3043}.choice-grid strong,.construction-cards strong{display:block;font-size:15px}.choice-grid small,.construction-cards small{display:block;font-size:14px;line-height:1.4;color:#546b7c;margin-top:5px}.choice-grid button[aria-pressed=true],.construction-cards button[aria-pressed=true]{border:2px solid #285e79;background:#edf5f8;padding:11px}.construction-cards{display:grid;gap:8px;margin:16px 0}.construction-cards button{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:12px}.construction-cards svg{width:88px;height:70px}.construction-cards button:disabled{opacity:.65}.hint,.construction small,#checks{font-size:14px}.hint{line-height:1.5}.quiet{font-size:14px}.finished-summary{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;background:#192d40;color:#fff;padding:15px 18px;border-radius:9px;margin-bottom:12px}.finished-summary span{font-size:12px;letter-spacing:.8px}.finished-summary strong{font-size:22px}.finished-summary small{width:100%;font-size:13px;color:#c2d2dc}.workspace{padding:24px;max-height:100vh}.download-dock{position:static;background:#fff;border:1px solid #cbd7df;border-radius:10px;padding:12px;margin-top:16px;box-shadow:none}.download-dock .primary{margin:8px 0}.download-dock .hint{margin:6px 0 0}.download-dock>.quiet{border:0;padding:0}.file-row{display:grid;grid-template-columns:75px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #e1e7eb;font-size:14px;line-height:1.5}.file-row strong{color:#285e79}.ui-error{border-left:4px solid #b43c3c;background:#fff0ed;padding:13px;margin-bottom:18px;font-size:14px;line-height:1.5}[aria-invalid=true]{border-color:#b43c3c!important}body[data-ui-mode=simple] .advanced-only{display:none!important}.step-panel details{margin-bottom:18px}#sectionBox{margin:12px 0}#fitSample{margin:8px 0}#viewport{height:clamp(260px,calc(100vh - 390px),520px)}.metrics{display:none}.viewhead h2{overflow-wrap:anywhere}.viewbottom .legend{max-width:100%}.note{font-size:14px}button:focus-visible,textarea:focus-visible{outline:3px solid #4982ee;outline-offset:3px}
@media(max-width:1050px){main{grid-template-columns:360px minmax(0,1fr)}.workspace{padding:18px}.finished-summary strong{font-size:19px}}
@media(max-width:760px){main{display:flex;flex-direction:column}.workspace{position:static;order:0;max-height:none;padding:16px}aside{order:-1;padding:18px}.step-panel{max-height:55vh;overflow-y:auto;padding:2px 4px}.step-nav{position:sticky;top:0;background:white;z-index:4}.download-dock{position:static}#viewport{height:320px}.finished-summary strong{font-size:18px}.step-footer{margin-top:12px}.construction-cards button{grid-template-columns:72px 1fr}.construction-cards svg{width:72px}.viewbottom{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Explanatory pictograms retain visible labels and work without hover. */
.design-pictogram{display:block;margin:0 0 9px;background:#f3f7fa;border-radius:6px;line-height:0}.design-pictogram svg{display:block;width:100%;height:76px}.choice-grid button[aria-pressed=true] .design-pictogram{background:#dfedf3}.construction-cards svg{width:100%;height:78px}.pictogram-key{font-size:14px;line-height:1.5;color:#526879;margin:12px 0}.setting-pictogram{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;align-items:center;background:#f3f7fa;border-radius:6px;margin:8px 0 14px;padding:6px 10px}.setting-pictogram svg{display:block;width:80px;height:60px}.setting-pictogram p{font-size:14px;line-height:1.4;margin:0;color:#41586a}@media(max-width:380px){.choice-grid{grid-template-columns:1fr}.choice-grid .design-pictogram svg{height:68px}.construction-cards button{grid-template-columns:72px minmax(0,1fr)}}

@font-face{font-family:studio-bold;src:url(/bold.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-regular;src:url(/regular.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-serif;src:url(/serif.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-serifbold;src:url(/serifbold.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-mono;src:url(/mono.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-monobold;src:url(/monobold.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-monoitalic;src:url(/monoitalic.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-monobolditalic;src:url(/monobolditalic.ttf) format("truetype");font-display:swap;}
.shape-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.shape-tile{min-width:0;border:1px solid #cbd6de;background:#f7fafc;border-radius:8px;padding:8px;color:#253e51}.shape-tile svg{display:block;width:100%;height:60px}.shape-tile span{display:block;font-size:14px;line-height:1.3;margin-top:7px;overflow-wrap:anywhere}.shape-tile[aria-pressed=true],.font-gallery button[aria-pressed=true]{outline:2px solid #285e79;outline-offset:-2px;background:#e5f0f5}.font-preview{background:#f3f7fa;border-radius:6px;margin:10px 0;padding:12px}.font-preview svg{display:block;width:100%;height:45px}.font-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:250px;overflow:auto;padding:5px;margin:12px 0}.font-gallery button{min-width:0;border:1px solid #cbd6de;border-radius:6px;background:#fff;padding:10px;text-align:left;color:#253e51}.font-sample{display:block;font-size:25px;overflow-wrap:anywhere}.font-gallery small{display:block;font-size:14px;line-height:1.4;margin-top:7px}.font-browser{margin-bottom:16px}@media(max-width:380px){.shape-gallery,.font-gallery{grid-template-columns:1fr 1fr}}

.calibration-panel{margin:14px 0;padding:14px;border:1px solid #b8c9c5;border-radius:12px;background:#f2f7f5}.calibration-panel summary{font-weight:700;cursor:pointer}.calibration-panel p{font-size:13px;line-height:1.5}.calibration-panel select{width:100%;margin:6px 0 10px}.calibration-panel a{display:block;margin-top:12px;text-align:center}.calibration-panel [hidden]{display:none}.svg-diagnostics{margin-top:10px;padding:12px;border:1px solid #b8c9c5;border-radius:8px;font-size:12px;line-height:1.5}.svg-diagnostics ul{padding-left:18px}.svg-diagnostics[data-blocked="true"]{border-color:#bd7249;background:#fff7ef}

.selected-design{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #a6bca2;border-radius:10px;background:#f4f8ef}.selected-design .design-pictogram svg{width:70px;height:48px}.selected-design strong{font-size:14px}.selected-design p{margin:4px 0}.selected-design button{grid-column:1/-1;justify-self:start}#cancelDesignChange{margin-top:8px}

#step-build>section{border:1px solid #d9e2e7;border-radius:10px;background:white;padding:14px;margin:0 0 14px}#step-build h3{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 12px}.build-number{display:inline-grid;place-items:center;flex:0 0 23px;width:23px;height:23px;background:#244c63;color:white;border-radius:50%;font-size:12px}.selected-construction{background:#edf5f8;border-left:3px solid #285e79;border-radius:7px;padding:12px}.selected-construction strong{display:block;font-size:16px}.selected-construction p{font-size:14px;line-height:1.45;margin:8px 0 12px}#buildProfileDiagram svg{display:block;width:144px;height:88px;margin:0 auto 10px}.build-parts{padding:12px 0;font-size:13px;line-height:1.5}.build-parts ul{margin:7px 0 0;padding-left:17px}.build-parts li{margin:5px 0}.build-view-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}#step-build details summary{font-size:14px;cursor:pointer}#step-build #buildFit{border:1px solid #c9d5dd;border-radius:10px;padding:14px}#buildFit>summary{font-weight:700;line-height:1.5}#buildFit>summary small{display:block;margin:6px 0 0 29px;font-size:12px;font-weight:400;color:#526577}#buildFit>section{margin-top:18px;border-top:1px solid #d9e2e7;padding-top:14px}#buildFit h2{font-size:15px}#buildFit .hint{font-size:13px}#buildMaterials .material-card{margin-bottom:9px;padding:10px;background:#f5f8fa;border:1px solid #d9e2e7}#buildMaterials .material-card summary{font-weight:600}.material-summary-value{display:block;margin-top:5px;font-size:12px;font-weight:400;color:#546b7c}#buildFace #cncSettings{padding-top:14px;border-top:1px solid #d9e2e7;margin-top:14px}#buildConstruction .construction-cards{margin:0 0 12px}#buildConstruction .construction-cards small{font-size:13px}#buildAssemblyHelp,#buildFaceHelp{margin-bottom:0!important;padding-top:10px;border-top:1px solid #d9e2e7}#buildAssemblyHelp .hint,#buildFaceHelp .hint{font-size:13px}#buildChangeNotice{padding:10px;background:#fff5df;border-left:3px solid #b48623}

@font-face{font-family:studio-anton;src:url(/anton.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-bebas;src:url(/bebas.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-archivo;src:url(/archivo.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-rowdies;src:url(/rowdies.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-righteous;src:url(/righteous.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-bungee;src:url(/bungee.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-alfa;src:url(/alfa.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-dmserif;src:url(/dmserif.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-lobster;src:url(/lobster.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-pacifico;src:url(/pacifico.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-oleo;src:url(/oleo.ttf) format("truetype");font-display:swap}
@font-face{font-family:studio-yellowtail;src:url(/yellowtail.ttf) format("truetype");font-display:swap}

.text-actions{display:flex;gap:.5rem;margin:.6rem 0}.font-gallery .font-sample{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;max-height:6rem;overflow:hidden}.font-gallery button[hidden]{display:none}#textStyleFields{margin:1rem 0}#textStyleFields summary{font-weight:700;cursor:pointer}

.stand-pictogram{display:block;width:100%;max-height:145px;margin:.8rem 0}#deskStandSettings{border-top:1px solid #d3dfe7;padding-top:1rem}#deskStandFields details{margin:1rem 0}#deskStandFields label{line-height:1.5}

.value-slider{display:block;width:100%;height:28px;margin:4px 0 12px;padding:0;accent-color:#285e79;cursor:pointer}.value-slider:disabled{opacity:.4;cursor:not-allowed}#pushInStatus[data-status=blocked]{color:#a53927;background:#fff0ed;padding:10px;border-radius:6px}#pushInStatus[data-status=pending]{color:#526b7d}.construction-cards button:disabled .unavailable{display:block;color:#8a3f2c;font-size:14px}

.plate-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0}.plate-card{padding:10px;border:1px solid var(--line,#cad4dc);border-radius:8px}.plate-card strong{font-size:14px}.plate-card svg{display:block;width:100%;max-height:200px;margin:8px 0}.plate-card ol{padding:0;list-style:none;font-size:12px;overflow-wrap:anywhere}.plate-preview>.hint{grid-column:1/-1}
.download-dock>a.quiet{display:block;margin-top:12px;padding:10px 12px;border:1px solid #cbd5dc;text-decoration:none;text-align:center;cursor:pointer}.download-dock>a.quiet[aria-disabled=true]{opacity:.5;cursor:not-allowed}.download-dock>a.quiet:focus-visible{outline:3px solid #4982ee;outline-offset:3px}

.guide-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:8px 0;font-size:14px}.guide-toolbar label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px}.guide-toolbar input[type=checkbox]{width:17px;height:17px;margin:0}.guide-toolbar select{width:auto;max-width:140px;padding:6px;margin:0}.guide-toolbar #gridScale{font-size:13px;color:#4b5c69}#viewport{background:#d6d8db}#viewport[data-background=dark]{background:#30343b}.dimension-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}.dimension-overlay text{font:14px system-ui;fill:#26333d;paint-order:stroke;stroke:#d6d8db;stroke-width:4px;stroke-linejoin:round}#viewport[data-background=dark] .dimension-overlay text{fill:#f4f6f8;stroke:#30343b}#viewport[data-background=dark] .viewhint{color:#f4f6f8}.viewtools{z-index:3}.dimension-summary{font-size:13px!important}

.guide-toolbar .viewtools{position:static;flex-wrap:wrap;gap:5px}.guide-toolbar .viewtools button{font-size:14px;padding:7px 10px}

/* LED installation planning */
.led-presets{display:flex;gap:8px;margin:12px 0}.led-presets button[aria-pressed=true]{background:#dcece8;border-color:#238158;color:#164f38}.led-overlay-toggle{display:flex;align-items:center;gap:8px;margin-top:16px}.led-overlay-toggle input{width:auto}#ledDiagram svg{display:block;width:100%;max-height:380px;border:1px solid #d9e0e6;border-radius:8px}#ledSections{padding-left:20px;font-size:12px;line-height:1.5}#ledSections li{margin-bottom:8px}
.led-edit-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.led-edit-buttons button{flex:1;min-width:110px}#ledEditCanvas{border:1px solid #cad7e0;border-radius:8px;overflow:hidden;min-height:40px}#ledEditCanvas svg{display:block;width:100%;min-height:240px;max-height:460px}#ledEditCanvas circle[data-handle]{cursor:grab}#ledEditor{margin-top:12px}

/* Full-size LED planning workspace. Native dialog supplies focus containment. */
.led-editor-dialog{width:96vw;max-width:1700px;height:94vh;height:94dvh;max-height:96dvh;margin:auto;padding:18px;border:1px solid #b6c7d2;border-radius:12px;background:#fff;color:#192d40;overflow:auto}.led-editor-dialog::backdrop{background:#102234b8}.led-editor-dialog[open]{display:grid;grid-template-rows:auto auto minmax(260px,1fr) auto;gap:12px}.led-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.led-editor-heading h2{margin:0;font-size:22px}.led-editor-heading .hint{margin:4px 0}.led-editor-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.led-editor-tools label{margin:0 0 5px}.led-editor-tools select{min-width:125px;padding:8px}.led-editor-tools .led-edit-buttons{margin:0;flex:1}.led-editor-navigation{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.led-editor-navigation label{display:flex;align-items:center;gap:5px;margin:0;font-weight:400}.led-editor-navigation input{width:auto!important}.led-editor-work{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;min-height:0}.led-editor-dialog #ledEditCanvas{height:100%;min-height:260px;background:#f6f8fa;touch-action:none}.led-editor-dialog #ledEditCanvas svg{width:100%;height:100%;min-height:0;max-height:none}.led-editor-side{overflow:auto;padding:12px;background:#f2f6f9;border-radius:8px;font-size:14px}.led-editor-side button{width:100%;margin-top:8px}.led-editor-side .hint{font-size:14px}.led-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.led-editor-footer .hint{margin:0;max-width:55%;font-size:14px}.led-editor-footer .led-edit-buttons{margin:0}.led-editor-footer .primary{width:auto;margin:0;padding:10px 18px}.led-editor-dialog button[aria-pressed=true]{background:#192d40;color:#fff}.led-editor-dialog [data-hole]{cursor:move}@media(max-width:850px){.led-editor-dialog{padding:12px;width:98vw;height:97dvh;max-height:98dvh;grid-template-rows:auto auto minmax(340px,1fr) auto!important}.led-editor-work{grid-template-columns:minmax(0,1fr)}.led-editor-side{max-height:180px}.led-editor-work{overflow:auto;grid-template-rows:minmax(300px,1fr) auto}.led-editor-footer{display:block}.led-editor-footer .hint{max-width:100%;margin-bottom:8px}.led-editor-tools .led-edit-buttons button{min-width:100px}.led-editor-heading h2{font-size:18px}}

.led-editor-status{max-width:55%;min-width:0}.led-editor-footer .led-editor-status .hint{max-width:none}.led-editor-status #ledEditorChecks{color:#526879;font-size:13px;margin-top:5px}@media(max-width:850px){.led-editor-status{max-width:100%}}

#artworkPreview{position:absolute;inset:0;z-index:4;background:#e9edf0;display:flex;flex-direction:column;align-items:center;padding:18px;gap:12px;color:#23445a}#artworkPreview strong{font-size:15px;text-align:center}#artworkPreview svg{flex:1;min-height:70px;width:100%;fill:#23445a}#artworkPreview p{margin:0;max-height:40%;overflow:auto;background:#fff;padding:10px 14px;border-radius:6px;font-size:14px;line-height:1.4;width:100%}#artworkPreview[data-state=blocked] p{background:#fff0ed;color:#912c28;border-left:4px solid #b43c3c}#artworkPreview[data-state=unavailable] p{background:#fff6e7;color:#835717}

/* Compact artwork selection and labelled disclosure icons. */
.source-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px}.source-picker button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 9px;border:1px solid #cbd6de;border-radius:6px;background:#fff;color:#244458;font-size:13px;white-space:nowrap}.source-picker button[aria-pressed=true]{background:#244458;color:#fff;border-color:#244458}.svg-source-choice{display:inline-flex;align-items:center;gap:4px}.source-picker #browseSVG{background:#e9f3de;color:#244458;border-color:#a2bc83}#svgFields .hint{margin:6px 0 10px;overflow-wrap:anywhere}#shapePicker{margin-bottom:14px;padding:12px;background:#f4f7f9;border:1px solid #d8e1e7;border-radius:8px}#shapePicker label{margin-top:0}#shapePicker .shape-gallery{grid-template-columns:repeat(4,minmax(0,1fr));max-height:260px;overflow-y:auto;gap:6px}#shapePicker .shape-tile{padding:8px 4px}#shapePicker .shape-tile svg{height:34px}#shapePicker .shape-tile span{font-size:12px}#shapePicker .hint{margin-bottom:0}.menu-icon{display:inline-block;width:19px;height:19px;vertical-align:middle;margin-right:7px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}summary .menu-icon{color:#365c74}details>summary{padding-top:9px;padding-bottom:9px;line-height:1.5}.source-picker .menu-icon{width:17px;height:17px;margin:0}.step-nav .menu-icon{width:16px;height:16px;margin-right:4px}.step-panel details{margin-bottom:12px}@media(max-width:380px){.step-nav .menu-icon{display:none}.source-picker button{padding:7px;font-size:12px}}

@font-face{font-family:studio-damion;src:url(/damion.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-courgette;src:url(/courgette.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-kaushan;src:url(/kaushan.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-oleoswash;src:url(/oleoswash.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-pattaya;src:url(/pattaya.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-berkshire;src:url(/berkshire.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-leckerli;src:url(/leckerli.ttf) format("truetype");font-display:swap;}
@font-face{font-family:studio-lilyscript;src:url(/lilyscript.ttf) format("truetype");font-display:swap;}

.split-viewer{width:96vw;max-width:1800px;height:94vh;height:94dvh;max-height:96dvh;margin:auto;padding:18px;border:1px solid #b6c7d2;border-radius:12px;background:#fff;color:#192d40;overflow:auto}.split-viewer::backdrop{background:#102234b8}.split-viewer[open]{display:grid;grid-template-rows:auto auto auto minmax(260px,1fr) auto;gap:10px}.split-view-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.split-view-heading h2{margin:0;font-size:22px}.split-view-heading p,.split-view-instruction,.split-view-footer{margin:0;font-size:14px;line-height:1.5}.split-view-tabs{display:flex;flex-wrap:wrap;gap:7px}.split-view-tabs button[aria-pressed=true]{background:#244458;color:#fff}.split-view-work{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;min-height:0}.split-view-canvas{position:relative;overflow:hidden;min-height:260px;background:#eaf0f4;border-radius:8px;touch-action:none}.split-view-canvas canvas{display:block;width:100%;height:100%}.split-view-labels{position:absolute;inset:0;pointer-events:none}.split-view-labels button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid #809bad;border-radius:5px;background:#fffffff0;color:#193247;padding:3px 6px;font-size:13px;font-weight:700;line-height:1.4;min-height:0;box-shadow:0 1px 4px #233c4c30}.split-view-labels button.selected{background:#244458;color:#fff}.split-view-work aside{overflow:auto;background:#f3f6f8;padding:10px;border-radius:8px;font-size:14px}.split-view-work aside h3{font-size:14px;margin:0 0 10px}.split-view-work aside p{font-size:14px;line-height:1.5}.split-view-list{display:grid;gap:5px}.split-view-list button{padding:8px;text-align:left;font-size:14px;overflow-wrap:anywhere;background:#fff;color:#244458;border:1px solid #c5d3dc;border-radius:5px}.split-view-list button[aria-pressed=true]{background:#244458;color:#fff}#viewSplitParts{width:100%;margin-top:10px}@media(max-width:800px){.split-viewer{padding:10px;width:98vw;height:97dvh;max-height:98dvh}.split-view-work{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(270px,1fr) 130px;overflow:auto}.split-view-tabs button{font-size:14px;padding:7px}.split-view-heading h2{font-size:18px}}

/* Beta 56: a compact workbench, with help that does not cover the model. */
header{height:auto;min-height:78px;gap:16px;flex-wrap:wrap;padding-block:14px}.studio-help-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-left:auto}.studio-help-nav a{font-size:14px;color:#24455b;text-decoration:underline}.studio-help-nav button{font-size:14px;padding:8px 10px}.step-nav{display:flex;flex-wrap:wrap;gap:6px}.step-nav button{flex:1 1 80px;font-size:14px;min-height:42px}.launch-dialog{border:1px solid #c5d3dd;border-radius:16px;padding:24px;width:min(640px,calc(100vw - 24px));max-height:88dvh;overflow:auto;color:#192d40;font:inherit}.launch-dialog::backdrop{background:#132b43aa}.launch-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.launch-dialog h2{font-size:22px;margin:0}.launch-dialog h3{font-size:18px}.launch-dialog section{padding:18px 0;border-bottom:1px solid #d9e0e7}.launch-dialog p{font-size:16px;line-height:1.55}.launch-dialog label{display:block;margin-top:15px}.launch-dialog input[type=checkbox]{width:auto}.launch-dialog textarea,.launch-dialog select{width:100%;font:inherit;padding:10px;margin:8px 0}.launch-dialog pre{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#edf2f5;padding:12px}.launch-dialog details{margin:16px 0}.guided-tour{border:2px solid #287caa;border-radius:12px;background:#f0f7fc;padding:16px;margin-bottom:18px}.guided-tour h2{font-size:18px;margin:7px 0}.guided-tour p{font-size:15px;line-height:1.5}.tour-actions{display:flex;flex-wrap:wrap;gap:8px}.tour-target{outline:3px solid #287caa!important;outline-offset:4px}.readiness-summary{padding:14px;background:#eef4f8;border-left:3px solid #287caa;margin-bottom:18px}.readiness-summary p{margin:7px 0;line-height:1.5;font-size:14px}.readiness-summary a{color:#195d87}.launch-dialog [hidden],.guided-tour[hidden]{display:none!important}
@media(max-width:720px){header{padding:14px 16px}.studio-help-nav{margin-left:0;width:100%}.step-nav button{flex-basis:95px}.launch-dialog{padding:18px}}
.suggested-starter{border-left:4px solid #287caa!important;padding-left:16px!important}
