/* ============ 14 ENDING & REFERENCES — back to the original hero colors ============ */
.endp{position:relative;--dfont:'Bebas Neue','Noto Sans JP',Impact,sans-serif;--dmono:'DM Mono','IBM Plex Mono',ui-monospace,monospace;--lac:#3ee0c5;overflow:hidden}
.end-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10vh 6vw}
.end-hero .cast-tag{color:var(--lac);justify-content:center}.end-hero .cast-tag::before{background:var(--lac)}
.end-k{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:900 min(70vw,70vh)/1 'Noto Sans JP',sans-serif;color:rgba(155,92,255,.07);pointer-events:none;user-select:none}
.end-title{position:relative;font:700 clamp(4rem,16vw,13rem)/.9 'Syncopate','Bebas Neue',sans-serif;letter-spacing:.06em;color:#f4f1ff;margin:1.4rem 0 1.6rem;
  text-shadow:0 0 30px rgba(155,92,255,.55),0 0 80px rgba(155,92,255,.25)}
.end-title::before,.end-title::after{content:attr(data-t);position:absolute;inset:0;mix-blend-mode:screen;opacity:.7}
.end-title::before{color:#3ee0c5;animation:endGlitchA 5s infinite steps(1)}
.end-title::after{color:#ff4f8b;animation:endGlitchB 5s infinite steps(1)}
@keyframes endGlitchA{0%,92%,100%{transform:none;clip-path:none;opacity:0}93%{transform:translate(-4px,2px);clip-path:inset(20% 0 55% 0);opacity:.8}95%{transform:translate(3px,-2px);clip-path:inset(60% 0 10% 0);opacity:.8}}
@keyframes endGlitchB{0%,92%,100%{transform:none;clip-path:none;opacity:0}94%{transform:translate(4px,-1px);clip-path:inset(40% 0 35% 0);opacity:.8}96%{transform:translate(-3px,2px);clip-path:inset(5% 0 75% 0);opacity:.8}}
.end-line{position:relative;max-width:44ch;color:#d3cee8;font-size:clamp(.95rem,1.6vw,1.12rem);line-height:1.8}
.end-tbc{position:relative;margin-top:2.2rem;font:400 .7rem var(--dmono);letter-spacing:.4em;text-transform:uppercase;color:#e0b25a;animation:glow 2.4s infinite ease-in-out}
.end-refs{position:relative;max-width:980px;margin:0 auto;padding:6vh 6vw 8vh}
.end-h{font:400 clamp(2rem,5vw,3.4rem)/1 var(--dfont);letter-spacing:.04em;color:#f4f1ff;margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:baseline;
  border-bottom:1px solid rgba(155,92,255,.3);padding-bottom:1rem}
.end-h small{font:400 .64rem var(--dmono);letter-spacing:.2em;text-transform:uppercase;color:var(--lac)}
.ref-list{background:rgba(10,8,18,.6);border:1px solid rgba(255,255,255,.08);padding:clamp(1.2rem,3vw,2.2rem)}
.ref{padding-left:2.2em;text-indent:-2.2em;margin:0 0 1em;font:400 .88rem/1.75 'Noto Serif JP',Georgia,serif;color:#d8d3ea;overflow-wrap:anywhere}
.ref i{color:#f4f1ff}
.ref a{color:#9fe9dc;text-decoration:none;border-bottom:1px solid rgba(62,224,197,.3)}
.ref a:hover{color:#3ee0c5;border-color:#3ee0c5}
.end-foot{position:relative;text-align:center;padding:8vh 6vw 12vh;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.end-credit{font:400 1.4rem var(--dfont);letter-spacing:.08em;color:#f4f1ff}
.end-credit b{font-weight:400;color:#9b5cff}
.end-class{font:400 .64rem var(--dmono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.end-top{margin-top:1.6rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.7rem 1.6rem;border-radius:999px;font:400 .66rem var(--dmono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.end-top:hover{background:#fff;color:#06050b}
.end-fin{margin-top:2.4rem;color:#e0b25a;animation:glow 2s infinite ease-in-out}
#endwash{background:radial-gradient(60vw 50vh at 20% 10%,rgba(155,92,255,.22),transparent 70%),radial-gradient(50vw 45vh at 85% 85%,rgba(62,224,197,.10),transparent 70%),linear-gradient(180deg,#0b0716,#06050b 55%)}
@media (prefers-reduced-motion:reduce){.end-title::before,.end-title::after{animation:none;opacity:0}}
