ui/gamehud.cs.scss
GameHud {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	font-family: PixelFusion;
	color: #4a3b63;   // 深梅紫主墨色(浅色世界里白字会看不见,v0.7.8.36 像素风)
	pointer-events: none;

	// 质量分数:白底描边小面板(参考图左上 SCORE 牌)
	.mass {
		position: absolute;
		left: 28px;
		top: 20px;
		font-size: 38px;
		font-weight: 800;
		color: #4a3b63;
		background-color: rgba( 255, 255, 255, 0.85 );
		border: 3px solid #4a3b63;
		border-radius: 12px;
		padding: 2px 20px;
	}

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

	// buff 状态:白底小牌(种类色由代码上字,浅底衬出对比);技能按钮上方(v0.7.8.74)
	.buff {
		position: absolute;
		right: 30px;
		bottom: 130px;
		font-size: 18px;
		font-weight: 800;
		letter-spacing: 3px;
		text-align: right;
		color: #4a3b63;
		background-color: rgba( 255, 255, 255, 0.85 );
		border: 3px solid #4a3b63;
		border-radius: 10px;
		padding: 3px 14px;
	}

	.tips {
		position: absolute;
		left: 30px;
		bottom: 44px;
		font-size: 15px;
		letter-spacing: 2px;
		color: rgba( 74, 59, 99, 0.62 );
	}

	// 技能按钮(v0.7.8.74 球球大作战手游风):右下角两枚方块钮——大图标 + 冷却暗罩 +
	// 倒数数字 + 键位角标;底图 dobo ItemSlot 九宫格。Q 主技能靠角,E 道具在其左
	.skillq {
		position: absolute;
		right: 30px;
		bottom: 36px;
		width: 76px;
		height: 76px;
		border-image: url( ui/skin/skillslot.png ) 34 fill / 30px stretch;
	}

	.skille {
		position: absolute;
		right: 118px;
		bottom: 36px;
		width: 76px;
		height: 76px;
		border-image: url( ui/skin/skillslot.png ) 34 fill / 30px stretch;
	}

	.skill-icon {
		position: absolute;
		left: 50%;
		top: 50%;
		margin-left: -24px;   // Length center 不可靠:50% + 半宽负 margin 定中(实测坑)
		margin-top: -24px;
		width: 48px;
		height: 48px;
	}

	// 冷却暗罩:挂 HUD 根面板(嵌按钮里定位会乱,v0.7.8.76),Right 代码按按钮右距写;
	// 贴按钮内缘(bottom 41 = 按钮 36 + 内边 5),高度代码驱动——底边固定上缘下沉排空
	.skill-cd {
		position: absolute;
		bottom: 41px;
		width: 66px;
		height: 66px;
		background-color: rgba( 22, 13, 34, 0.68 );
		border-radius: 16px;
	}

	// 充能倒数秒(居中大字,压在 Q 钮正中)。Label 纵向位置由 align-items 决定,不写默认贴底
	.skill-num {
		position: absolute;
		bottom: 41px;
		width: 66px;
		height: 66px;
		font-size: 26px;
		font-weight: 800;
		text-align: center;
		align-items: center;
		color: #fffbe8;
		text-shadow: 0 2px 0 #4a3b63;
	}

	// 键位角标:按钮右下角(Right 代码写)。align-items:flex-end 把字压到盒底
	.skill-key {
		position: absolute;
		bottom: 41px;
		width: 40px;
		height: 20px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 1px;
		text-align: right;
		align-items: flex-end;
		color: rgba( 255, 251, 232, 0.92 );
		text-shadow: 0 2px 0 #4a3b63;
	}

	// 高光横幅:奶白字 + 梅紫硬错位阴影(像素游戏立体字),连杀金字同款加码
	.banner {
		position: absolute;
		left: 0;
		right: 0;
		font-family: PixelFusion;
		font-size: 38px;
		font-weight: 800;
		letter-spacing: 8px;
		text-align: center;
		color: #fffbe8;
		text-shadow: 0 3px 0 #4a3b63, 0 6px 0 rgba( 74, 59, 99, 0.45 );
	}

	.banner.combo {
		font-size: 46px;
		letter-spacing: 12px;
		text-shadow: 0 4px 0 #4a3b63, 0 8px 0 rgba( 74, 59, 99, 0.5 );
	}

	.version {
		position: absolute;
		right: 28px;
		top: 4px;
		font-size: 11px;
		letter-spacing: 2px;
		color: rgba( 74, 59, 99, 0.4 );
	}

	// 排行榜行:白色半透明小药片(浅色世界上可读)
	.row {
		font-family: PixelFusion;
		font-size: 14px;
		letter-spacing: 1px;
		text-align: right;
		color: #4a3b63;
		background-color: rgba( 255, 255, 255, 0.72 );
		border-radius: 6px;
		padding: 1px 8px;
	}

	.row.self {
		font-weight: 700;
		color: #e5488d;
	}

	// 名牌:纯文字(白底小片已去掉,v0.7.8.77 用户定稿),深梅紫在浅色战场上一眼可读
	.nametag {
		font-family: PixelFusion;
		font-size: 13px;
		text-align: center;
		color: #4a3b63;
		text-shadow: 0 1px 0 rgba( 255, 255, 255, 0.8 );
	}

	// 死亡全屏遮罩:黑 45% 透明压暗战场,死亡期间显示、复活即隐(显隐由代码驱动)
	.death-shade {
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		background-color: rgba( 0, 0, 0, 0.45 );
	}

	.death-title {
		position: absolute;
		left: 0;
		right: 0;
		top: 36%;
		font-size: 54px;
		font-weight: 800;
		text-align: center;
		letter-spacing: 8px;
		color: #e5484d;
		text-shadow: 0 4px 0 #4a3b63;
	}

	.death-sub {
		position: absolute;
		left: 0;
		right: 0;
		top: 36%;
		margin-top: 74px;
		font-size: 16px;
		text-align: center;
		letter-spacing: 4px;
		color: rgba( 74, 59, 99, 0.75 );
		pointer-events: all;   // 根面板 none,按钮区单独放开:点击重生(键盘失焦时的兜底通道)
		cursor: pointer;
	}

	// 领土模式复活二选一(M7.2):糖果药丸双按钮(BASE 白 / FRONT 黄,与大厅 START/JOIN 同语言)
	.death-btn {
		position: absolute;
		left: 50%;
		width: 460px;
		height: 74px;
		margin-left: -230px;
		border-radius: 37px;
		background: #ffffff;
		border: 4px solid #4a3b63;
		font-size: 26px;
		font-weight: 700;
		letter-spacing: 6px;
		text-align: center;
		color: #4a3b63;
		pointer-events: all;
		cursor: pointer;
	}

	.death-btn-base {
		top: 600px;
	}

	.death-btn-front {
		top: 692px;
		background: #ffe9a8;
	}

	// ---- 比赛规则 UI(M5):队伍条在上(52px),模式+倒计时在其下(84px,用户定稿)----

	.matchinfo {
		position: absolute;
		left: 0;
		right: 0;
		top: 84px;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 4px;
		text-align: center;
		color: #4a3b63;
	}

	.teamscore {
		top: 52px;   // 位置不动(用户定稿):队伍条在上,模式+倒计时移到它下面
		width: 170px;
		font-size: 15px;
		font-family: PixelFusion;
		letter-spacing: 1px;
		text-align: center;
		color: #4a3b63;
		background-color: rgba( 255, 255, 255, 0.72 );
		border-radius: 6px;
		padding: 1px 4px;
	}

	// ---- 击杀播报(M5"谁吃了谁",左上分数下方)----

	.killfeed {
		width: 480px;
		font-size: 15px;
		font-family: PixelFusion;
		letter-spacing: 1px;
		color: rgba( 74, 59, 99, 0.78 );
		background-color: rgba( 255, 255, 255, 0.7 );
		border-radius: 6px;
		padding: 1px 8px;
	}

	.killfeed.good {
		color: #2e9e4f;
		font-weight: 700;
	}

	.killfeed.bad {
		color: #e5484d;
		font-weight: 700;
	}

	// 领土情境引导(M7.3):底部居中白底小牌,比轮播 tips 更醒目
	.thint {
		position: absolute;
		left: 50%;
		bottom: 130px;
		width: 920px;
		margin-left: -460px;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 2px;
		text-align: center;
		color: #4a3b63;
		background-color: rgba( 255, 255, 255, 0.92 );
		border: 3px solid #4a3b63;
		border-radius: 12px;
		padding: 8px 12px;
	}

	// 领土小地图(M7.3):右上角(版本号下方),右缘锚定(用户窗口逻辑宽≈1800,写死 left 会顶出)
	.tmap {
		position: absolute;
		right: 28px;
		top: 24px;
		width: 292px;
		height: 292px;
		background-color: rgba( 234, 244, 252, 0.9 );
		border: 3px solid #4a3b63;
		border-radius: 10px;
	}

	.tmap-cell {
		position: absolute;
		border: 1px solid rgba( 74, 59, 99, 0.35 );
		border-radius: 5px;
		overflow: hidden;
	}

	.tmap-bar {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 7px;
		background-color: rgba( 74, 59, 99, 0.75 );
	}

	.tmap-self {
		position: absolute;
		width: 16px;
		height: 16px;
		border-radius: 8px;
		background-color: #ffffff;
		border: 3px solid #4a3b63;
	}

	.tmap-mate {
		position: absolute;
		width: 12px;
		height: 12px;
		border-radius: 6px;
		border: 2px solid rgba( 74, 59, 99, 0.7 );
	}
}