/* YouTube link-only player, independent of Spotify and of the YouTube UI skin. */
#rank-tab .rank-orb-card #rankYoutubeToggle{
 position:absolute!important;top:calc(10px + 38px + 8px)!important;left:10px!important;right:auto!important;z-index:40!important;
 display:grid!important;place-items:center!important;width:38px!important;height:38px!important;padding:6px;
 background:#170708!important;color:#fff!important;border:1px solid #ff3844aa!important;border-radius:50%;
 box-shadow:0 4px 16px #0005;cursor:pointer;touch-action:manipulation
}
#rankYoutubeToggle svg{width:25px;height:25px;display:block}
#rankYoutubeToggle:focus-visible{outline:2px solid #ff3040;outline-offset:2px}
#rankYoutubeToggle:active{transform:scale(.95)}
@media(max-width:360px){
 #rank-tab .rank-orb-card #rankYoutubeToggle{top:calc(8px + 36px + 8px)!important;left:8px!important;right:auto!important;width:36px!important;height:36px!important}
}
.youtube-modal[hidden],.youtube-mini-player[hidden],.youtube-view[hidden]{display:none!important}
.youtube-modal{position:fixed;inset:0 0 var(--lbrank-nav-core-height,58px);z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.youtube-modal-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px)}
.youtube-modal-panel{position:relative;z-index:1;box-sizing:border-box;width:100%;max-width:760px;height:min(86dvh,850px);max-height:calc(100% - 10px);padding:8px max(16px,env(safe-area-inset-left,0px)) 20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #ffffff26;border-bottom:0;border-radius:22px 22px 0 0;background:#101010;color:#fff;box-shadow:0 -16px 48px #0009}
.youtube-drag-handle{display:flex;justify-content:center;align-items:center;width:100%;height:23px;border:0;background:transparent;color:#999;cursor:grab;touch-action:pan-x}
.youtube-drag-handle span{width:43px;height:5px;border-radius:8px;background:#888}
.youtube-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.youtube-modal-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.5px}
.youtube-modal-brand svg{width:32px;height:25px}
.youtube-status{min-height:18px;margin:0 0 12px;font-size:12px;color:#aaa;line-height:1.5}
.youtube-status.is-error{color:#ff9a9a}
.youtube-search-form{display:flex;gap:8px;margin-bottom:12px}
.youtube-search-form input{box-sizing:border-box;min-width:0;flex:1;background:#202020!important;color:#fff!important;border:1px solid #484848!important;border-radius:10px;padding:12px;font:inherit;font-size:14px;outline:none}
.youtube-search-form input:focus{border-color:#ff3344!important}
.youtube-search-form button{border:0;border-radius:10px;background:#e62128!important;color:#fff!important;font-weight:700;padding:0 15px;font-size:13px;cursor:pointer}
.youtube-tabs{display:flex;gap:9px;margin-bottom:10px;border-bottom:1px solid #282828}
.youtube-tabs button{padding:9px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#aaa;font-size:13px;font-weight:700;cursor:pointer}
.youtube-tabs button.is-active{color:#fff;border-bottom-color:#ff3040}
.youtube-results{display:flex;flex-direction:column;gap:0;min-height:130px}
.youtube-empty{font-size:13px;color:#aaa;padding:22px 4px;line-height:1.5}
.youtube-result-row{display:flex;align-items:center;border-bottom:1px solid #292929;min-width:0}
.youtube-result-play{width:100%;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 0;border:0;background:transparent;color:#fff;cursor:pointer}
.youtube-result-play img{width:124px;height:72px;flex:none;object-fit:cover;border-radius:8px;background:#202020}
.youtube-result-copy{display:grid;gap:6px;min-width:0}
.youtube-result-copy strong{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.youtube-result-copy small{color:#aaa;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.youtube-result-save{flex:none;width:42px;height:42px;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}
.youtube-watch-view{display:flex;flex-direction:column;gap:14px}
.youtube-watch-back{display:flex;align-items:center;gap:6px;align-self:flex-start;color:#ddd;background:transparent;border:0;padding:5px 0;font-size:13px;cursor:pointer}
.youtube-frame-slot{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#000;border-radius:12px;overflow:hidden}
#youtubeFrameMount,#youtubeFrameMount iframe{width:100%!important;height:100%!important;display:block;border:0}
.youtube-watch-details{display:grid;gap:6px}
.youtube-watch-details strong{font-size:19px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.youtube-watch-details small{font-size:12px;color:#aaa}
.youtube-watch-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.youtube-watch-actions button,.youtube-watch-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #393939;border-radius:999px;padding:0 16px;background:#262626;color:#fff;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.youtube-watch-actions button:disabled{opacity:.35;cursor:not-allowed}
.youtube-watch-actions #youtubeSaveVideo[aria-pressed="true"]{color:#ff6770}
.youtube-queue-info{font-size:12px;color:#aaa}
.youtube-mini-player{position:fixed;z-index:2147482900;left:0;right:0;bottom:var(--lbrank-nav-core-height,58px);width:100%;box-sizing:border-box;display:flex;align-items:center;gap:6px;min-height:64px;padding:7px max(12px,env(safe-area-inset-left,0px));background:#191919;color:#fff;border-top:1px solid #ffffff24;border-radius:14px 14px 0 0;box-shadow:0 -4px 25px #0008}
.youtube-mini-expand{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;color:#fff;cursor:pointer}
.youtube-mini-expand img{width:72px;height:42px;flex:none;object-fit:cover;border-radius:6px}
.youtube-mini-copy{min-width:0;display:grid;gap:3px}
.youtube-mini-copy strong,.youtube-mini-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.youtube-mini-copy strong{font-size:12px}.youtube-mini-copy small{color:#aaa;font-size:10px}
.youtube-mini-control{flex:none;width:35px;height:38px;border:0;background:transparent;color:#fff;font-size:19px;cursor:pointer}
.youtube-mini-control.youtube-mini-play{color:#ff4651}
.youtube-modal button:focus-visible,.youtube-mini-player button:focus-visible,.youtube-modal a:focus-visible{outline:2px solid #ff4651;outline-offset:2px}
@media(max-width:380px){.youtube-result-play img{width:120px;height:70px}.youtube-result-play{gap:8px}.youtube-mini-expand img{width:60px;height:37px}.youtube-mini-control{width:30px}}
/* Video-only strip: same iframe remains in place, all sheet UI hidden.
   Only the full-width video and two tiny return/dismiss controls sit over app navigation. */
#youtubeModal.youtube-video-docked{
 inset:auto 0 var(--lbrank-nav-core-height,58px) 0!important;
 width:100%!important;height:auto!important;max-height:none!important;
 display:block!important;pointer-events:none;isolation:auto
}
#youtubeModal.youtube-video-docked .youtube-modal-backdrop{display:none!important}
#youtubeModal.youtube-video-docked .youtube-modal-panel{
 width:100vw!important;max-width:none!important;height:auto!important;max-height:none!important;
 padding:0!important;margin:0!important;overflow:visible!important;
 border:0!important;border-radius:0!important;background:transparent!important;
 box-shadow:0 -8px 30px #0008!important;pointer-events:auto
}
#youtubeModal.youtube-video-docked .youtube-modal-panel>:not(#youtubeWatchView):not(#youtubeDockControls){display:none!important}
#youtubeModal.youtube-video-docked #youtubeWatchView{display:block!important;margin:0!important;padding:0!important}
#youtubeModal.youtube-video-docked #youtubeWatchView>:not(.youtube-frame-slot){display:none!important}
#youtubeModal.youtube-video-docked .youtube-frame-slot{
 width:100%!important;height:clamp(200px,56.25vw,390px)!important;max-height:42dvh;
 min-height:200px!important;aspect-ratio:auto!important;border-radius:0!important;overflow:hidden
}
.youtube-dock-controls{display:none}
#youtubeModal.youtube-video-docked .youtube-dock-controls{
 display:flex!important;align-items:center;justify-content:space-between;position:absolute;bottom:100%;left:0;right:0;
 height:36px;box-sizing:border-box;background:#080808ef;padding:0 8px;pointer-events:auto;touch-action:none;cursor:grab
}
.youtube-dock-controls button{height:32px;min-width:42px;color:#fff;background:transparent;border:0;font-size:18px;cursor:pointer}
.youtube-dock-hint{color:#b7b7b7;font-size:11px;user-select:none;pointer-events:none}
#youtubeModal.youtube-video-docked #youtubeDockExpand{font-size:23px;font-weight:800;touch-action:none}
/* Avoid two competing persistent players. */
body.youtube-mini-visible #spotifyMiniPlayer,
body.youtube-sheet-open #spotifyMiniPlayer,
body.youtube-video-visible #spotifyMiniPlayer{display:none!important}
