/* Screenshot prologue; scoped selectors replace the inherited video intro. */
body.intro-open{overflow:hidden}
#intro-overlay.intro-overlay{--intro-ink:#0c0e12;--intro-paper:#f7f2e8;--intro-lime:#d4ff3f;--intro-red:#ff3d2e;position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:28px;background:#08090b;color:var(--intro-paper);overflow:hidden;isolation:isolate;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
#intro-overlay *,#intro-overlay *:before,#intro-overlay *:after{box-sizing:border-box}
#intro-overlay:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 74% 42%,#d4ff3f20,transparent 56%),repeating-linear-gradient(135deg,transparent 0 21px,#ffffff06 21px 22px)}
#intro-overlay .intro-frame{position:relative;width:min(1180px,100%);display:grid;grid-template-columns:minmax(230px,416px) minmax(0,1fr);gap:clamp(28px,5vw,66px);align-items:center;height:auto;min-height:0}
#intro-overlay .intro-film{position:relative;height:min(740px,calc(100dvh - 56px));width:100%;aspect-ratio:9/16;max-width:100%;justify-self:center;border:3px solid var(--intro-ink);border-radius:12px;background:#1b1d1f;overflow:hidden;box-shadow:9px 11px 0 var(--intro-lime),0 26px 70px #000a;transform-origin:50% 55%}
#intro-overlay .intro-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% 42%;filter:saturate(1.18) contrast(1.12);transform:scale(1.04);animation:if-ken 10.9s ease-out both}
#intro-overlay .intro-photo-fallback{display:none;position:absolute;left:15%;top:25%;font-size:clamp(34px,6vw,76px);line-height:1.25;font-weight:1000;transform:rotate(-8deg);color:var(--intro-paper)}
#intro-overlay .intro-photo-fallback b{color:var(--intro-lime)}
#intro-overlay.intro-image-unavailable .intro-photo-fallback{display:block}
#intro-overlay.intro-image-unavailable .intro-still{visibility:hidden}
#intro-overlay .intro-film:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0009,transparent 22%,transparent 48%,#08090bec 97%)}
#intro-overlay .intro-halftone{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#0c0e1280 1px,transparent 1.4px);background-size:5px 5px;mix-blend-mode:multiply;opacity:.5}
#intro-overlay .intro-burst{position:absolute;inset:-36%;pointer-events:none;background:repeating-conic-gradient(from 8deg,#d4ff3f50 0deg 2deg,transparent 2deg 10deg);opacity:.2;transform:rotate(-7deg);animation:if-burst 10.9s linear both}
#intro-overlay .intro-speed-lines{position:absolute;inset:-30%;pointer-events:none;background:repeating-conic-gradient(from 1deg,transparent 0 6deg,#fff6 6.2deg 6.7deg,transparent 7deg 16deg);mask-image:radial-gradient(ellipse,transparent 18%,#000 82%);opacity:.5;transform:rotate(-8deg)}
#intro-overlay .intro-rec{position:absolute;left:14px;top:16px;z-index:3;display:flex;align-items:center;gap:7px;font:800 9px/1.5 ui-monospace,"Microsoft YaHei",sans-serif;letter-spacing:1px;color:var(--intro-paper);padding:4px 7px;background:#0c0e12dc;border:1.5px solid var(--intro-lime);box-shadow:2px 2px 0 var(--intro-ink)}
#intro-overlay .intro-rec i{width:6px;height:6px;border-radius:50%;background:var(--intro-red);box-shadow:0 0 10px var(--intro-red)}
#intro-overlay .intro-film-mark{position:absolute;right:12px;top:17px;z-index:3;font-size:8px;line-height:1.6;text-align:right;color:#f7f2e8dc;text-shadow:0 1px 5px #000;transform:rotate(3deg)}
#intro-overlay .intro-film-mark b{color:var(--intro-lime)}
#intro-overlay .intro-stamp{position:absolute;right:14px;bottom:18px;top:auto;z-index:3;color:var(--intro-red);border:3px solid currentColor;padding:6px 8px;font-size:15px;font-weight:1000;line-height:1.25;letter-spacing:2px;transform:rotate(-12deg);background:#0c0e12cc;text-align:center;box-shadow:3px 3px 0 #0c0e12}
#intro-overlay .intro-wham{position:absolute;left:53%;top:39%;z-index:3;margin:0;font:1000 clamp(100px,12vw,180px)/1 Impact,"Microsoft YaHei",sans-serif;opacity:0;transform:translate(-50%,-50%) rotate(-12deg);color:var(--intro-lime);-webkit-text-stroke:4px var(--intro-ink);paint-order:stroke fill;text-shadow:9px 10px 0 var(--intro-red);pointer-events:none}
#intro-overlay .intro-smack{position:absolute;left:7%;top:61%;z-index:3;font:1000 42px/1.2 "Microsoft YaHei",sans-serif;color:var(--intro-paper);-webkit-text-stroke:3px var(--intro-ink);paint-order:stroke fill;opacity:0;transform:rotate(-19deg);text-shadow:4px 4px 0 var(--intro-red)}
#intro-overlay .intro-story{position:relative;min-width:0;max-width:none;padding:24px 0;background:none}
#intro-overlay .intro-edition{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:900;letter-spacing:1px}
#intro-overlay .intro-edition span{font:800 9px/1.5 ui-monospace,"Microsoft YaHei",sans-serif;letter-spacing:1.1px;color:var(--intro-ink);background:var(--intro-lime);padding:4px 8px;transform:rotate(-3deg)}
#intro-overlay .intro-caption-block{position:relative;display:block;margin:34px 0 24px;min-height:300px;height:auto;padding:4px 0 8px;overflow:visible;animation:none}
#intro-overlay .intro-kicker{display:inline-block;font-size:12px;font-weight:900;line-height:1.5;letter-spacing:1.5px;color:var(--intro-ink);background:var(--intro-lime);border:2px solid var(--intro-ink);box-shadow:4px 4px 0 var(--intro-ink);padding:5px 10px;transform:rotate(-3deg);margin:0 0 22px}
#intro-overlay #intro-title{font-size:clamp(29px,3.5vw,52px);line-height:1.2;font-weight:1000;letter-spacing:-1.5px;color:#fff;-webkit-text-stroke:2.5px var(--intro-ink);paint-order:stroke fill;text-shadow:5px 6px 0 var(--intro-ink),10px 12px 0 #d4ff3f60;transform:rotate(-2deg);transform-origin:55% 50%;text-wrap:balance;margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#intro-overlay #intro-line{font-size:clamp(37px,4.9vw,76px);font-weight:1000;line-height:1.17;letter-spacing:-2px;color:var(--intro-lime);-webkit-text-stroke:3.5px var(--intro-ink);paint-order:stroke fill;text-shadow:6px 7px 0 var(--intro-ink),12px 14px 0 #ff3d2e66;margin:14px 0 0;transform:rotate(-3deg);transform-origin:45% 50%;text-wrap:balance;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#intro-overlay .intro-caption-block[data-beat="0"] #intro-title,#intro-overlay .intro-caption-block[data-beat="2"] #intro-title{animation:if-slam-a .65s cubic-bezier(.16,.88,.24,1) both}
#intro-overlay .intro-caption-block[data-beat="1"] #intro-title,#intro-overlay .intro-caption-block[data-beat="3"] #intro-title{animation:if-slam-b .65s cubic-bezier(.16,.88,.24,1) both}
#intro-overlay .intro-caption-block[data-beat="0"] #intro-line,#intro-overlay .intro-caption-block[data-beat="2"] #intro-line{animation:if-stomp-a .68s .1s cubic-bezier(.16,.88,.24,1) both}
#intro-overlay .intro-caption-block[data-beat="1"] #intro-line,#intro-overlay .intro-caption-block[data-beat="3"] #intro-line{animation:if-stomp-b .68s .1s cubic-bezier(.16,.88,.24,1) both}
#intro-overlay[data-beat="0"] .intro-film,#intro-overlay[data-beat="2"] .intro-film{animation:if-hit-a .46s .12s both}
#intro-overlay[data-beat="1"] .intro-film,#intro-overlay[data-beat="3"] .intro-film{animation:if-hit-b .46s .12s both}
#intro-overlay.intro-finale:before{background:radial-gradient(ellipse at 65% 45%,#ff3d2e66,transparent 70%),repeating-linear-gradient(135deg,transparent 0 21px,#ff3d2e0f 21px 22px)}
#intro-overlay.intro-finale #intro-line{color:var(--intro-red);font-size:clamp(54px,6.6vw,100px);-webkit-text-stroke:4px var(--intro-ink);text-shadow:7px 8px 0 var(--intro-ink),12px 14px 0 var(--intro-lime),0 0 50px #ff3d2e8c}
#intro-overlay.intro-finale .intro-kicker{background:var(--intro-red);color:var(--intro-paper)}
#intro-overlay.intro-finale .intro-burst{background:repeating-conic-gradient(from 8deg,#ff3d2e90 0deg 3deg,transparent 3deg 11deg)}
#intro-overlay.intro-finale .intro-stamp{color:var(--intro-lime);transform:rotate(9deg) scale(1.1)}
#intro-overlay.intro-finale .intro-wham{opacity:1;animation:if-wham .8s cubic-bezier(.16,.88,.24,1) both}
#intro-overlay.intro-finale .intro-smack{opacity:1;animation:if-smack .7s .15s both}
#intro-overlay .intro-chapters{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px;font:800 10px/1.5 ui-monospace,"Microsoft YaHei",sans-serif;letter-spacing:1px;color:#aaa298}
#intro-overlay .intro-chapters span{padding:2px 6px;border:1px solid transparent}
#intro-overlay .intro-chapters span.active{color:var(--intro-ink);background:var(--intro-lime);border-color:var(--intro-ink)}
#intro-overlay .intro-progress{height:9px;background:#ffffff14;border:1.5px solid #ffffff40;overflow:hidden;margin:0 0 18px;border-radius:0}
#intro-overlay .intro-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--intro-lime),var(--intro-red));box-shadow:0 0 18px #d4ff3f66;transition:none}
#intro-overlay .intro-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0}
#intro-overlay .intro-controls button{appearance:none;min-height:44px;border-radius:3px;padding:10px 13px;font:900 12px/1.4 "Microsoft YaHei",sans-serif;letter-spacing:.3px;border:2px solid #62615b;color:var(--intro-paper);background:#15171a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s;touch-action:manipulation}
#intro-overlay .intro-controls button:hover{border-color:var(--intro-lime);color:var(--intro-lime)}
#intro-overlay .intro-controls .intro-skip{margin-left:auto;background:var(--intro-lime);border-color:var(--intro-ink);color:var(--intro-ink);padding-left:19px;padding-right:19px;box-shadow:4px 4px 0 var(--intro-ink),4px 4px 0 2px var(--intro-lime)}
#intro-overlay .intro-controls .intro-skip:hover{background:#e5ff8b;color:var(--intro-ink)}
#intro-overlay .intro-controls .intro-play{order:3;flex-basis:100%;background:var(--intro-red);border-color:var(--intro-ink);color:#fff;box-shadow:4px 4px 0 var(--intro-ink)}
#intro-overlay [hidden]{display:none!important}
#intro-overlay .intro-controls button:disabled{opacity:.65;cursor:wait}
#intro-overlay .intro-controls button:focus-visible{outline:3px solid var(--intro-lime);outline-offset:5px}
#intro-overlay .intro-status{font-size:10px;line-height:1.65;color:#c3bbb1;margin:13px 0 0;min-height:33px;max-width:none}
#intro-overlay #intro-audio{display:none}
#intro-overlay.intro-paused *,#intro-overlay.intro-paused *:before,#intro-overlay.intro-paused *:after{animation-play-state:paused!important}
#intro-overlay.intro-no-shake .intro-film{animation:none!important}
#intro-overlay.intro-motion-reduced *,#intro-overlay.intro-motion-reduced *:before,#intro-overlay.intro-motion-reduced *:after{animation:none!important;transition:none!important}
@keyframes if-ken{from{transform:scale(1.04) rotate(0)}to{transform:scale(1.18) rotate(-1deg)}}
@keyframes if-burst{0%,15%{opacity:.15}23%{opacity:.65}45%{opacity:.25}52%{opacity:.8}70%{opacity:.4}78%,100%{opacity:.7}}
@keyframes if-slam-a{0%{opacity:0;transform:translate(-15px,-42px) scale(2.25) rotate(-15deg);filter:blur(8px)}45%{opacity:1;transform:translate(2px,5px) scale(.9) rotate(3deg);filter:blur(0)}68%{transform:translate(-2px,-2px) scale(1.06) rotate(-4deg)}100%{opacity:1;transform:rotate(-2deg)}}
@keyframes if-slam-b{0%{opacity:0;transform:translate(23px,-36px) scale(2.2) rotate(14deg);filter:blur(8px)}45%{opacity:1;transform:translate(-3px,5px) scale(.91) rotate(-6deg);filter:blur(0)}68%{transform:translate(1px,-2px) scale(1.05) rotate(1deg)}100%{opacity:1;transform:rotate(-2deg)}}
@keyframes if-stomp-a{0%{opacity:0;transform:translate(-26px,38px) scale(1.95) rotate(-16deg);filter:blur(8px)}45%{opacity:1;transform:translate(3px,-4px) scale(.9) rotate(4deg);filter:blur(0)}68%{transform:translate(-2px,2px) scale(1.06) rotate(-6deg)}100%{opacity:1;transform:rotate(-3deg)}}
@keyframes if-stomp-b{0%{opacity:0;transform:translate(30px,32px) scale(2.05) rotate(16deg);filter:blur(8px)}45%{opacity:1;transform:translate(-3px,-4px) scale(.9) rotate(-9deg);filter:blur(0)}68%{transform:translate(2px,2px) scale(1.06) rotate(0deg)}100%{opacity:1;transform:rotate(-3deg)}}
@keyframes if-hit-a{0%,100%{transform:translate(0,0)}20%{transform:translate(-8px,5px) rotate(-1deg)}40%{transform:translate(6px,-4px) rotate(.8deg)}60%{transform:translate(-4px,3px)}80%{transform:translate(2px,-2px)}}
@keyframes if-hit-b{0%,100%{transform:translate(0,0)}20%{transform:translate(8px,5px) rotate(1deg)}40%{transform:translate(-6px,-4px) rotate(-.8deg)}60%{transform:translate(4px,3px)}80%{transform:translate(-2px,-2px)}}
@keyframes if-wham{0%{opacity:0;transform:translate(-50%,-50%) rotate(-30deg) scale(2.4);filter:blur(5px)}42%{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(.85);filter:blur(0)}67%{transform:translate(-50%,-50%) rotate(-16deg) scale(1.08)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}
@keyframes if-smack{0%{opacity:0;transform:translate(-20px,25px) rotate(-29deg) scale(1.8)}55%{opacity:1;transform:translate(2px,-3px) rotate(-15deg) scale(.9)}100%{opacity:1;transform:rotate(-19deg)}}
@media(max-width:700px){
  #intro-overlay.intro-overlay{padding:0;display:block;overflow:hidden}
  #intro-overlay .intro-frame{position:relative;display:block;width:100%;height:100vh;height:100dvh;min-height:320px}
  #intro-overlay .intro-film{position:absolute;inset:0;height:100%;width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;aspect-ratio:auto}
  #intro-overlay .intro-film:after{background:linear-gradient(#0008,transparent 17%,transparent 36%,#08090baa 62%,#08090b 96%)}
  #intro-overlay .intro-rec{top:max(15px,env(safe-area-inset-top));left:13px;font-size:8px;padding:3px 5px;max-width:57%}
  #intro-overlay .intro-film-mark{top:max(15px,env(safe-area-inset-top));right:13px}
  #intro-overlay .intro-stamp{font-size:11px;padding:4px 6px;bottom:auto;top:max(56px,calc(env(safe-area-inset-top) + 46px));right:16px;transform:rotate(7deg)}
  #intro-overlay .intro-story{position:absolute;bottom:0;left:0;right:0;padding:38px 20px max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#08090beb 19%,#08090b 88%)}
  #intro-overlay .intro-edition{font-size:12px;letter-spacing:.4px}
  #intro-overlay .intro-edition span{font-size:7px;padding:3px 5px}
  #intro-overlay .intro-caption-block{margin:20px 0 15px;min-height:215px;padding-bottom:6px}
  #intro-overlay .intro-kicker{font-size:10px;letter-spacing:1.1px;padding:4px 8px;margin-bottom:17px;box-shadow:3px 3px 0 var(--intro-ink)}
  #intro-overlay #intro-title{font-size:29px;line-height:1.22;letter-spacing:-1px;-webkit-text-stroke:1.8px var(--intro-ink);text-shadow:4px 5px 0 var(--intro-ink),7px 8px 0 #d4ff3f40;max-width:97%}
  #intro-overlay #intro-line{font-size:41px;line-height:1.2;letter-spacing:-1.5px;-webkit-text-stroke:2.7px var(--intro-ink);text-shadow:5px 6px 0 var(--intro-ink),8px 10px 0 #ff3d2e55;margin-top:10px}
  #intro-overlay.intro-finale #intro-line{font-size:65px;-webkit-text-stroke:3px var(--intro-ink);text-shadow:5px 6px 0 var(--intro-ink),9px 11px 0 var(--intro-lime)}
  #intro-overlay .intro-wham{font-size:112px;top:32%;left:57%;-webkit-text-stroke:3px var(--intro-ink)}
  #intro-overlay .intro-smack{font-size:34px;top:44%}
  #intro-overlay .intro-progress{height:7px;margin-bottom:14px}
  #intro-overlay .intro-chapters{font-size:9px}
  #intro-overlay .intro-controls button{padding:9px 11px;font-size:11px;min-height:42px}
  #intro-overlay .intro-controls .intro-skip{padding-left:13px;padding-right:13px;box-shadow:3px 3px 0 var(--intro-ink),3px 3px 0 2px var(--intro-lime)}
  #intro-overlay .intro-status{font-size:9px;line-height:1.6;margin-top:11px;min-height:29px}
}
@media(max-width:350px){
  #intro-overlay .intro-story{padding-left:15px;padding-right:15px}
  #intro-overlay #intro-title{font-size:26px}
  #intro-overlay #intro-line{font-size:35px}
  #intro-overlay.intro-finale #intro-line{font-size:56px}
  #intro-overlay .intro-caption-block{min-height:198px}
  #intro-overlay .intro-controls{gap:6px}
  #intro-overlay .intro-controls button{padding:8px 9px;font-size:10px}
}
@media(max-width:700px) and (max-height:700px){
  #intro-overlay .intro-story{padding-top:20px;padding-bottom:max(13px,env(safe-area-inset-bottom))}
  #intro-overlay .intro-edition{display:none}
  #intro-overlay .intro-caption-block{min-height:165px;margin:8px 0 11px}
  #intro-overlay .intro-kicker{margin-bottom:10px}
  #intro-overlay #intro-title{font-size:25px}
  #intro-overlay #intro-line{font-size:34px}
  #intro-overlay.intro-finale #intro-line{font-size:55px}
  #intro-overlay .intro-wham{font-size:90px;top:27%}
  #intro-overlay .intro-smack{top:39%;font-size:30px}
  #intro-overlay .intro-chapters{font-size:8px}
  #intro-overlay .intro-controls button{min-height:38px}
  #intro-overlay .intro-status{margin-top:8px}
}
@media(orientation:landscape) and (max-height:500px){
  #intro-overlay.intro-overlay{padding:12px 20px;overflow:auto;display:grid}
  #intro-overlay .intro-frame{display:grid;position:relative;grid-template-columns:minmax(125px,180px) minmax(0,1fr);gap:25px;height:auto;min-height:0;width:min(820px,100%);margin:auto}
  #intro-overlay .intro-film{position:relative;inset:auto;aspect-ratio:9/16;height:calc(100dvh - 24px);width:100%;max-width:100%;border-radius:9px;box-shadow:5px 6px 0 var(--intro-lime)}
  #intro-overlay .intro-story{position:static;padding:4px 0;background:none}
  #intro-overlay .intro-edition{display:none}
  #intro-overlay .intro-caption-block{margin:6px 0 8px;min-height:150px}
  #intro-overlay .intro-kicker{margin-bottom:10px;font-size:10px}
  #intro-overlay #intro-title{font-size:24px}
  #intro-overlay #intro-line{font-size:34px}
  #intro-overlay.intro-finale #intro-line{font-size:46px}
  #intro-overlay .intro-wham{font-size:78px;left:54%;top:44%}
  #intro-overlay .intro-smack{font-size:25px;top:66%}
  #intro-overlay .intro-stamp,#intro-overlay .intro-film-mark{display:none}
  #intro-overlay .intro-rec{font-size:6px;max-width:94%;left:6px;top:9px}
  #intro-overlay .intro-controls button{min-height:35px;padding:7px 9px;font-size:10px}
  #intro-overlay .intro-progress{margin-bottom:10px}
  #intro-overlay .intro-status{font-size:8px;margin-top:8px;min-height:26px}
}
@media(prefers-reduced-motion:reduce){
  #intro-overlay *,#intro-overlay *:before,#intro-overlay *:after{animation:none!important;transition:none!important}
}
