.player { width: 100%; position: relative; background-color: #000; & > div:nth-of-type(1) { height: 100%; width: 100%; padding-bottom: .5em; video { height: 100%; width: 100%; object-fit: contain; } } & > div:nth-of-type(2) { overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; } & > div:nth-of-type(2), & > div:nth-of-type(3) { width: 48%; position: absolute; top: 0; bottom: 2em; background-color: var(--color-glass); transition: .3s transform; @media(max-width: 40em) { width: 96%; bottom: 0; } ul { width: 100%; padding-top: .5em; } li { display: flex; align-items: center; padding: 0 1em; & > span:first-of-type { margin: 0 .5em; } & > span:nth-of-type(2) { flex-grow: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } & > span:nth-of-type(3) { padding: .5em; svg { transition: .3s opacity linear .3s, .3s color; @media(min-width: 40em) { visibility: hidden; opacity: 0; } } } & > span:nth-of-type(3) { & > svg { color: var(--color-error); } @media(hover: hover) { &:hover > svg { color: #f00; } } } @media(hover: hover) { &:hover { background-color: var(--color-glass-alt); } &:hover > span:nth-of-type(3) > svg { visibility: visible; opacity: 1; } } } } & > div:nth-of-type(2) { left: 0; border-top-right-radius: 1em; border-bottom-right-radius: 1em; border-right: 1px solid var(--color-window-border-bottom); & > div { right: -0.5em; } } & > div:nth-of-type(3) { right: 0; border-top-left-radius: 1em; border-bottom-left-radius: 1em; border-left: 1px solid var(--color-window-border-bottom); & > div:last-of-type { left: -0.5em; } & > div:first-of-type { overflow-y: auto; overflow-x: hidden; padding: 1em; height: 100%; } pre { line-height: 1.25; white-space: break-spaces; &:first-of-type { font-weight: 600; padding-bottom: 1em; } } } }