.dg3d-open,.dg3d-control{font:inherit;font-size:14px;line-height:1.35;min-height:44px;padding:9px 13px;border:1px solid #bfd0de;border-radius:7px;background:#fff;color:#164c7c;cursor:pointer;touch-action:manipulation}
.dg3d-open{display:inline-block;margin:10px 0 0}
.dg3d-open:hover,.dg3d-control:hover{background:#e3edf8}
.dg3d-open:active,.dg3d-control:active{background:#d6e4f3}
.dg3d-open:disabled,.dg3d-control:disabled{cursor:default;opacity:.6}
.dg3d-open:focus-visible,.dg3d-control:focus-visible,.dg3d-canvas canvas:focus-visible{outline:3px solid #1568d4;outline-offset:3px}
.dg3d-dialog{box-sizing:border-box;width:min(880px,calc(100% - 32px));max-width:880px;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:0;border-radius:12px;background:#fff;color:#263f55;box-shadow:0 20px 70px rgba(14,32,48,.24);overflow:auto;overscroll-behavior:contain;scrollbar-color:#8ba9c0 #f2f7fc}
.dg3d-dialog::backdrop{background:rgba(14,32,48,.56)}
.dg3d-dialog::selection,.dg3d-dialog ::selection{background:#c8e0f3;color:#173c5b}
.dg3d-heading{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;background:#fff}
.dg3d-heading h2{font-size:22px;line-height:1.35;font-weight:650;letter-spacing:-.015em;margin:6px 0 0;overflow-wrap:anywhere}
.dg3d-heading .dg3d-control{flex-shrink:0}
.dg3d-frame{position:relative;height:min(48dvh,420px);min-height:210px;background:#fff}
.dg3d-fallback{display:block;box-sizing:border-box;width:100%;height:100%;object-fit:contain;padding:12px}
.dg3d-canvas{position:absolute;inset:0}
.dg3d-canvas canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.dg3d-canvas canvas:active{cursor:grabbing}
.dg3d-dialog[data-state=active] .dg3d-fallback{visibility:hidden}
.dg3d-footer{padding:16px 24px 24px}
.dg3d-status{margin:0 0 12px;font-size:14px;line-height:1.5;color:#36576e}
.dg3d-dialog[data-state=error] .dg3d-status{color:#824314}
.dg3d-controls{display:flex;flex-wrap:wrap;gap:8px}
.dg3d-help,.dg3d-note,.dg3d-limitations{font-size:13px;line-height:1.6;color:#536a7e;max-width:75ch}
.dg3d-help{margin:12px 0 0}
.dg3d-dialog:not([data-state=active]) .dg3d-help{display:none}
.dg3d-note{margin:16px 0 0}
.dg3d-limitations{padding-left:18px;margin:6px 0 0}
.dg3d-dialog [hidden]{display:none!important}
.dg3d-preview{margin:0;max-width:320px}
.dg3d-preview img{display:block;width:100%;height:auto;object-fit:contain}
.dg3d-preview figcaption{font-size:13px;line-height:1.5;color:#536a7e;margin-top:6px}
.dg3d-comparison{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.dg3d-comparison>.dg3d-preview{flex:1 1 220px}
@media(max-width:600px){
 .dg3d-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
 .dg3d-heading{gap:12px;padding:16px}
 .dg3d-heading h2{font-size:18px}
 .dg3d-heading .dg3d-control{font-size:13px;padding:9px 10px}
 .dg3d-frame{height:min(42dvh,340px)}
 .dg3d-footer{padding:14px 16px 18px}
 .dg3d-controls{gap:6px}
 .dg3d-controls .dg3d-control{flex:1 1 auto;font-size:13px}
}
@media print{.dg3d-open,.dg3d-dialog{display:none!important}}
