/* 个人形象 3D 舞台（2026-10-06 建）
 * 与 shared/rail.css 同规格：8 页共用一份，卡面/文字/边框一律走 --msp-* token，禁止裸 #hex。
 * 选择器一律用 .av- 前缀，不碰首页既有样式。
 */
.avstage{position:relative;margin:18px 0 0}
.avstage .av-view{position:relative;overflow:hidden;border:1px solid var(--msp-line);border-radius:14px;background:var(--msp-surface);min-height:320px}
/* canvas 只吃父容器高度（父级 min-height 兜底），自己再写 min-height 会和父级差 2px 边框被裁剪 */
.avstage .av-view .av-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.avstage .av-view .av-canvas:active{cursor:grabbing}
.avstage .av-view .av-still{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain}
.avstage .av-note{margin:8px 2px 0;font-size:12px;line-height:1.5;color:var(--msp-subtle);min-height:18px}
.avstage .av-strip{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:12px 2px 2px;scrollbar-width:thin}
.avstage .av-strip[hidden]{display:none}
.avstage .av-chip{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;min-width:64px;border:1px solid var(--msp-line);border-radius:12px;background:var(--msp-raised);color:var(--msp-text);font-size:11px;line-height:1.3;cursor:pointer}
.avstage .av-chip .av-chipimg{width:56px;height:56px;object-fit:cover;border-radius:8px;background:var(--msp-surface)}
.avstage .av-chip:hover{border-color:var(--msp-accent);transform:translateY(-1px)}
.avstage .av-chip[aria-pressed="true"],.avstage .av-chip.on{border-color:var(--msp-accent);background:var(--msp-accent-soft);color:var(--msp-accent-text)}
.avstage .av-chip.locked{opacity:.5}
.avstage .av-chip:focus-visible{outline:2px solid var(--msp-accent);outline-offset:2px}

@media (max-width:860px){
  .avstage .av-view{min-height:260px}
  .avstage .av-chip .av-chipimg{width:46px;height:46px}
}
@media (prefers-reduced-motion:reduce){
  .avstage .av-chip:hover{transform:none}
}
