/* ================= 片头 ================= */
.tt-stage { display: flex; align-items: center; justify-content: center; }
/* a soft cinema vignette at the top and bottom (a gradient — never a hard bar across the screen) */
.tt-bar { position: absolute; left: 0; right: 0; height: calc(var(--vh) * 18); z-index: 5; opacity: 0; pointer-events: none; }
.tt-bar.top { top: 0; background: linear-gradient(180deg, rgba(7, 6, 26, .78), rgba(7, 6, 26, .35) 45%, rgba(7, 6, 26, 0)); }
.tt-bar.bot { bottom: 0; background: linear-gradient(0deg, rgba(7, 6, 26, .78), rgba(7, 6, 26, .35) 45%, rgba(7, 6, 26, 0)); }
.tt-leader { position: absolute; width: min(64vw, 330px); aspect-ratio: 1; opacity: 0; }
.tt-leader svg { width: 100%; height: 100%; overflow: visible; }
.tl-ring { fill: rgba(255, 246, 232, .08); stroke: #fff2c4; stroke-width: 4; }
.tl-ring2 { fill: none; stroke: rgba(255, 242, 196, .6); stroke-width: 3; }
.tl-cross { stroke: rgba(255, 242, 196, .55); stroke-width: 2.5; }
.tl-sweep { fill: rgba(255, 158, 196, .35); }
.tl-num { font-family: var(--f-num); font-weight: 700; font-size: 118px; fill: #fff2c4; text-anchor: middle; dominant-baseline: central; paint-order: stroke; stroke: var(--ink); stroke-width: 7px; }
.tt-flicker { position: absolute; inset: 0; background: #fff8e0; opacity: 0; pointer-events: none; z-index: 4; mix-blend-mode: overlay; }
.tt-credits { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.tt-cr { opacity: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.tt-cr em { font-style: normal; font-size: 14px; letter-spacing: .4em; color: var(--gold); }
.tt-cr b { font-weight: normal; font-size: clamp(22px, 6.4vw, 32px); color: var(--txt); text-shadow: 0 0 24px rgba(20, 10, 90, .8); }
.tt-main { position: absolute; left: 12px; right: 12px; top: 50%; margin-top: -90px; text-align: center; opacity: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tt-pre { font-family: var(--f-cute); color: var(--gold3); letter-spacing: .3em; font-size: 14px; }
.tt-name { font-size: clamp(38px, 11vw, 76px); color: #fff2c4; line-height: 1.2; white-space: nowrap; }
.tt-en { font-size: 12px; letter-spacing: .3em; color: var(--pink3); font-weight: 500; }
.tt-rel { margin-top: 14px; font-size: 13px; color: var(--txt2); padding: 4px 14px; border: 1.5px solid rgba(255, 248, 236, .4); border-radius: 99px; }
