ui/mainmenu.cs.scss
MainMenu {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	font-family: PixelFusion;
	color: #4a3b63;
	pointer-events: all;   // ⚠️ 只认 auto/none/all:写 normal 非法被忽略(面板默认 None=鼠标全死)

	// 官方项目手法:flex 列 + align-items 居中(任意分辨率水平居中)。
	// ⚠️ s&box 默认 flex-direction 是 row——不显式写 column 的话子元素全部横排(实测)
	flex-direction: column;
	align-items: center;

	// ---- 左上:玩家资料卡(头像 / 名字 / 等级) ----
	.profile {
		position: absolute;
		left: 20px;
		top: 16px;
	}

	.profile-avatar {
		width: 72px;
		height: 72px;
		border: 3px solid #4a3b63;
		border-radius: 12px;
		background-color: rgba( 255, 255, 255, 0.75 );
	}

	.profile-info {
		position: absolute;
		left: 84px;
		top: 0;
		bottom: 0;
		flex-direction: column;   // ⚠️ 默认 row:名字和等级会挤成一行
		justify-content: center;   // 垂直居中于头像高度
	}

	.profile-name {
		font-size: 20px;
		font-weight: 100;
		letter-spacing: 1px;
		color: #4a3b63;
		text-shadow: 0 2px 0 rgba( 255, 255, 255, 0.9 );
	}

	.profile-level {
		margin-top: 6px;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 2px;
		color: #d98a00;
	}

	// ---- 右上:设置 / 排行榜(图标小按钮,横排) ----
	.top-actions {
		position: absolute;
		right: 40px;
		top: 40px;
		flex-direction: row;
	}

	.icon-btn {
		width: 100px;
		align-items: center;      // 图标水平居中
		justify-content: center;  // 图标垂直居中
		height: 100px;
		margin-left: 24px;   // 两颗按钮拉开间距,别糊成一团
		border-image: url( ui/skin/slot.png ) 30 fill / 10px stretch;
		cursor: pointer;
		pointer-events: all;
	}

	.icon-btn:hover {
		border-image-tint: #ffd6e8;
	}

	.icon-btn-img {
		// ⚠️ 别写 position/left/top——.icon-btn 没有 position 时百分比解析到 .top-actions 容器,
		// 两颗图标会叠到容器正中。居中由 .icon-btn 的 align/justify-center 完成,这里只管尺寸
		width: 50px;
		height: 50px;
	}

	// ---- 中央大 logo ----
	.title {
		width: 100%;
		margin-top: 150px;
		font-size: 196px;
		font-weight: 800;
		letter-spacing: 8px;
		color: #f272a7;   // 糖果粉 logo
		text-shadow: 0 6px 0 #4a3b63, 0 11px 0 rgba( 74, 59, 99, 0.35 );
		text-align: center;
	}

	// 副标题已按需求移除(v0.7.8.44)

	// ---- 三个主按钮横排(参考手游布局;粉 / 蓝 / 橙) ----
	.menu-row {
		margin-top: 400px;
		flex-direction: row;
		align-items: center;
	}

	.menu-row .btn {
		width: 250px;
		height: 64px;
		margin-top: 10px;
		margin-left: 30px;
		font-size: 25px;
		font-weight: 300;
		letter-spacing: 5px;
		color: #4a3b63;
		padding-top: 8px;
		text-align: center;
		border-image: url( ui/skin/btn_white.png ) 52 fill / 26px stretch;
		cursor: pointer;
		pointer-events: all;
	}

	.menu-row .btn.host { margin-left: 0; border-image-tint: #ffb9d0; }   // 粉=建服
	.menu-row .btn.join { border-image-tint: #b8d9ff; }                   // 蓝=加入
	.menu-row .btn.bots { border-image-tint: #ffcf9e; }                   // 橙=人机

	.menu-row .btn:hover {
		border-image-tint: #ffffff;
		color: #e5487e;
	}

	// ---- 角落固定件 ----
	.status {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 52px;
		font-size: 120px;
		letter-spacing: 2px;
		color: #d98a00;
		text-align: center;
	}

	.version {
		position: absolute;
		right: 20px;
		bottom: 14px;
		font-size: 12px;
		letter-spacing: 2px;
		color: rgba( 74, 59, 99, 0.4 );
	}

	.hint {
		position: absolute;
		left: 30px;
		bottom: 14px;
		font-size: 12px;
		letter-spacing: 2px;
		color: rgba( 74, 59, 99, 0.5 );
	}
}