:root{--cad-green:#17633c;--cad-ink:#17232c;--cad-muted:#697681;--cad-border:#dce2e6;--cad-soft:#f4f7f5}
.cad-shell [hidden]{display:none!important}
.cad-page{max-width:1500px;margin:0 auto;padding:52px 28px 80px;color:var(--cad-ink)}
.cad-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:28px}.cad-intro h1{font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 14px;max-width:850px}.cad-intro p{font-size:17px;color:var(--cad-muted);max-width:760px;margin:0}.cad-kicker{font:600 11px DM Mono,monospace;letter-spacing:.16em;color:var(--cad-green)}
.cad-security-note{display:flex;gap:12px;align-items:center;background:var(--cad-soft);border:1px solid #dce9df;border-radius:14px;padding:14px 17px;min-width:260px}.cad-security-note>span{color:var(--cad-green)}.cad-security-note div{display:flex;flex-direction:column}.cad-security-note strong{font-size:13px}.cad-security-note small{color:var(--cad-muted);font-size:11px;margin-top:3px}
.cad-upload-card{border:1px solid var(--cad-border);background:#fff;border-radius:24px;padding:14px;box-shadow:0 24px 70px rgba(23,35,44,.08)}.cad-upload-target{width:100%;min-height:390px;border:1.5px dashed #aebcb3;border-radius:16px;background:linear-gradient(145deg,#f9fbfa,#f2f7f4);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--cad-ink);transition:.2s}.cad-upload-target:hover,.cad-upload-card.dragging .cad-upload-target{border-color:var(--cad-green);background:#edf6f0;transform:translateY(-1px)}.cad-upload-target strong{font-size:21px;margin:18px 0 7px}.cad-upload-target>span:last-child{color:var(--cad-muted);font-size:13px}.cad-upload-icon{width:64px;height:64px;border-radius:19px;background:var(--cad-green);display:grid;place-items:center;box-shadow:0 12px 28px rgba(23,99,60,.25)}.cad-upload-icon svg{width:29px;fill:none;stroke:#fff;stroke-width:1.8}.cad-upload-error{margin:12px 4px 0;padding:12px 16px;background:#fff3f1;border:1px solid #ffd0c8;border-radius:10px;color:#a83825;font-size:13px}
.cad-shell{background:#fff;border:1px solid var(--cad-border);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(23,35,44,.09)}.cad-topbar{height:76px;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--cad-border)}.cad-file-meta{display:flex;align-items:center;gap:12px;min-width:0}.cad-file-meta div{display:flex;min-width:0;flex-direction:column}.cad-file-meta strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-file-meta small{font-size:11px;color:var(--cad-muted);margin-top:3px}.cad-file-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#e9f3ed;color:var(--cad-green);font:700 10px DM Mono}.cad-view-switch{display:flex;background:#eff3f1;border-radius:10px;padding:4px}.cad-view-switch button{border:0;background:transparent;border-radius:7px;padding:9px 16px;font-weight:600;font-size:12px;color:var(--cad-muted);cursor:pointer}.cad-view-switch button.active{background:#fff;color:var(--cad-green);box-shadow:0 2px 7px rgba(0,0,0,.08)}.cad-new-file{justify-self:end;border:1px solid var(--cad-border);background:#fff;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:600;font-size:12px}
.cad-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;height:min(760px,calc(100vh - 150px));min-height:620px}.cad-stage-wrap{position:relative;overflow:hidden;background:#fff}.cad-stage-wrap canvas,.cad-three-stage{position:absolute;inset:0;width:100%;height:100%}.cad-toolbar{position:absolute;z-index:4;top:46px;right:16px;display:flex;align-items:center;background:#fff;border:1px solid var(--cad-border);border-radius:10px;padding:4px;box-shadow:0 5px 18px rgba(22,34,44,.1)}.cad-toolbar button{height:32px;min-width:34px;padding:0 10px;border:0;border-radius:7px;background:#fff;cursor:pointer;font-weight:600;color:#394b59}.cad-toolbar button:hover{background:#eef4f0;color:var(--cad-green)}.cad-toolbar span{font:500 11px DM Mono;padding:0 8px;color:var(--cad-muted)}.cad-toolbar-3d{top:16px}.cad-stage-hint,.cad-cursor-position{position:absolute;z-index:4;bottom:14px;border:1px solid var(--cad-border);background:rgba(255,255,255,.92);border-radius:8px;padding:7px 10px;color:var(--cad-muted);font-size:10px}.cad-stage-hint{right:14px}.cad-cursor-position{left:44px;font-family:DM Mono,monospace}
.cad-settings{border-left:1px solid var(--cad-border);overflow:auto;background:#fbfcfc}.cad-panel-head{height:66px;background:#fff;border-bottom:1px solid var(--cad-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:5}.cad-panel-head h2{font-size:17px;margin:0}.cad-panel-head span{font-size:10px;color:var(--cad-green);background:#e8f4ec;border-radius:99px;padding:5px 8px;font-weight:700}.cad-setting-section{padding:18px 20px;border-bottom:1px solid var(--cad-border)}.cad-setting-section>label,.cad-section-title h3{font-size:12px;font-weight:700;margin:0 0 9px}.cad-setting-section>small{display:block;color:var(--cad-muted);font-size:10px;margin-top:6px}.cad-setting-section select,.cad-thickness{width:100%;border:1px solid #cfd8dd;background:#fff;border-radius:9px;height:39px;padding:0 11px;font-size:12px}.cad-section-title{display:flex;align-items:center;justify-content:space-between}.cad-section-title span{font-size:10px;color:var(--cad-muted)}.cad-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cad-metrics>div{background:#fff;border:1px solid var(--cad-border);border-radius:10px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:7px}.cad-metrics span{font:600 10px DM Mono;color:var(--cad-green)}.cad-metrics strong{font:600 17px DM Mono;text-align:right}.cad-metrics small{font-size:9px;color:var(--cad-muted)}
.cad-layer-list,.cad-parts-list,.cad-diagnostics{display:grid;gap:7px}.cad-layer-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--cad-border);background:#fff;border-radius:9px;padding:10px 11px;font-size:12px}.cad-layer-item input{accent-color:var(--cad-green)}.cad-layer-item small{color:var(--cad-muted)}.cad-part-item{display:flex;gap:11px;align-items:center;border:1px solid var(--cad-border);background:#fff;border-radius:9px;padding:10px}.cad-part-item>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#edf4f0;color:var(--cad-green);font:700 11px DM Mono}.cad-part-item div{display:flex;flex-direction:column}.cad-part-item strong{font:600 11px DM Mono}.cad-part-item small{font-size:10px;color:var(--cad-muted);margin-top:3px}.cad-thickness{display:flex;align-items:center;padding:0}.cad-thickness input{border:0;outline:0;width:100%;height:37px;padding:0 11px;background:transparent}.cad-thickness span{font:500 11px DM Mono;color:var(--cad-muted);padding-right:12px}.cad-diagnostic{display:flex;align-items:flex-start;gap:9px;border-radius:9px;padding:10px;font-size:11px;background:#fff7e9;color:#885812}.cad-diagnostic>span{display:grid;place-items:center;flex:0 0 19px;height:19px;border-radius:50%;background:#f59e0b;color:#fff;font-weight:700}.cad-diagnostic p{margin:1px 0 0;line-height:1.4}.cad-diagnostic.error{background:#fff0ee;color:#a53728}.cad-diagnostic.error>span{background:#d24c3b}.cad-diagnostic.success{background:#eaf6ee;color:#17633c}.cad-diagnostic.success>span{background:#29975c}.cad-empty{font-size:11px;color:var(--cad-muted);padding:10px}
.cad-panel-actions{padding:20px;background:#fff;position:sticky;bottom:0;border-top:1px solid var(--cad-border)}.cad-primary-action{width:100%;border:0;border-radius:10px;background:var(--cad-green);color:#fff;height:46px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(23,99,60,.2)}.cad-primary-action:disabled{background:#aeb8b2;box-shadow:none;cursor:not-allowed}.cad-panel-actions p{font-size:9px;line-height:1.4;color:var(--cad-muted);text-align:center;margin:8px 0 0}.cad-loading{position:fixed;inset:0;z-index:999;background:rgba(245,248,246,.88);backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.cad-loading[hidden]{display:none}.cad-loading span{width:42px;height:42px;border:3px solid #cddbd2;border-top-color:var(--cad-green);border-radius:50%;animation:cadspin .8s linear infinite}.cad-loading strong{font-size:13px}@keyframes cadspin{to{transform:rotate(360deg)}}
.cad-three-error{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:40px;color:#9a3f31;background:#fff4f1;font-size:13px}
.cad-fallback-canvas{position:absolute;inset:0;width:100%;height:100%}
.cad-step-mode .cad-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.cad-step-mode .cad-metrics>div{grid-template-columns:1fr;gap:3px;min-width:0}
.cad-step-mode .cad-metrics strong{text-align:left;overflow-wrap:anywhere}
.cad-step-mode .cad-toolbar{top:16px}
@media(max-width:480px){.cad-step-mode .cad-metrics{grid-template-columns:1fr 1fr}}
.cad-setting-section .cad-secondary-label{display:block;margin-top:16px}
.cad-seo-content{margin-top:34px;padding:38px;border:1px solid var(--cad-border);border-radius:20px;background:#fff}.cad-seo-content h2{max-width:820px;margin:10px 0 12px;font-size:clamp(25px,3vw,38px);line-height:1.15;color:var(--cad-ink)}.cad-seo-content>div:first-child>p{max-width:930px;margin:0;color:var(--cad-muted);line-height:1.7}.cad-seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.cad-seo-grid article{padding:20px;border-radius:14px;background:#f4f8f5}.cad-seo-grid h3{margin:0 0 8px;font-size:15px;color:var(--cad-ink)}.cad-seo-grid p{margin:0;font-size:12px;line-height:1.65;color:var(--cad-muted)}
@media(max-width:1000px){.cad-intro{align-items:flex-start;flex-direction:column}.cad-security-note{width:100%}.cad-main-grid{grid-template-columns:1fr;height:auto}.cad-stage-wrap{height:62vh;min-height:480px}.cad-settings{border-left:0;border-top:1px solid var(--cad-border);max-height:none}.cad-panel-actions{position:static}}
@media(max-width:800px){.cad-seo-content{padding:25px}.cad-seo-grid{grid-template-columns:1fr}}
@media(max-width:640px){.cad-page{padding:28px 12px 50px}.cad-intro h1{font-size:36px}.cad-topbar{height:auto;padding:12px;grid-template-columns:1fr auto;gap:10px}.cad-view-switch{grid-row:2;grid-column:1/-1;justify-content:center}.cad-file-meta small{display:none}.cad-stage-wrap{height:56vh;min-height:420px}.cad-main-grid{min-height:0}.cad-toolbar{top:40px;right:8px}.cad-toolbar button{padding:0 7px}.cad-cursor-position{display:none}.cad-settings{background:#fff}}
.cad-layer-item{grid-template-columns:auto minmax(45px,1fr) auto auto;gap:8px;padding:9px 10px}
.cad-layer-role{height:28px!important;width:auto!important;padding:0 6px!important;font-size:10px!important}

/* The quote form displays only the drawing workspace inside its preview dialog. */
.cad-preview-embed body>nav,.cad-preview-embed body>.mobile-menu,.cad-preview-embed body>footer,.cad-preview-embed .cad-intro,.cad-preview-embed .cad-seo-content,.cad-preview-embed .cad-new-file{display:none!important}
.cad-preview-embed,.cad-preview-embed body{height:100%;overflow:hidden}
.cad-preview-embed .cad-page{height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}
.cad-preview-embed .cad-shell{display:flex;flex-direction:column;height:100%;border:0;border-radius:0;box-shadow:none}
.cad-preview-embed .cad-shell[hidden]{display:none!important}
.cad-preview-embed .cad-topbar{flex:0 0 auto}
.cad-preview-embed .cad-main-grid{flex:1;height:auto;min-height:0;overflow:hidden}
.cad-preview-embed .cad-settings{min-height:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1000px){.cad-preview-embed .cad-main-grid{display:flex;flex-direction:column}.cad-preview-embed .cad-stage-wrap{flex:0 0 clamp(180px,35dvh,300px);height:auto;min-height:0}.cad-preview-embed .cad-settings{flex:1}.cad-preview-embed .cad-panel-actions{position:sticky;bottom:0}}
@media(max-width:640px){.cad-preview-embed .cad-topbar{grid-template-columns:1fr}.cad-preview-embed .cad-view-switch{grid-row:2}.cad-preview-embed .cad-stage-wrap{flex-basis:clamp(160px,32dvh,230px)}}
