.ads-stl-viewer{--ads-ink:#182330;--ads-muted:#64748b;--ads-line:#dbe2e9;--ads-accent:#16734b;color:var(--ads-ink);font-family:inherit;width:100%;max-width:1200px;margin:24px auto;padding:clamp(14px,2.4vw,28px);border:1px solid var(--ads-line);border-radius:18px;background:#fff;box-shadow:0 8px 32px rgba(15,23,42,.06);box-sizing:border-box}.ads-stl-viewer *{box-sizing:border-box}.ads-stl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.ads-stl-header h2{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:4px 0 7px;color:var(--ads-ink)}.ads-stl-header p{margin:0;color:var(--ads-muted);font-size:14px}.ads-stl-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--ads-accent)}.ads-stl-privacy{display:inline-flex;align-items:center;gap:7px;border:1px solid #b8dfca;background:#f0faf4;color:#17633f;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap}.ads-stl-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.ads-stl-upload{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:17px 12px 13px;border:1.5px dashed #b9c7d3;border-radius:12px;background:#f9fbfc;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.ads-stl-upload:hover,.ads-stl-upload:focus-within,.ads-stl-upload.is-loaded{border-color:var(--ads-accent);background:#f3faf6}.ads-stl-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.ads-stl-upload-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e6f3eb;color:var(--ads-accent);font-size:23px;line-height:1}.ads-stl-upload-title{font-size:14px;font-weight:750}.ads-stl-upload-hint,.ads-stl-file-name{font-size:11px;color:var(--ads-muted);overflow-wrap:anywhere}.ads-stl-file-name{font-weight:600}.ads-stl-workspace{border:1px solid var(--ads-line);border-radius:13px;overflow:hidden;background:#f2f5f8}.ads-stl-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--ads-line)}.ads-stl-toolgroup{display:flex;gap:5px;flex-wrap:wrap}.ads-stl-viewer button{font:inherit}.ads-stl-toolbar button,.ads-stl-bottom-actions button{border:1px solid #d6dee6;border-radius:7px;background:#fff;color:#334155;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer}.ads-stl-toolbar button:hover,.ads-stl-bottom-actions button:hover{border-color:#8ca99a;background:#f5faf7}.ads-stl-stage{height:clamp(340px,52vw,590px);position:relative;overflow:hidden;background:#f2f5f8}.ads-stl-canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}.ads-stl-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:20px;pointer-events:none;color:#64748b}.ads-stl-empty[hidden],.ads-stl-loading[hidden]{display:none}.ads-stl-empty strong{font-size:14px;color:#334155}.ads-stl-empty span{font-size:12px}.ads-stl-empty-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #cbd5e1;border-radius:15px;background:#fff;color:#64748b;font-size:19px;font-weight:800}.ads-stl-loading{position:absolute;top:12px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:20px;background:#fff;color:#334155;font-size:12px;box-shadow:0 2px 12px #0001}.ads-stl-stage-hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:6px;background:#ffffffd9;color:#526171;font-size:10px;white-space:nowrap;pointer-events:none}.ads-stl-controls{padding:15px;background:#fff;border-top:1px solid var(--ads-line)}.ads-stl-control-head,.ads-stl-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ads-stl-control-head{margin-bottom:12px}.ads-stl-control-head strong{font-size:14px}.ads-stl-select-label,.ads-stl-color,.ads-stl-toggle{display:flex;align-items:center;gap:7px;color:#475569;font-size:12px}.ads-stl-select-label select{font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px;background:#fff;color:#182330}.ads-stl-control-row{justify-content:flex-start;margin-bottom:13px}.ads-stl-toggle input{accent-color:var(--ads-accent)}.ads-stl-color input{width:30px;height:25px;border:0;background:transparent;padding:0;cursor:pointer}.ads-stl-slider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 18px}.ads-stl-slider{min-width:0}.ads-stl-slider label{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:#475569;font-size:11px}.ads-stl-slider output{font-variant-numeric:tabular-nums;font-weight:700;color:#182330}.ads-stl-slider input{width:100%;accent-color:var(--ads-accent);cursor:pointer}.ads-stl-bottom-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:15px}.ads-stl-bottom-actions .ads-stl-clear{margin-left:auto;color:#9b3030;border-color:#eccaca}.ads-stl-note{margin:14px 0 0;color:#64748b;font-size:11px;line-height:1.6}.ads-stl-note strong{color:#475569}.ads-stl-footer{text-align:center;margin-top:12px;color:#94a3b8;font-size:10px}.ads-stl-footer a{color:#64748b;text-decoration:none}.ads-stl-viewer:fullscreen{max-width:none;width:100%;height:100%;overflow:auto;border-radius:0;margin:0;padding:18px}.ads-stl-viewer:fullscreen .ads-stl-stage{height:min(55vh,650px)}@media(max-width:680px){.ads-stl-header{flex-direction:column}.ads-stl-upload-grid{gap:8px}.ads-stl-upload{padding:13px 8px}.ads-stl-slider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ads-stl-stage{height:380px}.ads-stl-toolbar{align-items:flex-start}.ads-stl-bottom-actions .ads-stl-clear{margin-left:0}}@media(max-width:380px){.ads-stl-upload-grid{grid-template-columns:1fr}.ads-stl-stage{height:320px}.ads-stl-stage-hint{font-size:9px}}

.ads-stl-brand{min-width:0}.ads-stl-logo{display:block;max-width:190px;max-height:58px;width:auto;height:auto;object-fit:contain;margin:0 0 8px}.ads-stl-footer a{color:#64748b;text-decoration:none}

.ads-stl-bg-picker{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:inherit}.ads-stl-bg-picker input{width:28px;height:25px;padding:1px;border:0;background:transparent;cursor:pointer}.ads-stl-badge-image{display:block;max-width:150px;max-height:42px;width:auto;height:auto;object-fit:contain}.ads-stl-controls{display:flex;flex-direction:column;gap:12px}.ads-stl-controls>.ads-stl-control-row,.ads-stl-controls>.ads-stl-slider-grid,.ads-stl-controls>.ads-stl-bottom-actions{order:initial}

.ads-stl-controls{display:flex;flex-direction:column;gap:12px}.ads-stl-controls>[data-layout="background"],.ads-stl-controls>[data-layout="views"]{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;padding:8px 0}.ads-stl-controls>[data-layout="stage"]{width:100%;border:1px solid var(--ads-line);border-radius:10px}.ads-stl-controls>[data-layout="jawsettings"]{padding:8px 0}.ads-stl-controls>[data-layout="jawsettings"]>strong{font-size:13px;margin-right:8px}.ads-stl-controls>[data-layout="background"] .ads-stl-toolgroup,.ads-stl-controls>[data-layout="views"] .ads-stl-toolgroup{display:flex;gap:5px;flex-wrap:wrap}.ads-stl-controls>[data-layout="background"]{border-bottom:1px solid var(--ads-line)}.ads-stl-controls>[data-layout="views"]{border-bottom:1px solid var(--ads-line)}

.ads-stl-toolbar{display:block}.ads-stl-views{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ads-stl-toolbar button,.ads-stl-bottom-actions button{border:1px solid #c5d1db;border-radius:9px;background:linear-gradient(180deg,#fff,#edf3f6);color:#263746;padding:8px 13px;font-size:12px;font-weight:700;box-shadow:0 1px 2px rgba(20,40,60,.08);transition:transform .15s,box-shadow .15s,background .15s}.ads-stl-toolbar button:hover,.ads-stl-bottom-actions button:hover{background:linear-gradient(180deg,#f5fbff,#dfeaf0);border-color:#819aaa;box-shadow:0 3px 8px rgba(20,40,60,.12);transform:translateY(-1px)}.ads-stl-advanced-heading{display:block;font-size:14px;margin:3px 0 0;color:var(--ads-ink)}.ads-stl-control-row{row-gap:9px}

/* v1.7.0: clearer color labels and configurable camera controls */
.ads-stl-color,.ads-stl-bg-picker{white-space:nowrap;flex-shrink:0;gap:8px}.ads-stl-color input,.ads-stl-bg-picker input{flex:0 0 30px}.ads-stl-stage{position:relative}.ads-stl-stage .ads-stl-views{z-index:5;padding:7px;background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.55);border-radius:10px;backdrop-filter:blur(5px)}.ads-stl-viewer[data-view-position="inside-top"] .ads-stl-stage .ads-stl-views{position:absolute;top:10px;left:50%;transform:translateX(-50%);max-width:calc(100% - 20px);justify-content:center}.ads-stl-viewer[data-view-position="inside-bottom"] .ads-stl-stage .ads-stl-views{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);max-width:calc(100% - 20px);justify-content:center}.ads-stl-viewer[data-view-position="inside-left"] .ads-stl-stage .ads-stl-views{position:absolute;left:10px;top:50%;transform:translateY(-50%);flex-direction:column;max-height:calc(100% - 20px);overflow:auto}.ads-stl-viewer[data-view-position="inside-right"] .ads-stl-stage .ads-stl-views{position:absolute;right:10px;top:50%;transform:translateY(-50%);flex-direction:column;max-height:calc(100% - 20px);overflow:auto}.ads-stl-viewer[data-button-style="solid"] .ads-stl-views button,.ads-stl-viewer[data-button-style="solid"] .ads-stl-bottom-actions button{background:#16734b;color:#fff;border-color:#16734b}.ads-stl-viewer[data-button-style="outline"] .ads-stl-views button,.ads-stl-viewer[data-button-style="outline"] .ads-stl-bottom-actions button{background:transparent;border:2px solid #547568;color:#29483d;box-shadow:none}.ads-stl-viewer[data-button-style="rounded"] .ads-stl-views button,.ads-stl-viewer[data-button-style="rounded"] .ads-stl-bottom-actions button{border-radius:999px;background:#e7f4ed;border-color:#a8cdb7;color:#20553a}.ads-stl-viewer[data-button-style="minimal"] .ads-stl-views button,.ads-stl-viewer[data-button-style="minimal"] .ads-stl-bottom-actions button{background:transparent;border-color:transparent;box-shadow:none;color:#245a43}.ads-stl-viewer[data-button-style="solid"] .ads-stl-views button:hover,.ads-stl-viewer[data-button-style="solid"] .ads-stl-bottom-actions button:hover{background:#105b3b;color:#fff}.ads-stl-viewer[data-view-position^="inside-"] .ads-stl-stage-hint{z-index:2}@media(max-width:560px){.ads-stl-viewer[data-view-position="inside-left"] .ads-stl-stage .ads-stl-views,.ads-stl-viewer[data-view-position="inside-right"] .ads-stl-stage .ads-stl-views{gap:3px;padding:4px}.ads-stl-stage .ads-stl-views button{padding:6px 8px;font-size:11px}}

/* v1.8.0: compact paired control rows and keep Clear all beside Reset selected. */
.ads-stl-controls{gap:6px}.ads-stl-controls>.ads-stl-control-row{margin-bottom:4px;padding-top:5px;padding-bottom:5px}.ads-stl-controls>.ads-stl-bottom-actions{margin-top:5px;gap:7px}.ads-stl-bottom-actions .ads-stl-clear{margin-left:0}.ads-stl-toolbar .ads-stl-views{gap:6px}.ads-stl-toolbar button{white-space:nowrap}

/* v1.9.0: keep camera actions in a single horizontal strip and improve fitting control visibility. */
.ads-stl-workspace{width:100%;min-width:0}.ads-stl-toolbar{width:100%;min-width:0;padding:10px 12px}.ads-stl-toolbar .ads-stl-views{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:7px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.ads-stl-views button{flex:0 0 auto;white-space:nowrap}.ads-stl-viewer[data-view-position="inside-top"] .ads-stl-stage .ads-stl-views,.ads-stl-viewer[data-view-position="inside-bottom"] .ads-stl-stage .ads-stl-views{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.ads-stl-viewer[data-view-position="inside-left"] .ads-stl-stage .ads-stl-views,.ads-stl-viewer[data-view-position="inside-right"] .ads-stl-stage .ads-stl-views{flex-wrap:nowrap}

/* v2.1.0: interactive 360-degree view dial. */
.ads-stl-rotation-dial{position:absolute;z-index:6;width:82px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;border:0;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 2px 12px rgba(15,23,42,.18);backdrop-filter:blur(6px);color:#334155;touch-action:none;cursor:grab;user-select:none;outline-offset:3px}
.ads-stl-rotation-dial:active{cursor:grabbing}.ads-stl-rotation-dial:focus-visible{outline:2px solid #16734b}.ads-stl-rotation-dial svg{display:block;width:76px;height:76px;overflow:visible}.ads-stl-dial-track{fill:#e9f0f3;stroke:#8da2ae;stroke-width:3}.ads-stl-dial-inner{fill:#fff;stroke:#cbd5e1;stroke-width:1.5}.ads-stl-dial-needle{stroke:#16734b;stroke-width:4;stroke-linecap:round}.ads-stl-dial-center{fill:#16734b;stroke:#fff;stroke-width:2}.ads-stl-rotation-dial span{font-size:10px;font-weight:700;line-height:14px;letter-spacing:.02em}.ads-stl-viewer[data-dial-position="upper-right"] .ads-stl-rotation-dial{top:12px;right:12px}.ads-stl-viewer[data-dial-position="lower-right"] .ads-stl-rotation-dial{bottom:12px;right:12px}.ads-stl-viewer[data-dial-position="upper-left"] .ads-stl-rotation-dial{top:12px;left:12px}.ads-stl-viewer[data-dial-position="lower-left"] .ads-stl-rotation-dial{bottom:12px;left:12px}
.ads-stl-viewer[data-view-position="inside-top"] .ads-stl-stage-hint,.ads-stl-viewer[data-view-position="inside-bottom"] .ads-stl-stage-hint{max-width:calc(100% - 120px);white-space:normal;text-align:center}
@media(max-width:480px){.ads-stl-rotation-dial{width:68px;height:82px}.ads-stl-rotation-dial svg{width:62px;height:62px}.ads-stl-rotation-dial span{font-size:9px}}

/* v2.5.0: local export, measurement and print workflow controls */
.ads-stl-export-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;margin-top:10px;border:1px solid #d6e0e5;border-radius:10px;background:rgba(255,255,255,.55);font-size:13px}
.ads-stl-export-tools label{display:inline-flex;align-items:center;gap:6px;color:#334155;font-weight:600}
.ads-stl-export-tools select{max-width:90px;min-height:34px;border:1px solid #bdcbd2;border-radius:6px;padding:4px 8px;background:#fff}
.ads-stl-export-tools input[type=range]{width:95px;accent-color:#16734b}
.ads-stl-export-tools button{border:1px solid #b7c7ce;border-radius:7px;padding:8px 11px;background:#fff;color:#243746;font-weight:600;cursor:pointer}
.ads-stl-export-tools button:hover{background:#edf5f4;border-color:#16734b}
.ads-stl-export-tools [data-measure-result]{color:#526471;font-size:12px;flex-basis:100%}
@media(max-width:560px){.ads-stl-export-tools{gap:8px}.ads-stl-export-tools label{font-size:12px}}

/* v2.6.0: separate movable control rows, upload orientation selector and responsive touch layout */
.ads-stl-export-tools{width:100%;min-width:0;flex-wrap:wrap}
.ads-stl-measure-row{flex-wrap:nowrap}
.ads-stl-measure-row [data-measure-result]{flex:1 1 auto;min-width:0;white-space:normal}
.ads-stl-upload-orientation{position:relative;z-index:2;max-width:100%;font:inherit;font-size:12px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155}
.ads-stl-export-tools input[type=range]{touch-action:pan-y}
@media(max-width:760px){.ads-stl-controls{padding:10px}.ads-stl-control-row{align-items:flex-start;gap:8px;flex-wrap:wrap}.ads-stl-export-tools{align-items:flex-start;gap:8px}.ads-stl-export-tools label{flex:1 1 145px;min-width:0;flex-wrap:wrap}.ads-stl-export-tools button{min-height:40px}.ads-stl-export-tools input[type=range]{width:min(38vw,150px)}.ads-stl-measure-row{flex-wrap:wrap}.ads-stl-measure-row [data-measure-result]{flex-basis:100%}.ads-stl-stage{height:clamp(300px,65vw,440px)}.ads-stl-views{overflow-x:auto;max-width:100%;scrollbar-width:thin}.ads-stl-viewer .ads-stl-upload-orientation{width:100%}}
@media(max-width:480px){.ads-stl-viewer{padding:10px;border-radius:12px}.ads-stl-upload-grid{grid-template-columns:1fr}.ads-stl-stage{height:320px}.ads-stl-views button{padding:7px 9px;font-size:11px}.ads-stl-export-tools label{flex-basis:100%;justify-content:space-between}.ads-stl-export-tools input[type=range]{width:45%}.ads-stl-measure-row button{width:100%}.ads-stl-rotation-dial{transform:scale(.88);transform-origin:bottom right}}

.ads-stl-measure-row{flex-wrap:nowrap;align-items:center}.ads-stl-measure-row .ads-stl-point-size-label{flex:0 0 auto;white-space:nowrap}.ads-stl-measure-row .ads-stl-point-size-label input[type=range]{width:90px}.ads-stl-measure-row .ads-stl-point-size-label output{font-variant-numeric:tabular-nums;min-width:3em}.ads-stl-measure-row [data-measure-result]{flex:1 1 auto;min-width:0;white-space:normal}@media(max-width:760px){.ads-stl-measure-row{flex-wrap:nowrap;overflow-x:auto}.ads-stl-measure-row [data-measure-result]{flex:1 0 130px}.ads-stl-measure-row .ads-stl-point-size-label input[type=range]{width:70px}}
