/* 最外层局部作用域：提高选择器优先级以覆盖全局样式 */
.admin-page-root .container{
    /* 不再强制固定宽度，允许在小屏下自适应，但限制最大宽度 */
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
/* 如果外部样式对 img、ul、li 等有全局重置，也在此处限定作用域 */
.admin-page-root img{max-width:100%;height:auto;display:block;}
.admin-page-root .container *{box-sizing: border-box;}

/* 基本布局（仅作用于本页，避免全局样式冲突） */
.admin-page .container{width:760px; max-width:96%;}

.admin-page .profile{display:flex;flex-direction:column;align-items:center;padding:18px 0 12px;}
.admin-page .avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:5px solid #fff;box-shadow:0 4px 18px rgba(0,0,0,0.08);background:#eee;}
.admin-page .avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.admin-page .name{margin-top:5px;font-size:18px;color:#7b7b7b;}
.admin-page .stats{display:flex;justify-content:space-between;width:100%;margin-top:18px;padding:12px 0;border-top:1px solid #efeaea;color:#666;font-size:14px;}
.admin-page .stat-item{flex:1;text-align:center;}
.admin-page .stat-item:not(:last-child){border-right:1px solid #efeaea;}
.admin-page .stat-num{display:block;color:#222;font-weight:600;margin-bottom:6px;}

.admin-page .user{margin-top:10px;background:linear-gradient(#f3fbf1,#eaf7ea);border-radius:12px;padding:14px;box-shadow:0 8px 20px rgba(0,0,0,0.03);overflow:hidden;}
.admin-page .user-header{display:flex;align-items:center;margin-bottom:10px;justify-content:space-between;flex-wrap:nowrap;}
.admin-page .user-header > .left{display:flex;align-items:center;gap:10px;white-space:nowrap;}
.admin-page .badge{width:36px;height:36px;border-radius:6px;background:#ff6b6b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:10px;}
.admin-page .user-title{font-weight:700;color:#2f4b3a;}
.admin-page .visit{flex:0 0 auto;}
.admin-page .visit a{background:#fff;padding:8px 12px;border-radius:8px;color:#e76a5a;text-decoration:none;border:1px solid rgba(231,106,90,0.12);font-weight:600}
.admin-page .visit a:hover{background:#fef6f5}

.admin-page .rank-row{background:#fff;border-radius:6px;padding:10px;margin-top:8px;display:flex;align-items:center;}
.admin-page .rank-num{background:#f05c48;color:#fff;border-radius:4px;padding:4px 8px;margin-right:10px;font-weight:700;}
.admin-page .rank-text{color:#444;}

.admin-page .cloud-wrap{margin-top:14px;background:rgba(255,255,255,0.6);border-radius:8px;padding:14px;min-height:300px;position:relative;overflow:hidden;}
.admin-page .tag{position:absolute;white-space:nowrap;cursor:default;user-select:none;transition:transform .2s ease;}
.admin-page .note{margin-top:12px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,0.6);color:#a1a1a1;text-align:center;font-size:13px;}

/* 小屏适配（限定作用域） */
@media (max-width:460px){ .admin-page .avatar{width:92px;height:92px} .admin-page .name{font-size:18px} .admin-page .container{padding:0 8px} }

/* admin 用户页：移动端优化与横向溢出修复 */

/* 最外层作用域，避免全局样式污染本页 */
.admin-page-root{
	overflow-x: hidden; /* 阻止全局样式造成的横向滚动 */
	box-sizing: border-box;
}

/* 容器调整：在小屏上占满可用宽度并保留左右内边距，避免超出视口 */
.admin-page-root .container.admin-page,
.admin-page .container {
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 auto !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
	box-sizing: border-box;
}

/* 全局图片和内联元素在作用域内不引起溢出 */
.admin-page-root img,
.admin-page-root svg {
	max-width: 100%;
	height: auto;
	display: block;
}

/* 个人信息区适配 */
.admin-page-root .profile{
	padding: 16px 6px 8px !important;
}
.admin-page-root .avatar{
	width: 96px;
	height: 96px;
	border-width: 6px;
}
.admin-page-root .name{
	font-size: 18px;
	margin-top: 10px;
}

/* 统计项在窄屏下换行并收缩 */
.admin-page-root .stats{
	flex-wrap: wrap;
	gap: 6px;
}
.admin-page-root .stat-item{
	min-width: 25%;
	padding: 6px 4px;
	box-sizing: border-box;
}
.admin-page-root .stat-num{font-size:12px;}

/* user 卡片微调 */
.admin-page-root .user{
	padding: 10px !important;
	border-radius: 12px;
	overflow: visible;
}

/* header 行：左侧徽章和标题同一行，右侧按钮不换行 */
.admin-page-root .user-header{flex-wrap:nowrap;}
.admin-page-root .user-header>.left{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.admin-page-root .visit{flex:0 0 auto;}
.admin-page-root .visit a{padding:6px 10px;font-size:14px;}

/* 榜单与词云区域 */
.admin-page-root .rank-row{padding:8px;border-radius:6px;}
.admin-page-root .cloud-wrap{
	min-height: 400px;
	padding: 10px;
	position: relative;
	overflow: hidden; /* 关键：裁剪词云超出部分，避免横向滚动 */
	box-sizing: border-box;
}

/* 词标签适配：控制最大宽度、换行和缩放，避免超出容器 */
.admin-page-root .tag{
	max-width: 80%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none; /* 词云为装饰性元素时禁止事件，避免触发滚动 */
	transform-origin: center center;
}

/* 在非常窄的屏幕缩小字体，防止旋转导致溢出过多 */
@media (max-width: 420px){
	.admin-page-root .avatar{width:80px;height:80px;border-width:5px;}
	.admin-page-root .name{font-size:16px;}
	.admin-page-root .stat-num{font-size:12px;}
	.admin-page-root .cloud-wrap{min-height:160px;padding:8px;}
	.admin-page-root .tag{font-size: 12px !important; max-width: 90%;}
	.admin-page-root .visit a{padding:6px 8px;font-size:13px;}
}

/* 强制允许所有 flex 子项在窄屏下收缩，避免被外部样式的 min-width/white-space 推开视口 */
.admin-page-root,
.admin-page-root * {
	box-sizing: border-box !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

/* 容器：在超小屏上确保基于视口自适应，同时保留桌面 max-width */
.admin-page-root .container{
	width: 100% !important;
	/* 视口左右保留 24px 空隙，避免触边 */
	max-width: calc(100vw - 24px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
	overflow-x: hidden !important;
}

/* 防止外部对 body/html 加了 transform/translate 导致内容偏移 */
html, body {
	max-width: 100vw !important;
	overflow-x: hidden !important;
}

/* 强制让可能的全局 .container display 不影响本页布局 */
.admin-page-root .container.admin-page{
	display: block !important;
}

/* 关键 flex 元素允许收缩，避免长文本或按钮撑开布局 */
.admin-page-root .stats,
.admin-page-root .user-header,
.admin-page-root .rank-row {
	min-width: 0 !important;
}
.admin-page-root .stat-item,
.admin-page-root .user-header > .left,
.admin-page-root .visit {
	min-width: 0 !important;
	flex-shrink: 1 !important;
}

/* 词云：在窄屏下使用流式布局，取消绝对定位，避免随机 left/top 导致超出视口 */
@media (max-width: 520px) {
	.admin-page-root .cloud-wrap{
		/* 采用流式布局，自动换行 */
		position: static !important;
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center;
		justify-content: center;
		min-height: auto !important;
		padding: 8px !important;
	}
	.admin-page-root .tag{
		/* 变为常规 inline-block 标签，避免绝对定位带来的越界 */
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		margin: 6px !important;
		padding: 4px 8px !important;
		white-space: nowrap !important;
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		pointer-events: auto !important;
	}
	/* 让标题行在窄屏换行而不会溢出 */
	.admin-page-root .user-header{
		flex-wrap: wrap !important;
		gap:6px;
	}
	.admin-page-root .user-header>.left{flex: 1 1 auto; min-width:0;}
	.admin-page-root .visit{flex: 0 0 auto;}
}

/* 对中等屏到窄屏进一步限制 tag 最大字体和宽度 */
@media (max-width: 420px) {
	.admin-page-root .tag{font-size:12px !important; padding:3px 6px !important;}
	.admin-page-root .avatar{width:72px !important;height:72px !important;}
	.admin-page-root .name{font-size:15px !important;}
}
