.md3d-wrap{margin:24px 0;padding:20px;border:1px solid #e6e6e6;border-radius:14px;background:#fff}
.md3d-title{margin:0 0 16px;font-size:20px}
.md3d-grid{display:flex;gap:24px;flex-wrap:wrap}
.md3d-stage{flex:1 1 340px;min-width:300px}
.md3d-side{flex:1 1 320px;min-width:280px}
.md3d-canvas{width:100%;height:380px;border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#f3f4f7 0%,#dde1e8 60%,#ccd2dc 100%);cursor:grab;touch-action:none;overflow:hidden}
.md3d-canvas:active{cursor:grabbing}
.md3d-canvas canvas{display:block;max-width:100%}
.md3d-hint{font-size:12px;color:#777;margin:8px 0;text-align:center}
.md3d-block{margin-bottom:18px}
.md3d-label{display:block;font-weight:600;margin-bottom:8px;font-size:14px}
.md3d-opt{display:block;position:relative;border:2px solid #e2e2e2;border-radius:10px;padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:.15s}
.md3d-opt:hover{border-color:#bbb}
.md3d-opt.md3d-active{border-color:#111;background:#fafafa}
.md3d-opt input{position:absolute;opacity:0}
.md3d-opt-t{display:block;font-weight:600}
.md3d-opt-d{display:block;font-size:12px;color:#666;margin-top:2px;max-width:80%}
.md3d-opt-p{position:absolute;right:14px;top:12px;font-weight:700}
.md3d-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.md3d-row label{flex:1 1 90px;font-size:12px;color:#555}
.md3d-row input[type=range]{width:100%}
.md3d-panel input[type=text],.md3d-panel input[type=file]{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}
.md3d-inline{display:flex;align-items:center;gap:8px;font-size:12px;color:#555;margin-top:10px}
.md3d-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f5f5f5;border-radius:10px;margin-bottom:12px}
.md3d-btn{display:block;width:100%;padding:11px 14px;border:0;border-radius:10px;background:#111;color:#fff;font-weight:600;cursor:pointer}
.md3d-btn:hover{opacity:.88}
.md3d-ghost{background:transparent;color:#444;border:1px solid #ddd}
.md3d-note{font-size:12px;color:#666;min-height:18px;margin:8px 0 0}
.md3d-note.err{color:#c00}
@media(max-width:640px){.md3d-canvas{height:300px}}
.md3d-opt-s{display:block;font-size:11px;color:#8a6d00;background:#fff6dd;border-radius:6px;padding:3px 7px;margin-top:6px}
.md3d-tip{font-size:12px;color:#666;margin:6px 0 0}
.md3d-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;text-align:center;color:#777;font-size:13px}
.md3d-wrap [hidden]{display:none!important}
.md3d-cta{display:flex;flex-direction:column;gap:6px;padding:18px;border:2px dashed #cfcfd6;border-radius:12px;background:#fafafb}
.md3d-cta-t{font-weight:700;font-size:16px}
.md3d-cta-d{font-size:13px;color:#666;margin-bottom:8px}
.md3d-btn-cta{font-size:15px;padding:13px 16px}
.md3d-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.md3d-link{background:none;border:0;padding:0;color:#666;font-size:12px;text-decoration:underline;cursor:pointer}
.md3d-link:hover{color:#111}
