/* A restrained transport dock; secondary navigation stays behind Settings. */
.player{padding:12px max(20px,calc((100vw - var(--container))/2)) calc(12px + env(safe-area-inset-bottom));background:rgba(249,250,247,.98);border-top:1px solid #d7e0da;box-shadow:0 -8px 30px #0b263014}
.player-top{gap:14px;margin:0 0 9px;align-items:center}
.player-current{flex:1;gap:10px;overflow:hidden}
.player-current strong{max-width:none;line-height:1.4}
.player-meta{gap:7px;flex-shrink:0}
.player-meta span:last-child{color:#708983}
.player-top-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.player-top-actions button{min-width:34px;min-height:34px;border:1px solid transparent;background:transparent;color:#536e68;font-size:12px;border-radius:7px;padding:5px 8px;white-space:nowrap}
.player-top-actions button:hover,.player-top-actions button:focus-visible{background:#e8eee9;border-color:#d5e2d9}
.player-top-actions .player-dismiss{font:400 23px/1 sans-serif;padding:0}
#playerToggleAdvanced[aria-expanded="true"]{background:#e5ece6;color:#204b47}
#playerToggleAdvanced span{display:inline-block;transition:transform .18s}
#playerToggleAdvanced[aria-expanded="true"] span{transform:rotate(180deg)}
.player-bottom{display:flex;align-items:center;gap:18px;flex-wrap:nowrap}
.player-bottom .transport{order:1;display:flex;flex:0 0 auto;gap:8px}
.player-bottom .progress-wrap{order:2;flex:1;min-width:100px}
.player-bottom .progress-wrap input{display:block;min-height:28px;height:28px;accent-color:#326359}
.player .transport button{background:transparent;border:1px solid transparent;min-height:38px;min-width:62px;border-radius:8px;font-size:12px;color:#3f625d;padding:8px 10px}
.player .transport button:hover{border-color:#d8e2dc;background:#eaf0eb}
.player .transport .main-play{background:#183d40;color:#fff;border-color:#183d40;min-width:68px;height:39px;border-radius:8px;font-size:12px}
.player .transport .main-play:hover{background:#25544c;color:#fff}
.player .transport button:disabled{opacity:.35}
.player-advanced[hidden]{display:none!important}
.player-advanced{border-top:1px solid #e0e8e1;margin-top:11px;padding-top:12px;display:grid;gap:10px}
body.portal-ready .player .player-advanced:not([hidden]) .player-extras{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;width:100%}
body.portal-ready .player .player-advanced:not([hidden]) .player-location{display:flex!important;align-items:center;flex-wrap:wrap;gap:9px;margin:0}
.player .player-extras label{display:inline-flex;align-items:center;gap:6px;color:#5d706c;font-weight:500;font-size:11px}
.player .player-extras select,.player .player-location select{border:1px solid #d6dfd9;background:#fffdfa;border-radius:7px;min-height:36px;padding:6px 9px;color:#335a54;font-size:11px}
.player .player-extras button,.player .player-location button.player-locate{background:#f6f8f4;color:#2c5950;border:1px solid #d6e1d9;border-radius:7px;font-size:11px;font-weight:500;min-height:36px;padding:7px 10px}
.player .player-location select{flex:1 1 190px;max-width:340px}
.player-alert:empty{display:none}
.player-alert:not(:empty){margin-top:7px}
@media(max-width:740px){
 .player{bottom:calc(67px + env(safe-area-inset-bottom));padding:8px 14px 10px;border-radius:12px 12px 0 0;max-height:calc(100dvh - 90px);overflow-y:auto}
 body.portal-ready .player.is-playing,body.portal-ready .player.is-paused,body.portal-ready .player.is-seeking{display:block}
 .player-top{gap:7px;margin-bottom:4px}
 .player-current{gap:8px}
 .player-current .playing-signal{width:27px;height:27px;flex:0 0 27px}
 .player-current strong{font-size:12px;max-width:100%;overflow:hidden}
 .player-current span:not(.playing-signal){font-size:9px}
 .player-meta{gap:4px;flex-direction:column;align-items:flex-end}
 .player-meta span{font-size:9px!important;line-height:1.1}
 .player-meta span:last-child{display:none}
 .player-top-actions{gap:1px}
 .player-top-actions button{min-width:32px;min-height:34px;padding:4px 5px;font-size:11px}
 .player-top-actions .player-dismiss{font-size:22px;min-width:29px}
 .player-bottom,.player.is-paused .player-bottom,.player.is-seeking .player-bottom{display:flex!important;gap:8px;flex-wrap:wrap;align-items:center}
 .player-bottom .transport{order:2;flex:1;justify-content:center;gap:6px}
 .player-bottom .progress-wrap,.player.is-paused .progress-wrap,.player.is-seeking .progress-wrap{display:block!important;order:1;width:100%;flex:0 0 100%;min-width:0;height:19px}
 .player-bottom .progress-wrap input{height:19px;min-height:19px;margin:0}
 .player .transport button,.player:not(.is-playing) .transport button:not(.main-play){display:inline-flex!important;justify-content:center;align-items:center;font-size:11px;min-height:36px;min-width:0;flex:0 0 auto;padding:6px 11px}
 .player .transport .main-play{min-width:75px;height:36px}
 .player-advanced{margin-top:9px;padding-top:9px;gap:8px}
 body.portal-ready .player .player-advanced:not([hidden]) .player-extras{gap:7px}
 body.portal-ready .player .player-advanced:not([hidden]) .player-location{gap:7px}
 .player .player-extras select#voiceSelect{max-width:130px;min-width:105px}
 .player .player-location>label{display:none}
 .player .player-location select{max-width:none;flex:1 1 155px}
 .player .player-location span{order:0;flex:0 1 auto;max-width:64px}
 .player .player-location button.player-locate{margin-left:0}
 .player .player-extras label{font-size:10px}
 body.portal-ready .player .player-advanced:not([hidden]) .player-extras{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .player-advanced .player-extras label{min-width:0;justify-content:space-between}
 .player-advanced .player-extras select{min-width:0;flex:1;max-width:calc(100% - 33px)}
 .player-advanced .player-extras button{width:100%}
 body.portal-ready .player .player-advanced:not([hidden]) .player-location{display:grid!important;grid-template-columns:minmax(0,1fr) auto}
 .player .player-location select{max-width:none;width:100%}
 .player .player-location span{display:none}
 .player-alert{font-size:10px;line-height:1.5}
}
@media(max-width:380px){
 .player{padding:7px 10px 9px}
 .player-current strong{font-size:11px}
 .player-top-actions button{padding:3px}
 .player-meta span:last-child{display:none}
 .player .transport button{padding:6px 9px}
}
@media(prefers-reduced-motion:reduce){#playerToggleAdvanced span{transition:none}}
