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

:root {
--theme-color: #0d6efd;
--button-bg: #e9ecef;
}

body {
background: #f5f5f5;
color: #222;
}

.container {
background: #fff;
width: 100%;
max-width: 800px;
margin: auto;
padding-bottom: 10px;
}

/* =====================
PLAYER
===================== */
.player-box {
background: #fff;
margin-bottom: 15px;
border-radius: 0;
overflow: hidden;
box-shadow:
0 2px 8px rgba(0, 0, 0, .12);
}

.player-wrapper {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
background: #000;
overflow: hidden;
}

.player-wrapper video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
background: #000;
}

/* =====================
SERVER BUTTON
===================== */
.server-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
gap: 8px;
padding: 10px;
background: #000;
}

.server-btn {
width: 100%;
border: solid #AEB4BE 1px;
padding: 10px 6px;
border-radius: 4px;
background: #fff;
cursor: pointer;
transition: .2s;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.server-btn:hover {
background: #E8F2FF;
border: solid #E8F2FF 1px;
}

.server-btn.active {
background: #0d6efd;
color: white;
border: solid #fff 1px;
}

/* =====================
TAB
===================== */
.tabs {
display: flex;
gap: 8px;
margin: 15px 10px 0;
width: calc(100% - 20px);
}

.tab {
flex: 1 1 0;
min-width: 0;
padding: 12px 8px;
text-align: center;
font-size: 14px;
background: #fff;
border: solid #F4978E 1px;
border-radius: 4px;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.tab.active {
background: #ff7f50;
color: white;
border: solid #ff7f50 1px;
}

/* =====================
CHANNEL LIST
===================== */
.channel-list {
display: grid;
grid-template-columns:
repeat(2, 1fr);
gap: 10px;
margin: 10px;
}

.channel {
border: 0;
background: #fff;
border: solid #AEB4BE 1px;
padding: 12px;
text-align: center;
cursor: pointer;
border-radius: 4px;
box-shadow:
0 2px 6px rgba(0, 0, 0, .08);
transition: .2s;
}

.channel:hover {
background: #E8F2FF;
border: solid #7CB3FF 1px;
}

.channel.active {
background: #E8F2FF;
color: black;
border: solid #7CB3FF 1px;
}

.channel small {
display: block;
text-align: center;
font-size: 12px;
color: #000;
}

.channel.active small {
color: #000;
}

.channel span {
display: block;
margin-top: 0px;
font-size: 15px;
font-weight: normal;
}

/* =====================
MOBILE
===================== */
@media(max-width:600px) {
.tabs {
gap: 6px;
}

.tab {
padding: 10px 4px;
font-size: 13px;
}

.channel-list {
grid-template-columns:
repeat(2, 1fr);
}

.server-list {
grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
gap: 6px;
}

.server-btn {
padding: 9px 4px;
font-size: 13px;
}
}
