/* Shares the event heading, phone, heroine card, bubbles and result modal with the message event. */
.game-shell:has(.playlist-event){height:100dvh;min-height:540px;display:flex;flex-direction:column}
.game-shell:has(.playlist-event)>.game-header{flex:none;width:100%}
.stage.event-stage:has(.playlist-event){flex:1 1 0;min-height:0;width:100%;margin:0 auto}
.playlist-event{height:100%;min-height:0}
.playlist-event>.event-heading{flex:none}
.playlist-phone{flex:1 1 0;min-height:0;height:auto;max-height:620px}
.playlist-phone .event-card{flex:1 1 auto;min-height:108px;height:auto}
.playlist-phone .event-card .portrait{object-position:center top;transition:transform .8s ease}
.playlist-phone.is-success .portrait{transform:scale(1.035)}
.music-tag{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:20px;background:#211c2b70;backdrop-filter:blur(8px);color:#fff;font-size:9px}
.music-tag .icon{width:12px;height:12px}
.playlist-body{flex:none;display:flex;flex-direction:column;gap:13px;padding-top:16px}
.playlist-prompt{text-align:center}
.playlist-prompt strong{display:block;font-size:14px;line-height:1.5;letter-spacing:-.035em}
.playlist-prompt p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.playlist-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.playlist-choice{display:flex;flex-direction:column;gap:0;text-align:left;min-width:0;padding:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface-raised);color:var(--ink);cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s}
.playlist-choice:not(:disabled):hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 7px 24px #0002}
.playlist-choice:focus-visible{border-color:var(--accent);box-shadow:0 0 18px #fa9ab326}
.playlist-choice:disabled{cursor:default}
.playlist-cover{position:relative;display:block;overflow:hidden;width:100%;height:clamp(82px,13dvh,116px)}
.playlist-cover>svg{display:block;width:100%;height:100%}
.cover-record{position:absolute;width:76px;height:76px;left:24px;top:calc(50% - 38px);border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#282638 0 2px,#343142 3px 4px);box-shadow:3px 6px 12px #14132955;transform:rotate(-16deg);border:1px solid #fff2}
.cover-record::after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:#c98389;box-shadow:inset 0 0 0 9px #eab3a6}
.night .cover-record::after{background:#64628e;box-shadow:inset 0 0 0 9px #a8a5c6}
.cover-record .icon{width:10px;height:10px;z-index:1;color:#514055}
.cover-play{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fffde9ed;color:#443b4c;box-shadow:0 2px 8px #0002}
.cover-play .icon{width:13px;height:13px;fill:currentColor;transform:translateX(1px)}
.playlist-copy{display:flex;flex-direction:column;padding:11px 12px 12px;gap:4px}
.playlist-copy strong{font-size:15px;letter-spacing:-.03em;line-height:1.3}
.playlist-copy small{font-size:10px;color:var(--accent);line-height:1.4}
.playlist-copy>span{font-size:10px;color:var(--muted);line-height:1.4;white-space:nowrap}
.playlist-conversation{display:flex;flex:1 0 auto;flex-direction:column;gap:14px;padding:17px 0 0;min-height:220px}
.shared-track{align-self:flex-end;width:94%;display:flex;align-items:center;gap:11px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:16px 16px 5px 16px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));animation:event-bubble .5s both}
.shared-cover{position:relative;width:60px;height:60px;flex:none;border-radius:10px;overflow:hidden}
.shared-cover>svg{height:100%;width:100%}
.mini-record{position:absolute;width:38px;height:38px;inset:11px;background:repeating-radial-gradient(circle,#272539 0 2px,#3e3a4d 3px 4px);border-radius:50%;box-shadow:0 2px 5px #0005}
.mini-record::after{content:"";position:absolute;inset:13px;background:#ebbcb3;border-radius:50%;border:4px solid #cd9393}
.is-playing .mini-record{animation:record-turn 3s linear infinite}
.shared-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.shared-copy small{font-size:9px;color:var(--muted);line-height:1.4}
.shared-copy strong{font-size:14px;line-height:1.4}
.shared-copy>span{font-size:11px;color:var(--muted);line-height:1.4}
.shared-track>.icon{width:19px;height:19px;color:var(--accent);flex:none;margin-left:auto}
.listening{display:flex;align-items:center;gap:9px;min-height:39px;font-size:11px;color:var(--muted);padding-left:8px}
.equalizer{display:flex;gap:3px;align-items:center;height:23px;color:var(--accent)}
.equalizer i{display:block;width:3px;height:15px;border-radius:2px;background:currentColor;animation:equalize .65s ease-in-out infinite alternate}
.equalizer i:nth-child(2){animation-delay:-.25s}.equalizer i:nth-child(3){animation-delay:-.5s}.equalizer i:nth-child(4){animation-delay:-.4s}.equalizer i:nth-child(5){animation-delay:-.15s}
.playlist-conversation .event-typing{min-height:38px;align-items:center}
.playlist-conversation .event-message{max-width:90%}
.playlist-reaction{margin:auto 0;text-align:center;font-size:11px;line-height:1.6;color:var(--muted);word-break:keep-all;animation:event-arrive .6s .2s both}
.playlist-conversation .event-compose{margin-top:auto}
@keyframes record-turn{to{transform:rotate(360deg)}}
@keyframes equalize{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@media(max-width:600px){
 .playlist-phone .event-card{min-height:100px}
 .playlist-body{gap:11px;padding-top:13px}.playlist-prompt strong{font-size:12px}.playlist-prompt p{font-size:10px}
 .playlist-cover{height:clamp(75px,13dvh,110px)}.playlist-choices{gap:10px}.playlist-copy{padding:9px 10px 10px;gap:3px}
 .playlist-copy strong{font-size:14px}.playlist-copy>span{font-size:9px}.playlist-copy small{font-size:9px}
 .cover-record{width:64px;height:64px;left:17px;top:calc(50% - 32px)}
 .playlist-conversation{gap:11px;padding-top:12px}
 .playlist-conversation .event-message p{font-size:12px;line-height:1.7}
 .playlist-reaction{font-size:10px}.music-tag{font-size:8px;padding:5px 7px;top:9px;right:9px}
}
@media(max-height:760px){
 .playlist-phone .event-card{min-height:86px}
 .playlist-body{gap:9px;padding-top:10px}.playlist-prompt strong{font-size:12px}.playlist-prompt p{font-size:10px;margin-top:3px}
 .playlist-cover{height:80px}.playlist-copy{padding:9px 10px;gap:2px}.playlist-copy strong{font-size:13px}
 .playlist-conversation{gap:10px;min-height:205px}.shared-track{padding:9px;gap:9px}.shared-cover{width:48px;height:48px}.mini-record{inset:5px}
}
@media(max-width:600px) and (max-height:650px){
 .stage.event-stage:has(.playlist-event){padding-block:4px}.playlist-event{gap:5px}
 .playlist-event .event-heading h1{font-size:21px;margin:2px 0 4px;line-height:1.25}.playlist-event .event-heading p{font-size:10px;line-height:1.4}
 .playlist-phone{padding:10px 13px 8px}.playlist-phone .event-card{min-height:68px}.playlist-phone.is-chosen .event-card{min-height:60px}
 .playlist-phone .event-card-copy h2{font-size:19px}.playlist-phone .event-card-copy{bottom:9px;left:12px}
 .playlist-body{gap:8px;padding-top:9px}.playlist-prompt p{font-size:9px}.playlist-prompt strong{font-size:11px}
 .playlist-cover{height:62px}.cover-record{width:51px;height:51px;left:17px;top:calc(50% - 25.5px)}.cover-record::after{width:22px;height:22px;box-shadow:inset 0 0 0 7px #eab3a6}
 .playlist-copy>span{display:none}.playlist-copy{padding:8px 10px}.playlist-phone .event-home{margin-top:8px}
 .playlist-conversation{min-height:0;padding-top:10px;gap:8px}.playlist-conversation .event-message p{font-size:11px;padding:8px 11px}.shared-copy strong{font-size:12px}.shared-copy>span{font-size:10px}
 .playlist-reaction{font-size:10px;line-height:1.5}.playlist-conversation .event-continue{min-height:39px;font-size:11px}.playlist-conversation .event-compose{padding-top:5px}
}
@media(max-width:359px){.playlist-event .event-heading h1{font-size:20px}.music-tag{display:none}.playlist-copy strong{font-size:12px}}
