/* 完整竖屏视野保持清晰；横屏场景延伸到首屏外围。 */
.mv{position:relative;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none;background:transparent;
  -webkit-mask-image:none;mask-image:none}
.mv canvas,.mv-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.mv{cursor:grab}.mv:active{cursor:grabbing}
.mv-haze{display:none}
.mv-hit{position:absolute;z-index:2;touch-action:none}
/* 推牌框的上箭头和标签是真元素（内联 SVG 跟随字号与文字颜色），只在手机显示。 */
.mv-hit-up,.mv-hit-label{display:none}
.mv-ico{display:inline-block;width:.625em;height:1em;margin-left:.3em;vertical-align:-.17em;overflow:visible}
.mv-ico.mv-ico-up{display:block;width:.7em;height:.4375em;margin:0}
.mv-hint{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:14%;width:max-content;max-width:88%;text-align:center;font-size:14px;color:#fff;background:rgba(11,12,12,.62);padding:7px 12px;border-radius:999px;pointer-events:none;transition:opacity .4s}
.mv-hint b{color:var(--lime,#D6F65D)}
.mv-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 58%,rgba(255,255,255,.95),rgba(214,246,93,.7) 30%,rgba(214,246,93,0) 70%)}
.mv:focus-visible{outline:none}.mv:focus-visible .mv-hint{opacity:1!important}
/* 段位刻度：在场景外面 */
.mv-meter{display:flex;gap:6px;order:1}
.mv-meter i{width:22px;height:4px;border-radius:2px;background:var(--line-2,rgba(255,255,255,.25));transition:background .1s,box-shadow .2s}
.mv-meter i.on{background:var(--lime,#D6F65D)}.mv-meter i.reached{box-shadow:0 0 10px var(--lime,#D6F65D)}
.mv-pi{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

/* 漫游走到头：淡出再从起点淡入 */
.mv-dim{position:absolute;inset:0;z-index:1;pointer-events:none;background:#0B0C0C;opacity:0}
/* 电脑横屏：整个首屏保持清晰、连续，不做分区遮罩。 */
.mv-wide{position:relative;overflow:hidden;isolation:isolate}
.mv-wide > .wrap{position:relative;z-index:1}
.mv-bg{position:absolute;inset:0;z-index:0;pointer-events:none;--fx:75%;--fy:50%;--fw:480px;--fh:850px}
.mv-bg-haze{display:none;position:absolute;inset:0;z-index:1}
.mv-bg-shade{display:none}
.mv.mv-wide-on{-webkit-mask-image:none;mask-image:none}
.mv.mv-wide-on .mv-haze{display:none}

/* User preview: keep the entire wide scene sharp too. */
.mv-bg-haze i{position:absolute;display:block;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.mv-blur-left{left:0;top:0;bottom:0;width:var(--clear-left);-webkit-mask-image:linear-gradient(to left,transparent,#000 48px);mask-image:linear-gradient(to left,transparent,#000 48px)}
.mv-blur-right{left:var(--clear-right);right:0;top:0;bottom:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 48px);mask-image:linear-gradient(to right,transparent,#000 48px)}
.mv-blur-top{left:var(--clear-left);width:var(--clear-width);top:0;height:var(--clear-top);-webkit-mask-image:linear-gradient(to top,transparent,#000 48px);mask-image:linear-gradient(to top,transparent,#000 48px)}
.mv-blur-bottom{left:var(--clear-left);width:var(--clear-width);top:var(--clear-bottom);bottom:0;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 48px);mask-image:linear-gradient(to bottom,transparent,#000 48px)}
.mv-pi{z-index:5}.mv-warping{touch-action:none;cursor:wait}

.mv-progress{order:2;margin:0;text-align:center;max-width:42ch;font-size:12px;line-height:1.5;color:var(--muted,#aeb2ad);padding:0 12px}

/* A real link outside the gesture area keeps the rest of the page discoverable. */
.mv-scroll-cue{display:none;order:3;touch-action:pan-y}
@media (max-width:900px){
  .stage.mv-on .mv-scroll-cue{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 20px;margin:0 0 2px;color:var(--lime,#D6F65D);font-size:15px;font-weight:500;line-height:1.4;text-decoration:none}
  .mv-scroll-cue:focus-visible{outline:2px solid var(--lime,#D6F65D);outline-offset:2px}
  .mv-hit{border:1px solid rgba(214,246,93,.34);border-radius:12px;touch-action:none}
  .mv-hit-up,.mv-hit-label{display:block;position:absolute;left:50%;transform:translateX(-50%);pointer-events:none;color:var(--lime,#D6F65D);text-align:center}
  .mv-hit-up{top:-17px;font-size:23px;line-height:1}
  .mv-hit-label{bottom:-24px;white-space:nowrap;font-size:12px;line-height:18px;padding:1px 6px;border-radius:5px;background:rgba(11,12,12,.74)}
  .mv.mv-warping{touch-action:pan-y}
}
