/* The record is a real 3D scene inside the existing optical lens. */
#page-profile .ending-lp-view{overflow:visible;background:none;isolation:auto;z-index:4;transition:opacity 220ms ease}
.ending-lp-stage,.ending-lp-poster{position:absolute;inset:-10%;pointer-events:none}
.ending-lp-stage canvas{display:block;width:100%;height:100%;max-width:none;opacity:0;transition:opacity 180ms ease}
.ending-lp-view[data-renderer="webgl"] .ending-lp-stage canvas{opacity:1}
.ending-lp-view[data-renderer="webgl"] .ending-lp-poster{visibility:hidden}
.ending-lp-poster{display:grid;place-items:center}
.ending-lp-poster img{width:100%;height:100%;object-fit:contain}
#page-profile .ending-copy{max-width:480px;display:flex;flex-direction:column;height:var(--lens-size);min-height:0}
/* The LP leaves this grid while its tonearm returns. Keep the outgoing lyrics
   in their own column until the existing copy fade has completed. */
@media(min-width:1051px){#page-profile .ending-copy{grid-column:2;grid-row:1}}
.ending-lyrics-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;border-bottom:1px solid #bfa4d02b;padding-bottom:4px;flex:none}
#page-profile .ending-lyrics-heading h3{margin:0;color:#c7bdd3;font:400 14px/1.5 'Noto Sans KR',sans-serif}
#page-profile .ending-lyrics-heading .profile-fan-toggle{width:auto;gap:12px;min-height:44px;border:0;margin:0;padding:0;font:12px/1.5 'Noto Sans KR',sans-serif}
.ending-lyrics-wrap{position:relative;padding-top:10px;min-height:0;flex:1}
#page-profile .ending-copy>.lens-eyebrow,#page-profile .ending-copy>.ending-transport{flex:none}
#page-profile .ending-lyrics-wrap .profile-lyrics-scroll{width:100%;height:100%;padding:6px 14px 12px 0;text-align:left;mask-image:linear-gradient(#000 calc(100% - 12px),transparent);overflow:auto;scrollbar-gutter:stable} /* taste-skill-ignore: only the final 12px fade indicates more lyrics below the viewport. */
#page-profile .ending-lyrics-wrap .profile-lyrics-scroll[data-scroll-end=true]{mask-image:none}
#page-profile .ending-lyrics-wrap #lyrics{font-size:clamp(19px,1.3vw,20px);line-height:1.95;letter-spacing:-.015em;color:#e8dfef;transition:color 180ms ease}
#page-profile .ending-lyrics-wrap #lyrics p{margin:0 0 28px}
#page-profile .ending-lyrics-wrap #lyrics p:last-child{margin-bottom:0}
#page-profile .ending-lyrics-wrap #lyrics .lyric-fan{color:inherit;font-weight:inherit;text-shadow:none;background:none;text-decoration:none;-webkit-text-stroke:.2px transparent;transition:color 180ms ease,-webkit-text-stroke-color 180ms ease}
/* Optical weight changes the ink, not glyph metrics: words never shift or rewrap. */
#page-profile[data-fan=true] .ending-lyrics-wrap #lyrics{color:#b3a8bf}
#page-profile[data-fan=true] .ending-lyrics-wrap #lyrics .lyric-fan{color:#f2e7ff;-webkit-text-stroke-color:#f2e7ff}
#page-profile[data-fan-instant=true] .ending-lyrics-wrap #lyrics,#page-profile[data-fan-instant=true] .ending-lyrics-wrap #lyrics .lyric-fan{transition:none}
#page-profile .profile-lyrics-scroll:focus-visible{outline:1px solid #c7a4e6;outline-offset:6px;border-radius:3px}
/* Exit stays on its own layer while the tonearm lifts; chapter content remains immediately usable. */
#page-profile .lens-shell::before{content:"";position:absolute;inset:1.2%;border-radius:50%;background:#191b21;opacity:0;transition:opacity 220ms ease}
#page-profile[data-chapter="2"] .lens-shell::before,#page-profile[data-lp-exit="holding"] .lens-shell::before{opacity:1}
#page-profile[data-profile-instant="true"] .lens-shell::before{transition:none}
#page-profile[data-lp-exit="holding"] :is(.identity-pane,.cats-pane)>.lens-view{opacity:0;pointer-events:none}
#page-profile .ending-lp-view.lp-retracting{position:absolute;left:var(--rail);top:0;margin:0;pointer-events:none;z-index:6}
#page-profile .ending-lp-view.lp-retracting.lp-fading{opacity:0;transition:opacity 220ms ease}
@media(max-width:1050px){
 #page-profile .ending-copy{max-width:520px;height:auto;display:block}
 #page-profile .ending-lp-view.lp-retracting{left:50%;translate:-50% 0}
 #page-profile .ending-lyrics-wrap .profile-lyrics-scroll{height:clamp(280px,42dvh,380px)}
}
@media(max-width:600px){
 #page-profile[data-chapter="2"] .lens-shell{display:block}
 #page-profile .ending-lyrics-wrap .profile-lyrics-scroll{height:clamp(260px,43dvh,360px);padding:8px 10px 18px 0}
 #page-profile .ending-lyrics-wrap #lyrics{font-size:18px}
 .ending-lyrics-heading{justify-content:flex-start;gap:20px;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.ending-lp-stage canvas,#page-profile .ending-lp-view.lp-fading{transition:none}}
@media(prefers-reduced-motion:reduce){#page-profile .ending-lyrics-wrap #lyrics,#page-profile .ending-lyrics-wrap #lyrics .lyric-fan{transition:none}}
