.q2ss-widget {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	border: 1px solid var(--q2ss-border-color, #ddd);
	border-radius: 6px;
	padding: 14px 16px;
	max-width: 420px;
	background-color: var(--q2ss-bg-color, #fafafa);
	color: var(--q2ss-font-color, #222222);
	box-sizing: border-box;
}

.q2ss-widget * {
	box-sizing: border-box;
}

.q2ss-title {
	font-weight: 700;
	font-size: 1.05em;
	margin-bottom: 8px;
}

.q2ss-status {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.q2ss-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex: 0 0 auto;
}

.q2ss-dot-online {
	background: #2ecc71;
	box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.2);
}

.q2ss-dot-offline {
	background: #e74c3c;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.2);
}

.q2ss-address {
	color: currentColor;
	opacity: 0.65;
	font-size: 0.85em;
}

.q2ss-error {
	width: 100%;
	color: #b03a2e;
	font-size: 0.85em;
	margin-top: 4px;
}

.q2ss-details,
.q2ss-players {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8px;
	font-size: 0.9em;
}

.q2ss-details th,
.q2ss-players th {
	text-align: left;
	color: currentColor;
	opacity: 0.75;
	font-weight: 600;
	padding: 3px 6px 3px 0;
}

.q2ss-details td,
.q2ss-players td {
	padding: 3px 6px 3px 0;
}

.q2ss-players thead th {
	border-bottom: 1px solid var(--q2ss-border-color, #ddd);
}

.q2ss-refresh-btn {
	background: #2c3e50;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 6px 12px;
	font-size: 0.85em;
	cursor: pointer;
}

.q2ss-refresh-btn:hover {
	background: #1a252f;
}

.q2ss-refresh-btn[disabled] {
	opacity: 0.6;
	cursor: default;
}

.q2ss-notice {
	color: #b03a2e;
	font-size: 0.9em;
}
