* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Roboto, sans-serif;
}

body {
background: #f4f6f9;
color: #222;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 0;
}

.wrapper {
width: 100vw;
height: 100vh;
display: flex;
}

.video-area {
position: relative;
flex: 0 0 auto;
height: 100vh;
aspect-ratio: 16 / 9;
background: #fff;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.video-area iframe,
.video-area video {
width: 100%;
height: 100%;
border: 0;
background: #000;
}

.sidebar {
flex: 1;
height: 100vh;
background: #fff;
padding: 10px;
overflow-y: auto;
border: 1px solid #e5e7eb;
box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.sidebar h3 {
text-align: center;
margin-bottom: 15px;
}

.tabs {
display: flex;
margin-bottom: 15px;
}

.tab {
flex: 1;
padding: 12px;
border: none;
background: #343a40;
color: #fff;
cursor: pointer;
font-weight: bold;
transition: .2s;
}

.tab + .tab {
margin-left: 0;
}

.tab:hover {
background: #495057;
}

.tab.active {
background: #ff9800;
}

.tab-content {
display: none;
}

.tab-content.active {
display: block;
}

.channel-list {
display: flex;
flex-direction: column;
gap: 10px;
}

.channel {
padding: 12px;
border: 1px solid #ddd;
border-radius: 8px;
background: #f8f9fa;
cursor: pointer;
color: #333;
font-size: 15px;
transition: .2s;

display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
line-height: 1.1;
}

.channel-top {
font-size: 13px;
opacity: .8;
}

.channel-bottom {
font-size: 16px;
font-weight: normal;
}

.channel-single {
font-size: 16px;
}

.channel:hover {
background: #0d6efd;
color: #fff;
border-color: #0d6efd;
}

.channel.active {
background: #0d6efd;
color: #fff;
border-color: #0d6efd;
}

@media (max-width:768px) {

html, body {
height: 100%;
overflow: hidden;
}

body {
align-items: flex-start;
}

.wrapper {
flex-direction: column;
width: 100vw;
height: 100vh;
margin-top: 0;
gap: 0;
overflow: hidden;
}

.video-area {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
flex-shrink: 0;
position: relative;
background: #fff;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

.sidebar {
width: 100%;
flex: 1;
min-height: 0;
background: #fff;
padding: 10px;
overflow-y: auto;
overflow-x: hidden;
border: 1px solid #e5e7eb;
box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

.channel-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}

.channel {
padding: 10px;
font-size: 14px;
}

}
