.sanjhi-3d{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:320px;aspect-ratio:1/1;isolation:isolate;overflow:hidden;border-radius:inherit;background:radial-gradient(ellipse at 50% 38%,#fffdf5 0%,#fff8ed 50%,#f6e8e6 100%);color:#542d3e;font-family:inherit}
.sanjhi-3d__viewport{position:relative;flex:1;min-height:0;width:100%}
.sanjhi-3d__canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y;outline:none;mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent)}
.sanjhi-3d__canvas:focus-visible{outline:3px solid #ba3f6d;outline-offset:-5px;border-radius:inherit}
.sanjhi-3d__canvas--dragging{cursor:grabbing}
.sanjhi-3d__hint{position:absolute;left:0;right:0;top:18px;text-align:center;pointer-events:none;font-size:11px;font-weight:600;letter-spacing:.06em;opacity:.65;transition:opacity .3s}
.sanjhi-3d__hint--used{opacity:0}
.sanjhi-3d__toolbar{flex:none;display:flex;justify-content:center;gap:8px;padding:4px 12px 0;pointer-events:none}
.sanjhi-3d__button{pointer-events:auto;appearance:none;border:1px solid #ffffffbf;border-radius:999px;background:#ffffffc9;backdrop-filter:blur(12px);color:#6e2342;padding:10px 16px;min-height:44px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;box-shadow:0 4px 18px #6b23400c;transition:background .15s,transform .15s}
.sanjhi-3d__button:hover{background:#fff;transform:translateY(-1px)}
.sanjhi-3d__button:focus-visible{outline:3px solid #ba3f6d;outline-offset:3px}
.sanjhi-3d__button--quiet{background:#fff5}
.sanjhi-3d__caption{flex:none;padding:9px 0 13px;pointer-events:none;text-align:center;font-size:9px;letter-spacing:.045em;opacity:.55}
.sanjhi-3d__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sanjhi-3d__fallback{position:absolute;left:10%;right:10%;bottom:24px;font-size:13px;text-align:center}
.sanjhi-3d__fallback-image{width:100%;height:100%;object-fit:contain}
.sanjhi-3d--context-lost::after{content:'Preview paused — refresh to turn it again.';position:absolute;inset:auto 12px 100px;text-align:center;font-size:12px;padding:12px;background:#fff9;border-radius:12px}
@media(prefers-reduced-motion:reduce){.sanjhi-3d__hint,.sanjhi-3d__button{transition:none}.sanjhi-3d__button:hover{transform:none}}
@media(max-width:480px){.sanjhi-3d{min-height:300px}.sanjhi-3d__button{font-size:11px;padding:9px 14px}.sanjhi-3d__hint{font-size:10px}}
