/* V24: professional close-focus 360 studio */
.spin-shell{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(22px,4vw,70px);min-height:0}
.spin-premiere{background:linear-gradient(134deg,#fffefa 0%,#fff6f6 39%,#f3d7de 77%,#fffbf9 100%)}
.spin-visual{width:100%}.spin-viewer{border-radius:32px;background:radial-gradient(ellipse at 52% 17%,#fffefa,#f7e4e3 57%,#dcaebb)}
.spin-turnstage{height:clamp(400px,41vw,650px);touch-action:pan-y;overflow:hidden;cursor:grab}
.spin-model{padding:0 5px;object-fit:contain;object-position:center center;transform-origin:50% 50%;image-rendering:auto;backface-visibility:hidden}
.spin-turnstage.is-inspecting{touch-action:none;cursor:move}.spin-turnstage.is-dragging{cursor:grabbing}
.spin-drag-hint{background:rgba(255,255,255,.9)}
.spin-topline{background:rgba(255,255,255,.15);backdrop-filter:blur(6px)}
.spin-viewer-base{background:linear-gradient(102deg,#390b2a,#761048)}
.detail-panel{margin-top:24px;border:1px solid #ecd5db;background:rgba(255,252,251,.86);padding:22px;border-radius:27px;box-shadow:0 12px 40px rgba(84,16,55,.06)}
.detail-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.detail-top>div{display:flex;flex-direction:column;gap:3px}.detail-kicker{color:#a94572;letter-spacing:.17em;font-size:9px;font-weight:900}.detail-top strong{font:normal 26px Georgia,serif;color:#46112f}
.detail-expand,.detail-choice,.detail-zoomline button{cursor:pointer;border:1px solid #dec0cb;border-radius:28px;background:#fff;color:#54163b;font-weight:750;font-size:11px;padding:12px 15px}.detail-expand{white-space:nowrap}.detail-expand:hover,.detail-choice:hover{border-color:#a91565}
.detail-focus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.detail-choice{font-size:10px;padding:13px 5px}.detail-choice.is-current{background:#5f123f;color:#fff;border-color:#5f123f}
.detail-zoomline{display:flex;gap:12px;align-items:center;margin:17px 0 10px;font-size:12px;color:#61193f}.detail-zoomline label{font-weight:800;white-space:nowrap}.detail-zoomline input{min-width:0;flex:1;accent-color:#ad2269}.detail-zoomline output{min-width:43px;text-align:right;font-weight:800}.detail-zoomline button{padding:7px 13px}
.detail-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.detail-tile{min-width:0;border:1px solid #ead9df;border-radius:17px;background:#fdf7f7;color:#5a2442;overflow:hidden;font-weight:750;font-size:11px;cursor:pointer;padding:0 0 10px}.detail-tile-image{display:block;position:relative;height:104px;width:100%;overflow:hidden;background:radial-gradient(circle at 50% 48%,#fffcfb,#ecd0d6)}.detail-tile-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 20%;transform:scale(2.8) translateY(9%)}
#detailCrown img{transform-origin:50% 12%;transform:scale(3.7) translateY(18%)}#detailHairline img{transform-origin:50% 23%;transform:scale(3.7) translateY(12%)}#detailLength img{transform-origin:50% 66%;transform:scale(2.9) translateY(-12%)}.detail-tile>span:last-child{display:block;margin-top:9px}.detail-tile:hover,.detail-tile:focus-visible{border-color:#ae125f}
.detail-note{margin:15px 2px 2px;color:#876d76;font-size:11px;line-height:1.5}
.spin-caption{margin-top:12px!important}
.spin-frame-markers{padding-left:44px;padding-right:44px;cursor:default}
.spin-texture-card img{object-fit:contain}
.hair-inspect-overlay{position:fixed;z-index:9999;inset:0;background:radial-gradient(ellipse at 55% 40%,#f8e5e8,#e5bdc7);display:none;flex-direction:column;padding:clamp(12px,2.5vw,28px);overscroll-behavior:contain}.hair-inspect-overlay.is-open{display:flex}
.hair-inspect-header{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #c8a3af;padding:0 0 12px}.hair-inspect-header h2{font:normal clamp(24px,3vw,40px) Georgia,serif;color:#54123d;margin:3px 0}.hair-inspect-header button,.hair-inspect-footer button{background:#501037;border:1px solid #501037;color:#fff;border-radius:25px;padding:12px 18px;cursor:pointer;font-size:12px}
.hair-inspect-center{position:relative;min-height:0;flex:1;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab;background:radial-gradient(circle at 49% 48%,rgba(255,255,255,.78),transparent 68%)}.hair-inspect-center img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 16px 28px rgba(61,12,40,.1))}.hair-inspect-caption{position:absolute;bottom:14px;background:rgba(255,255,255,.86);border:1px solid #e4bbc9;border-radius:100px;padding:9px 20px;font-size:12px;font-weight:800;color:#66193c}
.hair-inspect-footer{display:flex;gap:8px;align-items:center;justify-content:center;padding-top:14px;flex-wrap:wrap}.hair-inspect-tip{font-size:11px;color:#724a5e;margin:0 15px;text-align:center}
body.hair-inspecting{overflow:hidden}
@media(max-width:850px){.spin-shell{grid-template-columns:1fr}.spin-visual{max-width:710px;margin:auto}.spin-editorial{padding-top:10px}.spin-premiere{padding-top:26px}}
@media(max-width:570px){.spin-turnstage{height:min(105vw,480px)}.detail-panel{padding:14px;border-radius:22px}.detail-top strong{font-size:22px}.detail-expand{padding:10px 11px;font-size:10px}.detail-focus{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-thumbs{gap:7px}.detail-tile-image{height:93px}.spin-viewer-base{padding:12px}.hair-inspect-footer button{padding:10px 12px}.hair-inspect-tip{width:100%;order:2}}
@media(prefers-reduced-motion:reduce){.spin-model{transition:none!important}}
