
/* XianVerse Fashion 3D Display Engine */
.viewer3d-wrap{position:relative;border-radius:28px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.98),rgba(239,237,230,.92) 58%,rgba(220,216,207,.96));border:1px solid rgba(17,17,17,.09);box-shadow:0 28px 80px rgba(25,25,20,.16);overflow:hidden;min-height:520px;isolation:isolate}
.viewer3d-wrap:before{content:"";position:absolute;inset:auto 8% 4% 8%;height:18%;background:radial-gradient(ellipse,rgba(0,0,0,.24),transparent 68%);filter:blur(12px);transform:translateZ(-80px);pointer-events:none}
.viewer3d-wrap:after{content:"3D INTERACTIVE VIEW";position:absolute;top:18px;left:20px;font-size:10px;font-weight:900;letter-spacing:.18em;color:rgba(17,17,17,.46);z-index:8}
.viewer3d-stage{position:absolute;inset:48px 22px 70px;perspective:1500px;display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none}
.viewer3d-stage.is-dragging{cursor:grabbing}
.viewer3d-object{position:relative;width:min(88%,460px);height:100%;transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out}
.viewer3d-stage.is-dragging .viewer3d-object{transition:none}
.viewer3d-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;backface-visibility:hidden;pointer-events:none;filter:drop-shadow(0 24px 20px rgba(0,0,0,.18))}
.viewer3d-layer.depth{filter:brightness(.78) saturate(.8);opacity:.42}
.viewer3d-floor{position:absolute;width:68%;height:12%;bottom:5%;left:16%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.26),transparent 70%);filter:blur(10px);transform:rotateX(72deg) translateZ(-55px);pointer-events:none}
.viewer3d-controls{position:absolute;left:18px;right:18px;bottom:16px;display:flex;gap:8px;justify-content:center;align-items:center;z-index:10;flex-wrap:wrap}
.viewer3d-btn{border:1px solid rgba(17,17,17,.16);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.viewer3d-btn:hover{transform:translateY(-1px);background:#fff}
.viewer3d-caption{position:absolute;right:20px;top:18px;z-index:8;background:rgba(17,17,17,.86);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}
.viewer3d-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.viewer3d-thumb{width:64px;height:64px;border-radius:16px;border:2px solid transparent;overflow:hidden;background:#eee;cursor:pointer;padding:0}
.viewer3d-thumb.active{border-color:#111;box-shadow:0 0 0 3px rgba(217,247,91,.65)}
.viewer3d-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.model-card.js-tilt3d,.card.js-tilt3d,.choice.js-tilt3d,.result.js-tilt3d{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease,box-shadow .18s ease;position:relative}
.model-card.js-tilt3d:hover,.card.js-tilt3d:hover,.choice.js-tilt3d:hover,.result.js-tilt3d:hover{box-shadow:0 28px 65px rgba(18,18,14,.20)}
.js-tilt3d img{transform:translateZ(24px);transition:transform .18s ease;backface-visibility:hidden}
.js-tilt3d .model-meta,.js-tilt3d .card-pad,.js-tilt3d .result-body,.js-tilt3d span{transform:translateZ(34px)}
.btn-3d{margin:0 14px 14px;width:calc(100% - 28px);border:1px solid #111;background:#111;color:#fff;border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer}
.btn-3d:hover{background:#d9f75b;color:#111;border-color:#d9f75b}
.viewer3d-modal{position:fixed;inset:0;background:rgba(7,7,7,.74);backdrop-filter:blur(16px);z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}
.viewer3d-modal.open{display:flex}
.viewer3d-dialog{width:min(960px,96vw);height:min(820px,92vh);position:relative}
.viewer3d-close{position:absolute;right:14px;top:14px;z-index:20;width:42px;height:42px;border-radius:50%;border:0;background:#111;color:#fff;font-size:20px;cursor:pointer}
.workspace-3d-preview{display:grid;grid-template-columns:minmax(260px,.82fr) 1fr;gap:18px;align-items:center;margin-top:16px;padding:16px;border:1px solid #dedbd3;border-radius:20px;background:linear-gradient(145deg,#f8f7f3,#eeeae2)}
.workspace-3d-preview .viewer3d-wrap{min-height:390px}
.workspace-3d-copy h3{font-size:24px;margin:0 0 10px;letter-spacing:-.03em}
.workspace-3d-copy p{color:#6d6d67;line-height:1.65;font-size:13px}
.showcase-3d-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.showcase-3d-copy h2{font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.055em;margin:10px 0 18px}
.showcase-3d-copy p{font-size:17px;line-height:1.75;color:#6f6f69}
.showcase-3d-pills{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.showcase-3d-pills span{padding:8px 12px;border:1px solid #dedbd3;border-radius:999px;background:#fff;font-size:12px;font-weight:700}
@media(max-width:900px){.viewer3d-wrap{min-height:440px}.showcase-3d-grid,.workspace-3d-preview{grid-template-columns:1fr}.viewer3d-stage{inset:45px 12px 66px}.viewer3d-object{width:94%}}
