/* 个性化学习 / 作业诊断助手 */
.lx-ll {
	--ll-text: #e2e8f0;
	--ll-muted: #94a3b8;
	--ll-line: rgba(52, 211, 153, 0.22);
	--ll-card: rgba(12, 18, 32, 0.92);
	--ll-green: #34d399;
	--ll-cyan: #38bdf8;
	--ll-gold: #fbbf24;
	--ll-purple: #a78bfa;
	--ll-pink: #f472b6;
	max-width: 1180px;
	margin: 0 auto 48px;
	padding: 12px 14px 40px;
	color: var(--ll-text);
	font-size: 14px;
	line-height: 1.55;
}
.lx-ll__hero {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 24px;
	margin-bottom: 14px;
	border-radius: 16px;
	border: 1px solid var(--ll-line);
	background:
		radial-gradient(ellipse 70% 120% at 0% 0%, rgba(52, 211, 153, 0.14), transparent 55%),
		radial-gradient(ellipse 50% 80% at 100% 20%, rgba(167, 139, 250, 0.1), transparent 50%),
		linear-gradient(135deg, #0b1220, #070b14);
}
.lx-ll__kicker {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #6ee7b7;
	text-transform: uppercase;
}
.lx-ll__hero h1 {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 900;
}
.lx-ll__sub {
	margin: 0;
	max-width: 680px;
	color: var(--ll-muted);
	font-size: 13.5px;
	line-height: 1.65;
}
.lx-ll__sub strong { color: var(--ll-gold); }
.lx-ll__hero-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
}
.lx-ll__badge {
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid rgba(52, 211, 153, 0.35);
	background: rgba(52, 211, 153, 0.12);
	font-size: 12px;
	font-weight: 700;
	color: #a7f3d0;
}
.lx-ll__badge--dim {
	border-color: rgba(148, 163, 184, 0.25);
	background: rgba(15, 23, 42, 0.6);
	color: #94a3b8;
}
.lx-ll__grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 14px;
	align-items: start;
}
@media (max-width: 900px) {
	.lx-ll__grid { grid-template-columns: 1fr; }
}
.lx-ll__card {
	padding: 16px 18px;
	border-radius: 14px;
	border: 1px solid rgba(148, 163, 184, 0.16);
	background: var(--ll-card);
}
.lx-ll__editor label {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ll-muted);
}
.lx-ll__editor input,
.lx-ll__editor select,
.lx-ll__editor textarea {
	width: 100%;
	margin-top: 4px;
	padding: 9px 11px;
	border-radius: 8px;
	border: 1px solid rgba(148, 163, 184, 0.25);
	background: rgba(2, 6, 23, 0.6);
	color: #e2e8f0;
	font-size: 13px;
	font-family: inherit;
	box-sizing: border-box;
}
.lx-ll__editor textarea { resize: vertical; min-height: 200px; line-height: 1.6; }
.lx-ll__row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
@media (max-width: 560px) {
	.lx-ll__row2 { grid-template-columns: 1fr; }
}
.lx-ll__opts {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 8px 0 12px;
}
.lx-ll__check {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 13px !important;
	color: #cbd5e1 !important;
	font-weight: 600 !important;
	margin: 0 !important;
}
.lx-ll__check input { width: auto !important; margin: 0 !important; }
.lx-ll__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lx-ll-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border-radius: 10px;
	border: 1px solid rgba(148, 163, 184, 0.28);
	background: rgba(15, 23, 42, 0.75);
	color: #e2e8f0;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.lx-ll-btn:hover { border-color: rgba(52, 211, 153, 0.45); }
.lx-ll-btn--primary {
	border-color: rgba(52, 211, 153, 0.5);
	background: linear-gradient(135deg, rgba(52, 211, 153, 0.28), rgba(56, 189, 248, 0.12));
	color: #d1fae5;
}
.lx-ll-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.lx-ll__status {
	margin: 10px 0 0;
	font-size: 13px;
}
.lx-ll__status.is-busy { color: #7dd3fc; }
.lx-ll__status.is-ok { color: #6ee7b7; }
.lx-ll__status.is-err { color: #fca5a5; }
.lx-ll__muted { color: var(--ll-muted); font-size: 13px; line-height: 1.6; }

.lx-ll-badge-free {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(251, 191, 36, 0.15);
	border: 1px solid rgba(251, 191, 36, 0.35);
	color: #fcd34d;
	font-size: 11px;
	font-weight: 800;
	margin-bottom: 10px;
}
.lx-ll-score-hero {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 14px;
	padding: 14px;
	border-radius: 12px;
	border: 1px solid rgba(52, 211, 153, 0.25);
	background: rgba(15, 23, 42, 0.7);
}
.lx-ll-score-num {
	font-size: 42px;
	font-weight: 900;
	color: var(--ll-green);
	line-height: 1;
}
.lx-ll-score-num small {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--ll-muted);
	margin-top: 4px;
}
.lx-ll-verdict {
	font-size: 16px;
	font-weight: 800;
	color: #fde68a;
}
.lx-ll-radar-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-bottom: 14px;
}
.lx-ll-radar { flex: 0 0 auto; max-width: 100%; }
.lx-ll-dim-list {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1 1 160px;
}
.lx-ll-dim-list li {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 8px;
	padding: 5px 0;
	border-bottom: 1px solid rgba(148, 163, 184, 0.1);
	font-size: 12.5px;
}
.lx-ll-dim-list b { color: var(--ll-cyan); font-weight: 800; }
.lx-ll-dim-list em { color: var(--ll-muted); font-style: normal; font-size: 11px; }
.lx-ll-sec {
	margin-bottom: 14px;
	padding-top: 10px;
	border-top: 1px solid rgba(148, 163, 184, 0.12);
}
.lx-ll-sec h3 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 800;
	color: #6ee7b7;
}
.lx-ll-sec ul {
	margin: 0;
	padding-left: 18px;
	color: #cbd5e1;
	font-size: 13px;
	line-height: 1.65;
}
.lx-ll-regime {
	padding: 12px 14px;
	border-radius: 10px;
	background: rgba(2, 6, 23, 0.55);
	border: 1px solid rgba(167, 139, 250, 0.25);
}
.lx-ll-regime strong {
	display: block;
	font-size: 15px;
	color: #ddd6fe;
	margin-bottom: 6px;
}
.lx-ll-th {
	display: inline-block;
	margin-top: 8px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(56, 189, 248, 0.12);
	border: 1px solid rgba(56, 189, 248, 0.3);
	color: #7dd3fc;
	font-size: 12px;
	font-weight: 800;
}
.lx-ll-err-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 12.5px;
}
.lx-ll-err-bar .bar {
	flex: 1;
	height: 8px;
	border-radius: 4px;
	background: rgba(148, 163, 184, 0.15);
	overflow: hidden;
}
.lx-ll-err-bar .bar i {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #34d399, #38bdf8);
	border-radius: 4px;
}
.lx-ll-err-bar b { min-width: 36px; text-align: right; color: var(--ll-cyan); }
.lx-ll-kp {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.lx-ll-kp span {
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	border: 1px solid rgba(148, 163, 184, 0.2);
	background: rgba(15, 23, 42, 0.6);
}
.lx-ll-kp .weak {
	border-color: rgba(248, 113, 113, 0.4);
	color: #fca5a5;
	background: rgba(248, 113, 113, 0.1);
}
.lx-ll-kp .ok {
	border-color: rgba(52, 211, 153, 0.4);
	color: #6ee7b7;
	background: rgba(52, 211, 153, 0.1);
}
.lx-ll-kp .mid {
	border-color: rgba(251, 191, 36, 0.35);
	color: #fcd34d;
}
.lx-ll-step {
	padding: 12px;
	margin-bottom: 10px;
	border-radius: 10px;
	border: 1px solid rgba(148, 163, 184, 0.14);
	background: rgba(2, 6, 23, 0.5);
}
.lx-ll-step__h {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.lx-ll-step__h strong { font-size: 13.5px; color: #a5f3fc; }
.lx-ll-step__phase {
	font-size: 11px;
	font-weight: 800;
	color: #c4b5fd;
	letter-spacing: 0.04em;
}
.lx-ll-step .diff {
	font-size: 11px;
	font-weight: 700;
	color: var(--ll-gold);
}
.lx-ll-step ul { margin: 6px 0; padding-left: 18px; font-size: 12.5px; color: #cbd5e1; }
.lx-ll-step .why { margin: 0; font-size: 12px; color: var(--ll-muted); }
.lx-ll-micro {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
}
.lx-ll-micro div {
	padding: 10px;
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.65);
	border: 1px solid rgba(52, 211, 153, 0.18);
	font-size: 12.5px;
}
.lx-ll-micro b { display: block; color: var(--ll-green); margin-bottom: 4px; }
.lx-ll-disc {
	margin: 12px 0 0;
	font-size: 11.5px;
	color: #64748b;
}
.lx-ll-llm {
	padding: 12px;
	border-radius: 10px;
	background: rgba(167, 139, 250, 0.08);
	border: 1px solid rgba(167, 139, 250, 0.25);
	font-size: 13px;
	line-height: 1.65;
	white-space: pre-wrap;
}
