/* 最外层局部作用域：提高选择器优先级以覆盖全局样式 */
.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;}
}

/* 作品介绍与商务合作 profile_page 样式。原先由生成脚本写入每个作者页 head，这里集中维护。 */
.intro{border:none!important;}
.admin-page{
	padding: 6px 0 28px;
}
.admin-page .profile{
	padding-bottom: 18px;
}
.admin-page .user{
	margin-top: 12px;
	padding: 18px;
	border-radius: 18px;
	border: 1px solid #edf3ee;
	background: linear-gradient(180deg, #fcfffc 0%, #f3f8f5 100%);
	box-shadow: 0 12px 34px rgba(34, 55, 40, 0.06);
}
.admin-page .user-header{
	margin-bottom: 14px;
	align-items: flex-start;
}
.admin-page .user-title{
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0.01em;
}
.admin-page .visit a{
	padding: 9px 14px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(231, 106, 90, 0.08);
}
.admin-page .rank-row{
	margin-top: 4px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid #e9eef5;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.admin-page .rank-text{
	line-height: 1.8;
	color: #43515d;
}
.admin-page .section-card{
	margin-top: 16px;
	padding: 18px;
	border-radius: 16px;
	border: 1px solid #edf1f5;
	background: #fff;
	box-shadow: 0 10px 28px rgba(24, 38, 56, 0.05);
}
.admin-page .section-title{
	margin-bottom: 12px;
	font-size: 19px;
	font-weight: 700;
	color: #243b2e;
	letter-spacing: 0.01em;
}
.admin-page .section-desc{
	margin: 0;
	max-width: 64ch;
	font-size: 14px;
	line-height: 1.9;
	color: #49545f;
}
.admin-page .works-grid,
.admin-page .tag-matrix,
.admin-page .biz-grid,
.admin-page .case-grid{
	display: grid;
	gap: 12px;
}
.admin-page .works-grid{
	margin-top: 14px;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.admin-page .work-item{
	padding: 14px;
	border: 1px solid #e6efe7;
	border-radius: 12px;
	background: linear-gradient(180deg, #f9fdf9 0%, #f3faf4 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.admin-page .work-item h4,
.admin-page .biz-card h3,
.admin-page .case-card h3{
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 700;
}
.admin-page .work-item h4{color:#274034;}
.admin-page .work-item p,
.admin-page .biz-card p,
.admin-page .biz-card li,
.admin-page .case-card p{
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
}
.admin-page .work-item p{color:#53615c;}
.admin-page .tag-matrix{
	margin-top: 16px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.admin-page .tag-group{
	padding: 14px;
	border-radius: 12px;
	border: 1px solid #e5efe5;
	background: linear-gradient(180deg, #fcfefc 0%, #f4faf4 100%);
}
.admin-page .tag-group-title{
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	color: #385843;
}
.admin-page .tag-group-items{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.admin-page .tag-pill{
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	border: 1px solid #e3eee4;
	background: #f5fbf5;
	color: #2f4b3a;
}
.admin-page .biz-grid{
	margin-top: 14px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.admin-page .biz-card{
	padding: 14px;
	border-radius: 12px;
	border: 1px solid #eee7d6;
	background: linear-gradient(180deg, #fffdfa 0%, #fff8ee 100%);
}
.admin-page .biz-card h3{color:#7a5312;}
.admin-page .biz-card p,
.admin-page .biz-card li{color:#5a4b35;}
.admin-page .biz-card ul,
.admin-page .biz-card ol,
.admin-page .biz-list{
	padding-left: 18px;
}
.admin-page .biz-card ul,
.admin-page .biz-card ol{margin:0;}
.admin-page .biz-card li + li,
.admin-page .biz-list li + li{margin-top:6px;}
.admin-page .biz-highlight{
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid #f1ddb2;
	background: #fff7e3;
	color: #6d4a0f;
	line-height: 1.9;
}
.admin-page .case-grid{
	margin-top: 14px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.admin-page .case-card{
	padding: 14px;
	border-radius: 12px;
	border: 1px solid #e1ebf4;
	background: linear-gradient(180deg, #fafdff 0%, #f2f8fd 100%);
}
.admin-page .case-meta{
	display: inline-flex;
	margin-bottom: 10px;
	padding: 4px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	color: #2c5f86;
	background: #e8f2fb;
}
.admin-page .case-card h3{color:#244a69;}
.admin-page .case-card p{color:#476176;}
.admin-page .biz-list{
	margin: 14px 0 0;
	color: #4a4a4a;
	line-height: 1.9;
}
.admin-page .biz-actions{
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.admin-page .biz-actions a{
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid #e7d4a5;
	background: #fff8e8;
	color: #8a5a00;
	font-weight: 600;
	text-decoration: none;
}
.admin-page .biz-actions a.secondary{
	border-color: #d7e8d9;
	background: #f1f9f2;
	color: #2f6f3a;
}
.admin-page .relation-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}
.admin-page .relation-block{
	border:1px solid #e8eefb;
	border-radius:12px;
	background:linear-gradient(135deg,#fff,#f8fbff);
	padding:12px;
}
.admin-page .relation-block h3{
	margin:0 0 8px;
	font-size:16px;
	color:#2f3c5a;
	font-weight:800;
}
.admin-page .relation-list{
	display:grid;
	gap:8px;
}
.admin-page .relation-link{
	display:block;
	padding:9px 10px;
	border-radius:10px;
	border:1px solid #edf1fb;
	background:#fff;
	color:#3d78c2;
	text-decoration:none;
	line-height:1.45;
}
.admin-page .relation-link strong{
	display:block;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	color:#2f3c5a;
	font-size:14px;
}
.admin-page .relation-link span{
	display:block;
	margin-top:3px;
	color:#7b88a8;
	font-size:12px;
}
.admin-page .note{
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px dashed #dde4ea;
	background: rgba(255,255,255,0.72);
	color: #8a9198;
	text-align: center;
	font-size: 13px;
}
@media (max-width: 520px){
	.admin-page .user{padding:14px;border-radius:14px;}
	.admin-page .section-card{padding:14px;border-radius:14px;}
	.admin-page .relation-grid{grid-template-columns:1fr;}
	.admin-page .section-title{font-size:16px;}
	.admin-page .user-title{font-size:18px;}
	.admin-page .rank-row{padding:12px;}
}
