/* (1.19.0 ب10) لوحة الرصد الأمامية [eduframe_board] — ألوان الهوية فقط،
   يُحمَّل هذا الملف فقط في الصفحات الحاوية للشورتكود (حارس has_shortcode). */

.efb-wrap {
	max-width: 1100px;
	margin: 18px auto;
	font-size: 15px;
	line-height: 1.7;
	color: #15445A;
}

.efb-wrap *,
.efb-wrap *::before,
.efb-wrap *::after {
	box-sizing: border-box;
}

/* رسالة الحجب — لا بيانات معها إطلاقًا */
.efb-denied {
	max-width: 640px;
	margin: 18px auto;
	padding: 14px 18px;
	background: #fff;
	border: 1px solid #C2C1C1;
	border-inline-start: 4px solid #15445A;
	border-radius: 10px;
	color: #15445A;
	font-weight: 700;
}

/* شريط التصفية/اختيار النشاط */
.efb-filter {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	background: rgba(61, 126, 185, 0.06);
	border: 1px solid #C2C1C1;
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 14px;
}
.efb-filter select {
	padding: 5px 8px;
	border: 1px solid #C2C1C1;
	border-radius: 8px;
	background: #fff;
	color: #15445A;
	max-width: 260px;
}

.efb-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 14px;
	border: 1px solid #3D7EB9;
	border-radius: 8px;
	background: #fff;
	color: #3D7EB9;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease;
}
.efb-btn-ghost:hover {
	background: rgba(61, 126, 185, 0.10);
}

.efb-empty {
	padding: 14px 18px;
	background: #fff;
	border: 1px dashed #C2C1C1;
	border-radius: 10px;
	color: #15445A;
}

/* صندوق الملخص */
.efb-summary {
	display: flex;
	align-items: center;
	gap: 26px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid #C2C1C1;
	border-inline-start: 4px solid #3D7EB9;
	border-radius: 10px;
	padding: 12px 20px;
	margin: 0 0 12px;
	box-shadow: 0 1px 3px rgba(21, 68, 90, 0.08);
}
.efb-summary .efb-sum-item {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	font-size: 14px;
	font-weight: 700;
	color: #15445A;
}
.efb-summary .efb-sum-emoji { font-size: 17px; }
.efb-summary .efb-sum-n {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	direction: ltr;
}
.efb-summary .efb-sum-pos .efb-sum-n { color: #07A869; }
.efb-summary .efb-sum-neg .efb-sum-n { color: #15445A; }
.efb-summary .efb-sum-net .efb-sum-n { color: #3D7EB9; }
.efb-summary .efb-sum-count { margin-inline-start: auto; color: #C2C1C1; }
.efb-summary .efb-sum-count .efb-sum-n { color: #15445A; font-size: 22px; }

/* شريط المنح الجماعي */
.efb-batch {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	background: rgba(61, 126, 185, 0.06);
	border: 1px dashed #3D7EB9;
	border-radius: 10px;
	padding: 10px 14px;
	margin: 0 0 4px;
	transition: box-shadow 0.2s ease;
}
.efb-batch.efb-err {
	border-style: solid;
	box-shadow: 0 0 0 2px #15445A;
}
.efb-batch .efb-batch-label {
	font-size: 14px;
	font-weight: 700;
	color: #15445A;
	margin-inline-end: 6px;
}
.efb-batch .efb-batch-label small {
	display: block;
	font-weight: 400;
	font-size: 11px;
	color: #C2C1C1;
}
.efb-batch .efb-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 10px;
	border: 1px solid #C2C1C1;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	font-size: 12px;
	line-height: 1;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.efb-batch .efb-btn .efb-emoji { font-size: 15px; }
.efb-batch .efb-btn .efb-cap { color: #15445A; }
.efb-batch .efb-btn.efb-plus:hover {
	background: rgba(7, 168, 105, 0.10);
	border-color: #07A869;
}
.efb-batch .efb-btn.efb-minus:hover {
	background: rgba(193, 180, 138, 0.20);
	border-color: #C1B48A;
}
.efb-batch .efb-btn.efb-busy {
	opacity: 0.55;
	cursor: wait;
}

/* شريط التحديد */
.efb-selbar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 10px;
}
.efb-selbar .efb-sel-count {
	font-size: 13px;
	color: #15445A;
}

/* شبكة البطاقات */
.efb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}
.efb-card {
	position: relative;
	background: #fff;
	border: 1px solid #C2C1C1;
	border-top: 4px solid #3D7EB9;
	border-radius: 10px;
	padding: 14px 14px 12px;
	box-shadow: 0 1px 3px rgba(21, 68, 90, 0.08);
	transition: box-shadow 0.2s ease;
}
.efb-card.efb-err {
	box-shadow: 0 0 0 2px #15445A;
}
.efb-card .efb-head {
	display: flex;
	align-items: center;
	gap: 10px;
}
.efb-card .efb-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	flex-shrink: 0;
}
.efb-card .efb-name {
	font-size: 17px;
	font-weight: 700;
	color: #15445A;
	line-height: 1.4;
}
.efb-card .efb-level {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #C2C1C1;
}
.efb-card .efb-total {
	margin-inline-start: auto;
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
	direction: ltr;
}
.efb-card .efb-total.efb-pos { color: #07A869; }
.efb-card .efb-total.efb-neg { color: #15445A; }
.efb-card .efb-total.efb-zero { color: #C2C1C1; }
.efb-card .efb-counts {
	display: flex;
	gap: 14px;
	margin: 12px 0 4px;
	font-size: 16px;
	font-weight: 700;
}
.efb-card .efb-counts .efb-pos-n { color: #07A869; }
.efb-card .efb-counts .efb-neg-n { color: #15445A; }

/* أزرار المنح الستة — مخفية حتى hover (مكتبي) أو .is-open (نقرة/جوال) */
.efb-card .efb-actions {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	margin-top: 0;
	transition: max-height 0.25s ease, opacity 0.2s ease, margin-top 0.25s ease;
}
.efb-card:hover .efb-actions,
.efb-card.efb-selected .efb-actions,
.efb-card.is-open .efb-actions {
	max-height: 1000px;
	opacity: 1;
	margin-top: 10px;
}
.efb-card .efb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 6px 4px;
	border: 1px solid #C2C1C1;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	font-size: 12px;
	line-height: 1;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.efb-card .efb-btn .efb-emoji { font-size: 15px; }
.efb-card .efb-btn .efb-cap { color: #15445A; }
.efb-card .efb-btn.efb-plus:hover {
	background: rgba(7, 168, 105, 0.10);
	border-color: #07A869;
}
.efb-card .efb-btn.efb-minus:hover {
	background: rgba(193, 180, 138, 0.20);
	border-color: #C1B48A;
}
.efb-card .efb-btn:active {
	transform: scale(0.96);
}

/* مربع التحديد على البطاقة */
.efb-card .efb-sel {
	position: absolute;
	inset-inline-end: 8px;
	top: 8px;
	margin: 0;
	cursor: pointer;
	z-index: 2;
}
.efb-card .efb-sel-cb {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #3D7EB9;
	cursor: pointer;
}
.efb-card.efb-selected {
	border-color: #3D7EB9;
	box-shadow: 0 0 0 2px rgba(61, 126, 185, 0.25);
}

/* جدول رصد الدرجات */
.efb-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #C2C1C1;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(21, 68, 90, 0.08);
}
.efb-table th,
.efb-table td {
	padding: 8px 12px;
	border-bottom: 1px solid rgba(194, 193, 193, 0.45);
	text-align: start;
}
.efb-table thead th {
	background: rgba(61, 126, 185, 0.08);
	color: #15445A;
	font-weight: 700;
}
.efb-table tbody tr:nth-child(even) {
	background: rgba(194, 193, 193, 0.10);
}
.efb-table .efb-grade {
	width: 150px;
	max-width: 100%;
	padding: 5px 8px;
	border: 1px solid #C2C1C1;
	border-radius: 8px;
	color: #15445A;
}
.efb-table .efb-grade:focus {
	border-color: #3D7EB9;
	outline: none;
	box-shadow: 0 0 0 2px rgba(61, 126, 185, 0.20);
}
.efb-table .efb-status small { color: #07A869; font-weight: 700; }
.efb-table .efb-status.efb-err small { color: #15445A; }

.efb-hint {
	font-size: 12px;
	color: #15445A;
	opacity: 0.75;
}

@media (max-width: 600px) {
	.efb-grid { grid-template-columns: 1fr 1fr; }
	.efb-summary { gap: 14px; }
	.efb-table .efb-grade { width: 110px; }
}

/* ترقيم لوحة الرصد (1.20.4) */
.efb-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 20px;
	flex-wrap: wrap;
}

.efb-pagination-info {
	font-size: 14px;
	color: #15445A;
}

/* ═══ (1.27.1) شريط الأوضاع + التحضير + أدوات الفصل في اللوحة الأمامية ═══ */
.efb-modes { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 14px; }
.efb-mode { padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(194,193,193,.55); background: #fff; color: #3D7EB9; font-weight: 700; text-decoration: none; font-size: 14px; }
.efb-mode.is-active { background: #3D7EB9; color: #fff; border-color: #3D7EB9; }
.efb-mode:hover:not(.is-active) { background: rgba(61,126,185,.08); }
.efb-notice { padding: 10px 14px; border-radius: 10px; background: rgba(7,168,105,.1); color: #07A869; font-weight: 700; }
.efb-muted { color: #787C82; font-size: 13px; }
.efb-num { width: 64px; padding: 6px 8px; border: 1px solid rgba(194,193,193,.55); border-radius: 8px; font: inherit; text-align: center; }
.efb-btn-big { font-size: 18px; padding: 12px 28px; }
/* التحضير */
.efb-att-counts { font-weight: 700; color: #15445A; margin-inline-start: auto; }
.efb-att-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; margin: 10px 0; }
.efb-att-row { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; align-items: center; padding: 10px 14px; border: 1px solid rgba(194,193,193,.55); border-radius: 12px; background: #fff; border-inline-start-width: 5px; }
.efb-att-row[data-status="present"] { border-inline-start-color: #07A869; }
.efb-att-row[data-status="absent"]  { border-inline-start-color: #C2452D; background: rgba(194,69,45,.04); }
.efb-att-row[data-status="late"]    { border-inline-start-color: #C1B48A; }
.efb-att-row[data-status="excused"] { border-inline-start-color: #787C82; }
.efb-att-name { font-weight: 700; color: #15445A; }
.efb-att-btns { display: flex; gap: 4px; }
.efb-att-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.efb-att-opt span { display: inline-block; width: 40px; height: 38px; line-height: 38px; text-align: center; border: 1px solid rgba(194,193,193,.55); border-radius: 10px; cursor: pointer; font-size: 18px; background: #fff; }
.efb-att-opt input:checked + span { border-color: #3D7EB9; background: rgba(61,126,185,.08); box-shadow: 0 0 0 2px #3D7EB9; }
.efb-att-note { grid-column: 1 / -1; font: inherit; font-size: 13px; padding: 5px 10px; border: 1px solid rgba(194,193,193,.55); border-radius: 8px; }
/* الأدوات — نفس مظهر لوحة التحكم بألوان الهوية */
.efb-tools { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 12px; } /* (1.42.1) عمود واحد: العشوائيّ يكبر */
.efb-tools .eduframe-tool { background: #fff; border: 1px solid rgba(194,193,193,.55); border-radius: 14px; padding: 18px 22px; text-align: center; }
.efb-tools .eduframe-tool-wide { grid-column: 1 / -1; text-align: start; }
.efb-tools .eduframe-tool h2 { margin: 0 0 10px; font-size: 17px; color: #15445A; }
.efb-tools .eduframe-tool-pick { font-size: 44px; font-weight: 800; color: #3D7EB9; min-height: 70px; line-height: 70px; transition: transform .2s; }
.efb-tools .eduframe-tool-pick.is-final { transform: scale(1.15); color: #07A869; }
.efb-tools .eduframe-tool-timer { font-size: 72px; font-weight: 800; color: #15445A; font-variant-numeric: tabular-nums; letter-spacing: 2px; }
.efb-tools .eduframe-tool-timer.is-low { color: #C2452D; }
.efb-tools .eduframe-tool-timer.is-done { color: #07A869; animation: efbblink 1s 3; }
@keyframes efbblink { 50% { opacity: .2; } }
.efb-tools .eduframe-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 10px; }
.efb-tools .eduframe-group { border: 2px solid hsl(var(--g), 55%, 55%); border-radius: 12px; padding: 10px 14px; background: hsl(var(--g), 60%, 97%); }
.efb-tools .eduframe-group h3 { margin: 0 0 6px; font-size: 14px; color: hsl(var(--g), 50%, 40%); }
.efb-tools .eduframe-group ul { margin: 0; padding-inline-start: 18px; font-size: 14px; line-height: 1.9; }
@media (max-width: 782px) { .efb-tools { grid-template-columns: 1fr; } .efb-att-counts { margin-inline-start: 0; } }
/* (1.28.2) شريط المهارات تحت الطالب المختار */
.efb-tools .eduframe-pick-skills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0 6px}
.efb-tools .eduframe-pick-skill{font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;border:2px solid var(--ep-skill,#07A869);color:var(--ep-skill,#07A869);background:#fff;cursor:pointer}
.efb-tools .eduframe-pick-skill.is-neg{--ep-skill:#C2452D}
.efb-tools .eduframe-pick-skill:hover{background:var(--ep-skill,#07A869);color:#fff}
.efb-tools .eduframe-pick-skill small{opacity:.7;font-weight:400}
.efb-tools .eduframe-pick-feedback{flex-basis:100%;font-size:13px;color:#07A869;font-weight:700;min-height:1.4em}
/* (1.28.3) عدد الطلاب */
.efb-count { margin: 0 0 10px; font-weight: 700; color: #15445A; }

/* (1.33.0) الغائب اليوم في اللوحة */
.efb-card.is-absent { opacity: .55; background: repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(21,68,90,.05) 6px, rgba(21,68,90,.05) 12px); }
.efb-absent-badge { display: inline-block; font-size: 11px; font-weight: 700; color: #C2452D; border: 1px solid #C2452D; border-radius: 999px; padding: 1px 8px; margin-inline-start: 6px; }
.ep-absent-note { margin: 6px 0; padding: 8px 12px; border-radius: 10px; background: rgba(21,68,90,.05); color: #15445A; font-weight: 700; font-size: 13px; }

/* (1.33.1) مذكّراتي في اللوحة + رسالة الدخول */
.efb-denied { text-align: center; padding: 24px; }
.efb-denied p { margin: 0 0 12px; }
.efb-memo-form { background: #fff; border: 1px solid rgba(194,193,193,.55); border-radius: 14px; padding: 12px 16px; margin: 10px 0; }
.efb-memo-form textarea { width: 100%; font: inherit; padding: 8px 12px; border: 1px solid rgba(194,193,193,.55); border-radius: 10px; margin-bottom: 8px; box-sizing: border-box; }
.efb-memo-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.efb-memo-meta select { font: inherit; padding: 6px 10px; border: 1px solid rgba(194,193,193,.55); border-radius: 8px; }
.efb-memo-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.efb-memo-list .eduframe-memo { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: start; padding: 10px 14px; border-radius: 12px; background: #fff; border: 1px solid rgba(194,193,193,.55); border-inline-start: 4px solid #C1B48A; }
.efb-memo-list .eduframe-memo.is-done { opacity: .55; border-inline-start-color: #07A869; }
.efb-memo-list .is-done .memo-text { text-decoration: line-through; }
.efb-memo-list .memo-toggle { font-size: 18px; text-decoration: none; color: #15445A; }
.efb-memo-list .memo-text { color: #15445A; line-height: 1.7; }
.efb-memo-list .memo-tags { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: #5A7A8B; align-items: center; }
.efb-memo-list .memo-tag { background: rgba(21,68,90,.05); padding: 1px 8px; border-radius: 999px; }
.efb-memo-list .memo-del { color: #C2452D; text-decoration: none; font-weight: 700; padding: 0 6px; }

/* (1.34.0) ملاحظات للطلاب في اللوحة */
.efb-note-list .eduframe-memo { grid-template-columns: auto 1fr auto auto; }
.efb-note-list .note-state { font-size: 15px; line-height: 1.5; }
.efb-note-list .memo-actions { display: flex; gap: 6px; align-items: center; }
.efb-note-link { font: inherit; padding: 6px 10px; border: 1px solid rgba(194,193,193,.55); border-radius: 8px; direction: ltr; min-width: 200px; }

/* (1.34.2) المرحلة العامة في شريط الأوضاع — بلا تداخل: العنوان والمنتقي عنصران متجاوران بأبعاد
   محسوبة، والقالب لا يفرض عرضًا على select (min/max صريحان). */
.efb-modes { align-items: center; }
.efb-level-global { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; padding: 4px 6px 4px 14px; border-radius: 999px; background: rgba(21,68,90,.06); flex: 0 0 auto; max-width: 100%; }
.efb-level-title { font-weight: 800; color: #15445A; font-size: 14px; white-space: nowrap; flex: 0 0 auto; }
.efb-level-global select { font: inherit; font-size: 13px; padding: 5px 30px 5px 10px; border: 1px solid rgba(194,193,193,.55); border-radius: 8px; background: #fff; color: #15445A; min-width: 130px; max-width: 220px; width: auto; height: auto; line-height: 1.4; margin: 0; box-sizing: border-box; appearance: auto; -webkit-appearance: menulist; }
@media (max-width: 640px) { .efb-level-global { margin-inline-start: 0; width: 100%; justify-content: space-between; } .efb-level-global select { max-width: 60%; } }

/* (1.36.3) مؤقّت: إعادة ضبط · زر تبديل مركزيّ · +10 */
.eduframe-timer-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 10px 0 4px; }
.eduframe-timer-ctl { font: inherit; cursor: pointer; background: none; border: none; color: inherit; line-height: 1; }
.eduframe-timer-reset, .eduframe-timer-add { font-size: 20px; font-weight: 800; padding: 6px 8px; opacity: .8; }
.eduframe-timer-reset:hover, .eduframe-timer-add:hover { opacity: 1; }
.eduframe-timer-add { font-size: 17px; }
.eduframe-timer-toggle { width: 74px; height: 74px; border: 3px solid currentColor; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.eduframe-timer-toggle > span { display: none; width: 46px; height: 46px; border-radius: 50%; background: #E0455A; color: #fff; align-items: center; justify-content: center; font-size: 20px; }
.eduframe-timer-toggle.is-paused .ico-play { display: inline-flex; }
.eduframe-timer-toggle.is-playing .ico-pause { display: inline-flex; }
.eduframe-timer-toggle .ico-play { padding-inline-start: 4px; } /* بصريًّا في منتصف الدائرة */
/* (1.36.5) توحيد أزرار المؤقّت الجانبية + عزل اتجاه +10 */
.eduframe-timer-reset, .eduframe-timer-add { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; font-size: 16px; font-weight: 800; opacity: .85; }
.eduframe-timer-reset svg { display: block; }
.eduframe-timer-add .ef-add-lbl { direction: ltr; unicode-bidi: isolate; }
.eduframe-timer-toggle .ico-play svg { margin-inline-start: 2px; }
.eduframe-timer-toggle > span svg { display: block; }
/* (1.42.1) التحديد على كامل البطاقة + «المزيد» + المنح مرهون بالتحديد */
.efb-card.efb-selected { outline: 2px solid #3D7EB9; outline-offset: 1px; }
.efb-batch-hint { margin: 8px 0; padding: 8px 12px; border-radius: 10px; background: #FDECEA; color: #C2452D; font-weight: 700; font-size: 13px; }
.efb-more-btn { font: inherit; cursor: pointer; background: rgba(21,68,90,.05); border: 1px dashed rgba(194,193,193,.55); border-radius: 8px; padding: 6px 10px; font-size: 12px; font-weight: 700; color: #5A7A8B; grid-column: 1/-1; }
.efb-more-btn:hover { color: #15445A; border-color: #3D7EB9; }
.efb-more-wrap { display: none; grid-column: 1/-1; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.efb-actions.efb-more-open .efb-more-wrap { display: grid; }
/* (1.44.0) مؤثّرات بصرية عند الرصد — نجمة تطفو + نبضات + تضخّم اسم العشوائي */
@keyframes ef-fx-star-up { 0% { opacity: 0; transform: translate(-50%, 0) scale(.6); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -42px) scale(1.15); } }
.ef-fx-star { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); font-size: 20px; font-weight: 800; color: #07A869; pointer-events: none; z-index: 6; animation: ef-fx-star-up .9s ease-out forwards; }
.ef-fx-check { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); font-size: 20px; font-weight: 800; color: #627d98; pointer-events: none; z-index: 6; animation: ef-fx-star-up .8s ease-out forwards; }
@keyframes ef-fx-pulse-pos { 0%,100% { box-shadow: 0 0 0 0 rgba(7,168,105,0); } 30% { box-shadow: 0 0 0 4px rgba(7,168,105,.35); } }
@keyframes ef-fx-pulse-neg { 0%,100% { box-shadow: 0 0 0 0 rgba(224,163,60,0); } 30% { box-shadow: 0 0 0 4px rgba(224,163,60,.35); } }
@keyframes ef-fx-pulse-neu { 0%,100% { box-shadow: 0 0 0 0 rgba(98,125,152,0); } 30% { box-shadow: 0 0 0 4px rgba(98,125,152,.28); } }
.ef-fx-pos { animation: ef-fx-pulse-pos .6s ease-out; }
.ef-fx-neg { animation: ef-fx-pulse-neg .6s ease-out; }
.ef-fx-neu { animation: ef-fx-pulse-neu .6s ease-out; }
@keyframes ef-fx-grow-k { 0%,100% { transform: scale(1); } 40% { transform: scale(1.3); } }
.ef-fx-grow { animation: ef-fx-grow-k .45s ease-out; display: inline-block; }
@keyframes ef-fx-grid-pos-k { 0%,100% { background: transparent; } 30% { background: rgba(7,168,105,.06); } }
@keyframes ef-fx-grid-neg-k { 0%,100% { background: transparent; } 30% { background: rgba(224,163,60,.06); } }
.ef-fx-grid-pos { animation: ef-fx-grid-pos-k .6s ease-out; }
.ef-fx-grid-neg { animation: ef-fx-grid-neg-k .6s ease-out; }
/* (1.44.2) المسابقة العشوائية — اللوحة الأمامية */
.eduframe-quiz-stage { margin-top: 12px; padding: 16px; border: 1px solid var(--es-border, rgba(194,193,193,.55)); border-radius: 14px; background: var(--es-surface, #fff); }
.eduframe-quiz-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.eduframe-quiz-student { font-size: 20px; font-weight: 800; color: var(--es-primary, #15445A); }
.eduframe-quiz-ring { transform: rotate(-90deg); }
.eduframe-quiz-ring-bg { fill: none; stroke: var(--es-border, #ddd); stroke-width: 4; }
.eduframe-quiz-ring-fg { fill: none; stroke: #07A869; stroke-width: 4; stroke-linecap: round; transition: stroke-dashoffset 1s linear; }
.eduframe-quiz-ring-fg.is-low { stroke: #E0455A; }
.eduframe-quiz-ring-t { fill: var(--es-text, #15445A); font-size: 14px; font-weight: 800; transform: rotate(90deg); transform-origin: 22px 22px; }
.eduframe-quiz-q { font-size: 19px; font-weight: 700; line-height: 1.7; text-align: center; padding: 14px; color: var(--es-text, #15445A); }
.eduframe-quiz-actions { display: flex; gap: 10px; justify-content: center; margin-top: 8px; }
.eduframe-quiz-correct { border-color: #07A869 !important; color: #07A869 !important; font-weight: 700; }
.eduframe-quiz-wrong { border-color: #E0455A !important; color: #E0455A !important; font-weight: 700; }
.eduframe-quiz-msg { text-align: center; font-size: 17px; font-weight: 800; padding: 12px; border-radius: 10px; margin-top: 8px; }
.eduframe-quiz-msg.is-ok { background: rgba(7,168,105,.12); color: #07A869; }
.eduframe-quiz-msg.is-no { background: rgba(224,163,60,.14); color: #BE6A3C; }
