/* A single composited presenter image keeps the paper, shadows and person aligned. */
.onair-person .portrait:not(.is-music)::before,
.onair-person .portrait:not(.is-music)::after{content:none;display:none}
.onair-person .portrait:not(.is-music) img{position:relative;inset:auto;width:100%;height:100%;object-fit:contain;clip-path:none;filter:none;transform:none}
.onair-person .portrait{transition:transform .55s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.onair-person:hover .portrait{transform:translateY(-5px)}}
.onair-person:focus-visible .portrait{transform:translateY(-5px)}
body[data-mood=winter] .hero-deck{margin-top:170px}
body[data-mood=winter] .paper-season-hero{width:110%;right:-29%;bottom:-4%;clip-path:inset(0 0 14% 0)}
@media(max-width:800px){
 body[data-mood=winter] .hero-deck{margin-top:125px}
 body[data-mood=winter] .paper-season-hero{width:105%;right:-13%;bottom:-2%}
}
@media(prefers-reduced-motion:reduce){.onair-person .portrait{transition:none;transform:none!important}}
body[data-mood=summer] .paper-season-hero{width:66%;right:-10%;bottom:-22%;filter:none}
@media(max-width:800px){
 body[data-mood=summer] .paper-season-hero{width:70%;right:-8%;bottom:-20%}
 body[data-mood=summer] .hero-deck{margin-bottom:64px}
}
/* Keep the current presenter immediately below the controls on phones. */
/* Profile links are independent of article sharing and never interrupt the audio. */
.profile-links{display:flex;align-items:center;gap:4px}
.profile-links a{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;color:var(--orange);border-radius:50%;outline-offset:2px}
.profile-links a span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1d1e20;box-shadow:inset 0 0 0 1px #f89c3033;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.profile-links svg{width:19px;height:19px}
.profile-links a:hover span,.profile-links a:focus-visible span{transform:translateY(-2px);background:#303033;box-shadow:inset 0 0 0 1px #f89c3080,0 3px 10px #17171922}
.profile-rail{position:fixed;right:7px;top:45%;transform:translateY(-50%);flex-direction:column;z-index:20;gap:8px}
.profile-dock{margin-left:auto;margin-right:24px;padding-left:18px;border-left:1px solid #ffffff1a;flex-shrink:0}
.global-player .frequency{margin-left:0}
@media(max-width:1100px){.profile-rail{display:none}.profile-dock{padding-left:8px;margin-right:12px;gap:0}.global-player .global-copy{min-width:0}}
@media(max-width:800px){
 .global-player{display:grid;grid-template-columns:38px minmax(0,1fr) 46px 46px;gap:6px 10px}
 .global-player .mini-record{grid-column:1;grid-row:1;width:38px;height:38px}
 .global-player .global-copy{grid-column:2;grid-row:1}
 .global-player .global-wa{grid-column:3;grid-row:1;margin:0;width:46px;height:46px}
 .global-player .global-play{grid-column:4;grid-row:1;width:46px;height:46px}
 .global-player .profile-dock{grid-column:1/-1;grid-row:2;justify-content:center;margin:0;padding:3px 0 0;border-left:0;border-top:1px solid #ffffff12;gap:14px}
 .profile-dock a{height:38px}
 .profile-dock a span{width:30px;height:30px;background:transparent;box-shadow:none}
 .profile-dock svg{width:18px;height:18px}
 .global-player .replay-timeline{grid-column:1/-1;grid-row:3}
 body:not(.dock-concealed){padding-bottom:calc(var(--dock-height,120px) + 35px)}
}
@media(prefers-reduced-motion:reduce){.profile-links a span{transition:none;transform:none!important}}
@media(max-width:800px){
 .hero{row-gap:14px;padding-top:20px}
 .hero-deck{max-width:300px;margin-bottom:28px}
 body[data-mood=normal] .hero-deck{margin-bottom:62px}
 .hero-weather{width:145px;height:145px;bottom:-60px;right:-10px}
 .weather-city{bottom:-2px}
 .hero-actions{margin-top:0}
 .onair-person{margin-top:0;padding-top:0;gap:12px;max-width:440px}
 body[data-mood=winter] .hero-deck{margin-bottom:22px}
}
@media(max-width:520px){
 .hero-deck{max-width:270px}
 .onair-person .portrait:not(.is-music){width:52%;flex-basis:52%}
 .onair-person strong{font-size:20px;line-height:1.15}
 .hero-actions>.whatsapp-link,.hero-play .play-icon,.hero-play .pause-icon{width:52px;height:52px;flex-basis:52px}
}
