body.base3d-open{overflow:hidden}
.base3d-dialog{box-sizing:border-box;width:min(880px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #c7d4c7;border-radius:22px;background:#fffdf8;color:#143e30;box-shadow:0 24px 100px #071b2355;font-family:inherit;overscroll-behavior:contain}
.base3d-dialog:not([open]),.base3d-dialog [hidden]{display:none!important}
.base3d-dialog::backdrop{background:#102b23bf;backdrop-filter:blur(4px)}
.base3d-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px}
.base3d-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#637565}
.base3d-header h2{margin:6px 0 0;font-size:clamp(18px,3vw,24px);line-height:1.35;color:#143e30}
.base3d-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c7d4c7;border-radius:50%;background:#f2f5ec;color:#143e30;font-size:28px;cursor:pointer}
.base3d-stage{position:relative;isolation:isolate;width:100%;height:clamp(220px,49dvh,490px);background:radial-gradient(ellipse at 50% 45%,#fffef8,#e9ede4);overflow:hidden}
.base3d-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.base3d-model{display:block;position:relative;z-index:1;width:100%;height:100%;opacity:0;touch-action:pan-y;--poster-color:transparent;--progress-bar-color:#143e30}
.base3d-model.is-ready{opacity:1}
.base3d-help{margin:14px 24px 0;text-align:center;font-size:13px;line-height:1.6;color:#52685d}
.base3d-feedback{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:6px 24px 14px;min-height:28px}
.base3d-status{margin:0;font-size:13px;line-height:1.6;color:#52685d;text-align:center}
.base3d-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:14px;justify-content:space-between;align-items:center;padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid #dfe6d9;background:#fffdf8}
.base3d-controls{display:flex;gap:10px;flex-wrap:wrap}
.base3d-button{min-height:44px;padding:10px 16px;border:1px solid #b7c9b7;border-radius:11px;background:#edf3e7;color:#143e30;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer}
.base3d-select{flex:none;background:#143e30;border-color:#143e30;color:#fffdf8}
.base3d-button:disabled{opacity:.5;cursor:default}
.base3d-dialog button:focus-visible{outline:3px solid #e87967;outline-offset:3px}
.base3d-dialog button:not(:disabled):hover{filter:brightness(.96)}
@media(max-width:600px){.base3d-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.base3d-header{padding:16px;gap:10px}.base3d-header h2{font-size:18px}.base3d-stage{height:clamp(220px,43dvh,400px)}.base3d-help{margin:12px 16px 0;font-size:12px}.base3d-feedback{padding:6px 16px 12px}.base3d-actions{padding:12px 16px max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:10px}.base3d-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.base3d-button{padding:10px 8px;font-size:13px}.base3d-select{width:100%;min-height:48px}}
@media(prefers-reduced-motion:reduce){.base3d-dialog *{scroll-behavior:auto}}
