.dsw-widget {
	--dsw-bg: #1e1f22;
	--dsw-bg-secondary: #2b2d31;
	--dsw-text: #f2f3f5;
	--dsw-text-muted: #b5bac1;
	--dsw-border: #3a3c41;
	--dsw-online: #23a55a;
	--dsw-idle: #f0b232;
	--dsw-dnd: #f23f43;
	--dsw-offline: #80848e;

	max-width: 340px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	background: var(--dsw-bg);
	color: var(--dsw-text);
	border: 1px solid var(--dsw-border);
	border-radius: 12px;
	padding: 16px;
	box-sizing: border-box;
}

.dsw-widget.dsw-theme-light {
	--dsw-bg: #ffffff;
	--dsw-bg-secondary: #f2f3f5;
	--dsw-text: #060607;
	--dsw-text-muted: #5c5e66;
	--dsw-border: #e3e5e8;
}

.dsw-loading,
.dsw-error {
	font-size: 14px;
	color: var(--dsw-text-muted);
}

.dsw-top {
	display: flex;
	align-items: center;
	gap: 12px;
}

.dsw-avatar-wrap {
	position: relative;
	flex-shrink: 0;
}

.dsw-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: block;
	object-fit: cover;
}

.dsw-status-dot {
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 3px solid var(--dsw-bg);
	background: var(--dsw-offline);
}

.dsw-status-dot.online { background: var(--dsw-online); }
.dsw-status-dot.idle { background: var(--dsw-idle); }
.dsw-status-dot.dnd { background: var(--dsw-dnd); }
.dsw-status-dot.offline { background: var(--dsw-offline); }

.dsw-name-block {
	min-width: 0;
}

.dsw-username {
	font-weight: 600;
	font-size: 16px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dsw-status-label {
	font-size: 13px;
	color: var(--dsw-text-muted);
	text-transform: capitalize;
}

.dsw-custom-status {
	margin-top: 10px;
	font-size: 14px;
	color: var(--dsw-text);
	display: flex;
	align-items: center;
	gap: 6px;
}

.dsw-activity,
.dsw-spotify {
	margin-top: 12px;
	padding: 10px;
	background: var(--dsw-bg-secondary);
	border-radius: 8px;
	display: flex;
	gap: 10px;
	align-items: center;
}

.dsw-activity-art,
.dsw-spotify-art {
	width: 40px;
	height: 40px;
	border-radius: 6px;
	object-fit: cover;
	flex-shrink: 0;
}

.dsw-activity-details,
.dsw-spotify-details {
	min-width: 0;
	font-size: 13px;
	line-height: 1.4;
}

.dsw-activity-name,
.dsw-spotify-song {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dsw-activity-detail,
.dsw-spotify-artist {
	color: var(--dsw-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dsw-eq {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	height: 12px;
	margin-right: 4px;
}

.dsw-eq span {
	width: 3px;
	background: var(--dsw-online);
	animation: dsw-eq-bounce 1s ease-in-out infinite;
}

.dsw-eq span:nth-child(1) { height: 40%; animation-delay: 0s; }
.dsw-eq span:nth-child(2) { height: 100%; animation-delay: 0.2s; }
.dsw-eq span:nth-child(3) { height: 60%; animation-delay: 0.4s; }

@keyframes dsw-eq-bounce {
	0%, 100% { transform: scaleY(0.4); }
	50% { transform: scaleY(1); }
}
