.page-back{margin:0 0 20px;padding-left:0;min-height:44px}
#player-bar{grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px}
#player-bar .player-title{grid-column:1;grid-row:1}
#player-bar .player-title strong{max-width:100%}
#player-bar .player-controls{grid-column:1/-1;grid-row:2;justify-content:center;order:0;gap:18px}
#player-bar .player-controls button{min-width:44px;min-height:44px}
#player-bar .player-expand{grid-column:2;grid-row:1;padding:6px}
#player-bar [data-audio-action=stop]{grid-column:3;grid-row:1;padding:8px;font-size:12px}
#player-bar input[type=range]{grid-column:1/-1;grid-row:3;width:100%;min-width:0;order:0;margin:0}
#player-bar .player-time{grid-column:1/-1;grid-row:4;order:0}
@media(max-width:850px){
 .member-layout .brand::before{content:none}
 .member-layout .sidebar{overflow:visible;flex-wrap:nowrap}
 .member-layout #navigation{position:absolute;top:calc(100% + 8px);right:16px;left:auto;width:min(260px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 180px);overflow-y:auto;padding:8px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0003;gap:2px;justify-content:flex-start}
 .member-layout #navigation .nav-link{width:100%;min-height:44px;text-align:left;padding:12px;border:0}
 .member-layout #navigation .nav-label{font-size:14px}
 .member-layout .welcome h2{grid-column:1/-1}
 .member-layout .feature-actions{flex-wrap:wrap;gap:12px}
 .member-layout .feature-actions .wave{display:none}
 .member-layout.playing main{padding-bottom:260px}
 #player-bar{right:10px;width:calc(100% - 20px);padding:12px}
 #player-bar .player-controls{gap:22px}
 #player-bar .player-title small{display:none}
}
/* Visible episode marker and a consistent back control in the breadcrumb bar. */
.welcome .welcome-number{display:grid;grid-column:1/-1;color:var(--burgundy);font-size:44px;width:76px;height:76px;margin-bottom:18px;line-height:1}
[data-theme=dark] .welcome .welcome-number{color:#e9a4b6;border-color:var(--line)}
.topbar .page-back{flex-shrink:0;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--white);min-height:40px;font-size:13px}
.topbar{gap:14px}
.topbar #breadcrumb{margin-right:auto}
@media(max-width:600px){.member-layout .topbar{height:auto;min-height:62px;padding:10px 20px;gap:12px}.topbar #breadcrumb{font-size:11px}.welcome .welcome-number{font-size:40px;width:68px;height:68px}}
/* Administration has seven destinations: scroll the bar instead of squeezing labels. */
@media(max-width:600px){
 body:not(.member-layout) .sidebar{height:calc(78px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);overflow:hidden}
 body:not(.member-layout) #navigation{display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:8px;width:100%;height:73px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity}
 body:not(.member-layout) #navigation .nav-link{flex:0 0 88px;min-width:88px;margin:0;padding:9px 5px;gap:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;scroll-snap-align:start}
 body:not(.member-layout) #navigation .nav-label{display:block;white-space:nowrap;font-size:12px;line-height:1.25;text-align:center}
 body:not(.member-layout) #navigation svg{width:20px;height:20px;flex-shrink:0}
 body:not(.member-layout) .workspace{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 body:not(.member-layout) #player-bar{bottom:calc(90px + env(safe-area-inset-bottom))!important}
}

/* Remove native button padding and SVG baseline differences in Safari. */
button.round[data-fav]{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0;appearance:none;-webkit-appearance:none}
button.round[data-fav]>svg{display:block;flex:0 0 20px;width:20px;height:20px;margin:0;pointer-events:none}
