#mcp-wrapper {
	--mcp-bg: #0b0c10;
	--mcp-card: #15171e;
	--mcp-elev: #1c1f29;
	--mcp-text: #e0e6ed;
	--mcp-muted: #8a93a2;
	--mcp-accent: #a855f7;
	--mcp-accent-2: #7c3aed;
	--mcp-border: #242837;
	--mcp-radius: 14px;
	background: var(--mcp-bg);
	color: var(--mcp-text);
	padding: 22px;
	border-radius: var(--mcp-radius);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	box-sizing: border-box;
}

#mcp-wrapper *,
#mcp-wrapper *::before,
#mcp-wrapper *::after {
	box-sizing: border-box;
}

#mcp-wrapper button {
	font-family: inherit;
}

/* Reactions */
.mcp-reactions {
	background: linear-gradient(180deg, var(--mcp-elev), var(--mcp-card));
	border: 1px solid var(--mcp-border);
	border-radius: var(--mcp-radius);
	padding: 20px;
	margin-bottom: 20px;
	text-align: center;
}

.mcp-reactions-title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.mcp-reactions-row {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}

.mcp-reaction {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
}

.mcp-reaction-emoji {
	font-size: 30px;
	line-height: 1;
	filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.45));
	transition: transform 0.18s ease, filter 0.18s ease;
}

.mcp-reaction:hover .mcp-reaction-emoji {
	transform: scale(1.28);
	filter: drop-shadow(0 0 14px rgba(255, 215, 0, 0.85));
}

.mcp-reaction-count {
	font-size: 13px;
	font-weight: 600;
	color: var(--mcp-muted);
}

.mcp-reaction.is-active .mcp-reaction-emoji {
	transform: scale(1.18);
	filter: drop-shadow(0 0 14px rgba(168, 85, 247, 0.95));
}

.mcp-reaction.is-active .mcp-reaction-count {
	color: var(--mcp-accent);
}

/* Composer */
.mcp-composer {
	background: var(--mcp-card);
	border: 1px solid var(--mcp-border);
	border-radius: var(--mcp-radius);
	padding: 16px;
	margin-bottom: 20px;
}

.mcp-guest-fields {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.mcp-input {
	flex: 1 1 200px;
	background: var(--mcp-bg);
	border: 1px solid var(--mcp-border);
	border-radius: 10px;
	color: var(--mcp-text);
	padding: 11px 14px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mcp-input::placeholder {
	color: var(--mcp-muted);
}

.mcp-input:focus {
	border-color: var(--mcp-accent);
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18);
}

.mcp-editor {
	position: relative;
}

.mcp-textarea {
	width: 100%;
	background: var(--mcp-bg);
	border: 1px solid var(--mcp-border);
	border-radius: 10px;
	color: var(--mcp-text);
	padding: 13px 14px;
	font-size: 15px;
	resize: vertical;
	min-height: 100px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mcp-textarea::placeholder {
	color: var(--mcp-muted);
}

.mcp-textarea:focus {
	border-color: var(--mcp-accent);
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18);
}

.mcp-toolbar-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.mcp-format-toolbar {
	display: flex;
	gap: 6px;
}

.mcp-fmt {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mcp-elev);
	border: 1px solid var(--mcp-border);
	border-radius: 8px;
	color: var(--mcp-muted);
	font-size: 15px;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.mcp-fmt:hover {
	color: var(--mcp-accent);
	border-color: var(--mcp-accent);
}

.mcp-strike {
	text-decoration: line-through;
}

.mcp-submit-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.mcp-attach {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mcp-elev);
	border: 1px solid var(--mcp-border);
	color: var(--mcp-text);
	border-radius: 10px;
	padding: 9px 14px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.mcp-attach:hover {
	border-color: var(--mcp-accent);
	color: var(--mcp-accent);
}

.mcp-post-btn {
	background: linear-gradient(135deg, var(--mcp-accent), var(--mcp-accent-2));
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(168, 85, 247, 0.35);
	transition: transform 0.1s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.mcp-post-btn:hover {
	box-shadow: 0 8px 24px rgba(168, 85, 247, 0.5);
}

.mcp-post-btn:active {
	transform: translateY(1px);
}

.mcp-post-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.mcp-image-preview {
	position: relative;
	display: inline-block;
	margin-top: 12px;
}

.mcp-image-preview img {
	max-width: 160px;
	max-height: 160px;
	border-radius: 10px;
	border: 1px solid var(--mcp-border);
	display: block;
}

.mcp-image-remove {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 24px;
	height: 24px;
	background: #ef4444;
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.mcp-form-msg {
	margin-top: 10px;
	font-size: 13px;
	color: #f87171;
}

.mcp-form-msg.is-ok {
	color: #34d399;
}

.mcp-guest-hint {
	margin: 10px 0 0;
	font-size: 12px;
	color: var(--mcp-muted);
}

.mcp-guest-hint a {
	color: var(--mcp-accent);
	text-decoration: none;
	font-weight: 600;
}

/* Bar / tabs */
.mcp-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 10px;
}

.mcp-tabs {
	display: flex;
	gap: 6px;
}

.mcp-tab {
	background: transparent;
	border: none;
	color: var(--mcp-muted);
	font-size: 15px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 9px;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.mcp-tab:hover {
	color: var(--mcp-text);
}

.mcp-tab.is-active {
	color: #fff;
	background: linear-gradient(135deg, var(--mcp-accent), var(--mcp-accent-2));
}

.mcp-count {
	color: var(--mcp-muted);
	font-size: 14px;
	font-weight: 600;
}

/* List + cards */
.mcp-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mcp-card {
	display: flex;
	gap: 13px;
	background: var(--mcp-card);
	border: 1px solid var(--mcp-border);
	border-radius: var(--mcp-radius);
	padding: 15px 16px;
	animation: mcp-in 0.25s ease;
}

@keyframes mcp-in {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.mcp-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: block;
	object-fit: cover;
}

.mcp-card-body {
	flex: 1;
	min-width: 0;
}

.mcp-card-head {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}

.mcp-author {
	font-weight: 700;
}

.mcp-time {
	font-size: 12px;
	color: var(--mcp-muted);
}

.mcp-content {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.mcp-content a {
	color: var(--mcp-accent);
}

.mcp-comment-image {
	max-width: 280px;
	max-height: 340px;
	border-radius: 10px;
	margin-top: 10px;
	border: 1px solid var(--mcp-border);
	display: block;
}

.mcp-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 11px;
}

.mcp-vote {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mcp-bg);
	border: 1px solid var(--mcp-border);
	color: var(--mcp-muted);
	border-radius: 20px;
	padding: 5px 13px;
	font-size: 13px;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.mcp-vote:hover {
	color: var(--mcp-text);
	border-color: var(--mcp-accent);
}

.mcp-like.is-active {
	border-color: #34d399;
	color: #34d399;
}

.mcp-dislike.is-active {
	border-color: #f87171;
	color: #f87171;
}

.mcp-delete {
	margin-left: auto;
	background: none;
	border: none;
	color: var(--mcp-muted);
	font-size: 12px;
	cursor: pointer;
	transition: color 0.2s ease;
}

.mcp-delete:hover {
	color: #f87171;
}

/* Spoiler */
.mcp-spoiler {
	background-color: #2a2a2a;
	color: transparent;
	cursor: pointer;
	border-radius: 4px;
	padding: 0 5px;
	filter: blur(0.4px);
	transition: color 0.3s ease, background 0.3s ease, filter 0.3s ease;
	user-select: none;
}

.mcp-spoiler.revealed {
	color: #d1d5db;
	background-color: #20232c;
	filter: none;
	user-select: auto;
}

/* Load more */
.mcp-loadmore-wrap {
	text-align: center;
	margin-top: 18px;
}

.mcp-loadmore {
	background: transparent;
	border: 1px solid var(--mcp-accent);
	color: var(--mcp-accent);
	border-radius: 10px;
	padding: 10px 26px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.mcp-loadmore:hover {
	background: var(--mcp-accent);
	color: #fff;
}

.mcp-status {
	color: var(--mcp-muted);
	font-size: 14px;
	padding: 14px 0;
}

/* Titles */
.mcp-title {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 6px;
	border: 1px solid transparent;
}

.title-rookie {
	color: #9aa3b2;
	border-color: #3a3f4d;
}

.title-elite {
	color: #22d3ee;
	border-color: #22d3ee;
	text-shadow: 0 0 6px rgba(34, 211, 238, 0.7);
	box-shadow: 0 0 6px rgba(34, 211, 238, 0.25);
}

.title-legend {
	color: #c084fc;
	border-color: #a855f7;
	text-shadow: 0 0 8px rgba(168, 85, 247, 0.8);
	box-shadow: 0 0 8px rgba(168, 85, 247, 0.35);
}

.title-mythic {
	border: 1px solid #f59e0b;
	background-image: linear-gradient(90deg, #f59e0b, #ef4444, #f59e0b, #ef4444);
	background-size: 300% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	box-shadow: 0 0 12px rgba(239, 68, 68, 0.5);
	animation: mcp-mythic 4s linear infinite;
}

@keyframes mcp-mythic {
	0%   { background-position: 0% 50%; }
	100% { background-position: 300% 50%; }
}

/* Top 100 rank badges */
.mcp-rank {
	font-size: 10px;
	font-weight: 800;
	padding: 2px 7px;
	border-radius: 6px;
	border: 1px solid transparent;
}

.mcp-rank.rank-1 {
	color: #ffd700;
	border-color: #ffd700;
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.9);
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.55);
}

.mcp-rank.rank-2 {
	color: #cbd5e1;
	border-color: #cbd5e1;
	text-shadow: 0 0 7px rgba(203, 213, 225, 0.8);
	box-shadow: 0 0 8px rgba(203, 213, 225, 0.4);
}

.mcp-rank.rank-3 {
	color: #d97706;
	border-color: #d97706;
	text-shadow: 0 0 7px rgba(217, 119, 6, 0.8);
	box-shadow: 0 0 8px rgba(217, 119, 6, 0.4);
}

.mcp-rank.rank-top10 {
	color: #f472b6;
	border-color: #f472b6;
	text-shadow: 0 0 6px rgba(244, 114, 182, 0.7);
	box-shadow: 0 0 6px rgba(244, 114, 182, 0.3);
}

.mcp-rank.rank-top100 {
	color: #60a5fa;
	border-color: #60a5fa;
	text-shadow: 0 0 6px rgba(96, 165, 250, 0.6);
	box-shadow: 0 0 6px rgba(96, 165, 250, 0.25);
}

@media (max-width: 600px) {
	#mcp-wrapper {
		padding: 14px;
	}
	.mcp-reactions-row {
		gap: 14px;
	}
	.mcp-reaction-emoji {
		font-size: 26px;
	}
	.mcp-submit-row {
		margin-left: 0;
		width: 100%;
		justify-content: space-between;
	}
}
