.aca {
	--aca-accent: #16a34a;
	--aca-accent-2: #12893f;
	--aca-accent-grad: linear-gradient(180deg, #34c76f, #12893f);
	--aca-accent-soft: #e5f6ea;
	--aca-accent-glow: rgba(18, 137, 63, .55);
	--aca-bg: #f9fafb;
	--aca-card: #ffffff;
	--aca-card-2: #fafbfc;
	--aca-sunk: #f2f3f6;
	--aca-line: #e5e8ed;
	--aca-line-2: #eef0f3;
	--aca-text: #1c2027;
	--aca-text-2: #4a505b;
	--aca-muted: #8b919c;
	--aca-faint: #b9bec7;
	--aca-ok: #0e9384;
	--aca-ok-soft: #dff5f1;
	--aca-warn: #b7790a;
	--aca-warn-soft: #fff4d6;
	--aca-danger: #e2454f;
	--aca-danger-soft: #fdeced;
	--aca-stripe-track: repeating-linear-gradient(135deg, #f4f5f7 0 6px, #f8f9fa 6px 12px);
	--aca-stripe-fill: repeating-linear-gradient(135deg, rgba(255, 255, 255, .1) 0 6px, transparent 6px 12px);
	--aca-shadow: 0 1px 2px rgba(17, 24, 39, .05), 0 16px 36px -22px rgba(17, 24, 39, .22);
	--aca-shadow-btn: 0 1px 2px rgba(17, 24, 39, .06), 0 6px 14px -8px rgba(17, 24, 39, .18), inset 0 1px 0 #fff;
	--aca-radius: 24px;
	--aca-radius-sm: 14px;

	container: aca / inline-size;
	position: relative;
	margin: 0 0 20px;
	color: var(--aca-text);
	font-size: 14px;
	line-height: 1.85;
	text-align: right;
}

:root[data-theme="dark"] .aca, body.dle_theme_dark .aca, .aca.is-dark {
	--aca-accent: #3ccf78;
	--aca-accent-2: #2fbb68;
	--aca-accent-soft: rgba(60, 207, 120, .14);
	--aca-bg: #15181d;
	--aca-card: #1c2026;
	--aca-card-2: #20252c;
	--aca-sunk: #252a32;
	--aca-line: #303641;
	--aca-line-2: #2a2f38;
	--aca-text: #eef0f3;
	--aca-text-2: #c3c8d0;
	--aca-muted: #8f96a1;
	--aca-faint: #5d6470;
	--aca-ok-soft: rgba(14, 147, 132, .18);
	--aca-warn-soft: rgba(183, 121, 10, .18);
	--aca-danger-soft: rgba(226, 69, 79, .16);
	--aca-stripe-track: repeating-linear-gradient(135deg, #252a32 0 6px, #2a3038 6px 12px);
	--aca-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 36px -22px rgba(0, 0, 0, .6);
	--aca-shadow-btn: 0 1px 2px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .04);
}

:root[data-theme="dark"] .aca .aca-box-price, body.dle_theme_dark .aca .aca-box-price, .aca.is-dark .aca-box-price,
:root[data-theme="dark"] .aca .aca-mine-head, body.dle_theme_dark .aca .aca-mine-head, .aca.is-dark .aca-mine-head,
:root[data-theme="dark"] .aca .aca-mine-item.is-completed, body.dle_theme_dark .aca .aca-mine-item.is-completed, .aca.is-dark .aca-mine-item.is-completed { background: var(--aca-accent-soft); }

.aca *, .aca *::before, .aca *::after { box-sizing: border-box; }
.aca h1, .aca h2, .aca h3, .aca p, .aca ul, .aca ol { margin: 0; padding: 0; }
.aca h1, .aca h2, .aca h3 { color: var(--aca-text); font-family: inherit; letter-spacing: 0; }
.aca ul, .aca ol { list-style: none; }
.aca a { color: var(--aca-accent-2); text-decoration: none; }
.aca small { font-size: 12px; }
svg.acDefs { position: absolute; width: 0; height: 0; overflow: hidden; }

.aca .aca-i { width: 18px; height: 18px; flex: none; }
.aca .acI3 { width: 30px; height: 30px; flex: none; overflow: visible; filter: drop-shadow(0 3px 4px rgba(17, 24, 39, .12)); }
.aca .aca-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.aca .aca-sep { display: inline-block; width: 4px; height: 4px; margin: 0 7px; border-radius: 50%; background: var(--aca-faint); vertical-align: middle; }
.aca .aca-inline { display: inline-flex; margin: 0; }

/* Buttons and chips */
.aca .aca-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: linear-gradient(180deg, var(--aca-card), var(--aca-card-2)); color: var(--aca-text); font: inherit; font-weight: 700; line-height: 1.4; white-space: nowrap; cursor: pointer; box-shadow: var(--aca-shadow-btn); transition: transform .15s, box-shadow .2s, background .2s, color .2s; }
.aca .aca-btn:hover { color: var(--aca-accent-2); }
.aca .aca-btn:active { transform: translateY(1px); }
.aca .aca-btn.is-primary { background: var(--aca-accent-grad); color: #fff; box-shadow: 0 10px 20px -10px var(--aca-accent-glow), inset 0 1px 0 rgba(255, 255, 255, .3); }
.aca .aca-btn.is-primary:hover { background: linear-gradient(180deg, #2bbb64, #0f7d38); color: #fff; }
.aca .aca-btn.is-done { background: var(--aca-ok-soft); color: var(--aca-ok); box-shadow: none; cursor: default; }
.aca .aca-btn.is-disabled { color: var(--aca-faint); box-shadow: none; background: var(--aca-sunk); cursor: not-allowed; }
.aca .aca-chip { display: inline-flex; align-items: center; gap: 4px; padding: 1px 10px; border-radius: 999px; background: var(--aca-sunk); color: var(--aca-muted); font-size: 11.5px; font-style: normal; font-weight: 600; line-height: 1.9; white-space: nowrap; }
.aca .aca-chip .aca-i { width: 13px; height: 13px; }
.aca .aca-chip.is-preview { background: var(--aca-accent-soft); color: var(--aca-accent-2); }
/* A lesson sold alone (its price, a link to buy it) and a bought one */
.aca .aca-chip.is-price { border-radius: 9px; background: var(--aca-warn-soft); color: var(--aca-warn); text-decoration: none; }
.aca .aca-chip.is-price:hover { background: var(--aca-warn); color: #fff; }
.aca .aca-chip.is-bought { border-radius: 9px; background: var(--aca-ok-soft); color: var(--aca-ok); }
.aca .aca-chip.is-done { background: var(--aca-ok-soft); color: var(--aca-ok); }
.aca .aca-chip.is-expired { background: var(--aca-danger-soft); color: var(--aca-danger); }

/* Striped progress bar */
.aca .aca-bar { position: relative; display: block; height: 10px; overflow: hidden; border-radius: 999px; background: var(--aca-stripe-track); }
.aca .aca-bar i { position: relative; display: block; height: 100%; border-radius: inherit; background: var(--aca-accent-grad); transition: width .4s; }
.aca .aca-bar i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--aca-stripe-fill); }

.aca .aca-notice { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding: 10px 16px; padding-inline-start: 10px; border: 1px solid var(--aca-line-2); border-radius: 20px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-notice .acI3 { width: 30px; height: 30px; }
.aca .aca-notice.is-ok { border-color: #cdeee8; }
.aca .aca-notice.is-error { border-color: #f8d4d7; color: var(--aca-danger); }

/* =================================================================
   Post page: course box, curriculum, lists
   ================================================================= */

.aca .aca-course { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); gap: 16px; align-items: start; margin-top: 20px; }
.aca .aca-course-main { display: grid; gap: 16px; min-width: 0; }
.aca .aca-course-side { position: sticky; top: 16px; }
.aca .aca-card { padding: 18px 20px 20px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-card-title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--aca-line-2); font-size: 17px; font-weight: 700; }
.aca .aca-card-title .acI3 { width: 32px; height: 32px; }
.aca .aca-lines { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px 16px; }
.aca .aca-lines li { display: flex; align-items: flex-start; gap: 8px; color: var(--aca-text-2); }
.aca .aca-lines .aca-i { width: 18px; height: 18px; margin-top: 4px; color: var(--aca-accent); }

.aca .aca-box { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-box-price { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; background: linear-gradient(135deg, #f1fbf4, #e3f6e9); }
.aca .aca-box-price .acI3 { width: 40px; height: 40px; }
.aca .aca-box-price > div { display: grid; line-height: 1.5; }
.aca .aca-price { color: var(--aca-text); font-size: 22px; font-weight: 800; }
.aca .aca-price.is-free { color: var(--aca-accent-2); }
.aca .aca-old-price { color: var(--aca-muted); font-size: 13px; }
.aca .aca-sale-until { color: var(--aca-danger); font-weight: 600; }
.aca .aca-box-progress { display: grid; gap: 6px; color: var(--aca-text-2); }
.aca .aca-box-action .aca-btn, .aca .aca-box-action form, .aca .aca-box-action form .aca-btn { width: 100%; }
.aca .aca-box-note, .aca .aca-box-hint { color: var(--aca-text-2); font-size: 13px; line-height: 1.8; }
.aca .aca-box-note { padding: 10px 12px; border-radius: var(--aca-radius-sm); background: var(--aca-sunk); }
.aca .aca-box-hint { color: var(--aca-muted); }
.aca .aca-facts { display: grid; gap: 4px; }
.aca .aca-facts li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--aca-line-2); }
.aca .aca-facts li:last-child { border-bottom: 0; }
.aca .aca-facts .acI3 { width: 24px; height: 24px; }
.aca .aca-facts span { flex: 1 1 auto; color: var(--aca-muted); }
.aca .aca-facts b { color: var(--aca-text); font-weight: 700; }

.aca .aca-curriculum { display: grid; gap: 10px; }
.aca .aca-section { border: 1px solid var(--aca-line-2); border-radius: 20px; background: var(--aca-card-2); }
.aca .aca-section > summary { display: flex; align-items: center; gap: 12px; padding: 12px 14px; list-style: none; cursor: pointer; }
.aca .aca-section > summary::-webkit-details-marker { display: none; }
.aca .aca-section > summary::after { content: ""; flex: none; width: 8px; height: 8px; margin-inline-start: auto; border-bottom: 2px solid var(--aca-muted); border-inline-start: 2px solid var(--aca-muted); transform: rotate(-45deg); transition: transform .2s; }
.aca .aca-section[open] > summary::after { transform: rotate(135deg); }
.aca .aca-section-no { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-weight: 800; }
.aca .aca-section-title { display: grid; min-width: 0; line-height: 1.5; }
.aca .aca-section-title b { overflow: hidden; color: var(--aca-text); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-section-title small { color: var(--aca-muted); }
.aca .aca-lessons { display: grid; gap: 4px; padding: 0 8px 8px; }
.aca .aca-lesson { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 14px; transition: background .2s; }
.aca .aca-lesson:hover { background: var(--aca-card); }
.aca .aca-lesson .acI3 { width: 26px; height: 26px; }
.aca .aca-lesson-title { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--aca-text); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.aca a.aca-lesson-title:hover { color: var(--aca-accent-2); }
.aca .aca-lesson.is-locked .aca-lesson-title { color: var(--aca-muted); }
.aca .aca-lesson.is-locked .acI3 { opacity: .55; filter: grayscale(.6); }
.aca .aca-lesson.is-current { background: var(--aca-accent-soft); box-shadow: inset 0 0 0 1px rgba(22, 163, 74, .25); }
.aca .aca-lesson-meta { display: flex; flex: none; align-items: center; gap: 5px; }
.aca .aca-state { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; }
.aca .aca-state .aca-i { width: 14px; height: 14px; }
.aca .aca-state.is-done { background: var(--aca-accent-grad); color: #fff; }
.aca .aca-state.is-locked { background: var(--aca-sunk); color: var(--aca-muted); }

/* A page that is only a message */
.aca .aca-message { display: grid; justify-items: center; gap: 10px; padding: 40px 20px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: var(--aca-card); text-align: center; box-shadow: var(--aca-shadow); }
.aca .aca-message .acI3 { width: 64px; height: 64px; }
.aca .aca-message h2 { font-size: 20px; font-weight: 800; }
.aca .aca-message p { max-width: 520px; color: var(--aca-text-2); }
.aca .aca-message-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }

/* =================================================================
   Player
   ================================================================= */

.aca.aca-learn { padding: 12px; border: 1px solid var(--aca-line-2); border-radius: 30px; background: var(--aca-bg); }
.aca .aca-player-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-bottom: 12px; padding: 10px 12px; padding-inline-start: 16px; border: 1px solid var(--aca-line-2); border-radius: 999px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-back { display: inline-flex; flex: 1 1 260px; align-items: center; gap: 8px; min-width: 0; color: var(--aca-text); font-weight: 700; }
.aca .aca-back span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-back .aca-i { color: var(--aca-muted); }
.aca .aca-player-progress { display: flex; flex: 0 1 280px; align-items: center; gap: 10px; color: var(--aca-text-2); white-space: nowrap; }
.aca .aca-player-progress .aca-bar { flex: 1 1 auto; }
.aca .aca-player-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); gap: 12px; align-items: start; }
.aca .aca-player-main { display: grid; gap: 14px; min-width: 0; padding: 14px; border: 1px solid var(--aca-line-2); border-radius: 26px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-player-side { position: sticky; top: 12px; min-width: 0; }

.aca .aca-stage { overflow: hidden; border-radius: 20px; background: #0d1014; }
.aca .aca-video { position: relative; }
.aca .aca-video video { display: block; width: 100%; max-height: 72vh; background: #000; }
.aca .aca-frame { position: relative; aspect-ratio: 16 / 9; }
.aca .aca-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.aca .aca-stage-audio, .aca .aca-stage-pdf { background: var(--aca-sunk); }
.aca .aca-audio { display: flex; align-items: center; gap: 14px; padding: 22px; }
.aca .aca-audio .acI3 { width: 54px; height: 54px; }
.aca .aca-audio audio { flex: 1 1 auto; width: 100%; }
.aca .aca-pdf iframe { display: block; width: 100%; height: 78vh; border: 0; }

/* Watermark: the student's name drifting over the video (front.js moves it) */
.aca .aca-mark { position: absolute; z-index: 2; padding: 2px 10px; border-radius: 8px; background: rgba(0, 0, 0, .18); color: rgba(255, 255, 255, .55); font-size: 13px; font-weight: 700; pointer-events: none; user-select: none; transition: top 1.2s ease, left 1.2s ease, right 1.2s ease, bottom 1.2s ease; top: 8%; right: 6%; }
.aca .aca-mark.is-p1 { top: 8%; right: auto; left: 6%; }
.aca .aca-mark.is-p2 { top: 44%; right: 38%; }
.aca .aca-mark.is-p3 { top: auto; bottom: 22%; right: 8%; }
.aca .aca-mark.is-p4 { top: auto; bottom: 22%; right: auto; left: 10%; }
.aca .aca-mark.is-p5 { top: 28%; right: 62%; }

.aca .aca-lesson-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding-bottom: 12px; border-bottom: 1px solid var(--aca-line-2); }
.aca .aca-lesson-head small { flex: 1 0 100%; color: var(--aca-muted); font-weight: 600; }
.aca .aca-lesson-head h1 { margin-inline-end: auto; font-size: 22px; font-weight: 800; line-height: 1.6; }
.aca .aca-lesson-body { color: var(--aca-text-2); font-size: 15px; line-height: 2; overflow-wrap: anywhere; }
.aca .aca-lesson-body p, .aca .aca-lesson-body ul, .aca .aca-lesson-body ol, .aca .aca-lesson-body pre, .aca .aca-lesson-body table { margin: 0 0 12px; }
.aca .aca-lesson-body ul, .aca .aca-lesson-body ol { padding-inline-start: 22px; list-style: revert; }
.aca .aca-lesson-body h2, .aca .aca-lesson-body h3 { margin: 18px 0 8px; font-weight: 800; }
.aca .aca-lesson-body img { max-width: 100%; height: auto; border-radius: 14px; }
.aca .aca-lesson-body pre { overflow-x: auto; padding: 12px 14px; border-radius: 14px; background: #10141a; color: #e6edf3; direction: ltr; text-align: left; }
.aca .aca-lesson-body table { width: 100%; border-collapse: collapse; }
.aca .aca-lesson-body td, .aca .aca-lesson-body th { padding: 6px 10px; border: 1px solid var(--aca-line); }

.aca .aca-files h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 16px; font-weight: 700; }
.aca .aca-files h3 .acI3 { width: 26px; height: 26px; }
.aca .aca-files ul { display: grid; gap: 8px; }
.aca .aca-files a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--aca-line-2); border-radius: 16px; background: var(--aca-card-2); color: var(--aca-text); transition: border-color .2s; }
.aca .aca-files a:hover { border-color: rgba(22, 163, 74, .35); }
.aca .aca-files a .acI3 { width: 26px; height: 26px; }
.aca .aca-files a span { flex: 1 1 auto; min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-files a small { color: var(--aca-muted); }
.aca .aca-files a .aca-i { color: var(--aca-accent); }

.aca .aca-player-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid var(--aca-line-2); }
.aca .aca-nav-gap { flex: 0 0 1px; }

.aca .aca-locked { display: grid; justify-items: center; gap: 10px; padding: 28px 16px; border-radius: 20px; background: var(--aca-stripe-track); text-align: center; }
.aca .aca-locked > .acI3 { width: 58px; height: 58px; }
.aca .aca-locked > b { max-width: 520px; font-size: 16px; }
.aca .aca-locked-box { width: 100%; max-width: 380px; text-align: right; }
.aca .aca-lock-buy { display: flex; justify-content: center; margin-top: 12px; font-size: 14px; font-weight: 400; }

/* Timed free preview: the note above the player and the box that covers it when the time is up */
.aca .aca-preview-note { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 16px; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-size: 13px; }
.aca .aca-preview-note .aca-i { width: 17px; height: 17px; }
.aca .aca-preview-end { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 20px; background: rgba(15, 18, 22, .86); color: #fff; text-align: center; backdrop-filter: blur(6px); }
.aca .aca-preview-end[hidden] { display: none; }
.aca .aca-preview-end .acI3 { width: 54px; height: 54px; }
.aca .aca-preview-end b { font-size: 17px; }
.aca .aca-preview-end p { margin: 0 0 6px; color: rgba(255, 255, 255, .8); font-size: 13.5px; }
.aca .aca-preview-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.aca .aca-audio:has(.aca-preview-end) { position: relative; min-height: 190px; }

.aca .aca-side-toggle { border: 1px solid var(--aca-line-2); border-radius: 26px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-side-toggle > summary { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--aca-line-2); font-weight: 800; list-style: none; cursor: pointer; }
.aca .aca-side-toggle > summary::-webkit-details-marker { display: none; }
.aca .aca-side-toggle > summary .acI3 { width: 28px; height: 28px; }
.aca .aca-side-toggle > summary small { margin-inline-start: auto; color: var(--aca-muted); font-weight: 600; }
.aca .aca-side-toggle .aca-curriculum { max-height: calc(100vh - 140px); overflow-y: auto; padding: 10px; }
.aca .aca-side-toggle .aca-section { background: var(--aca-card); }

/* =================================================================
   My courses
   ================================================================= */

.aca .aca-mine-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding: 16px 18px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: linear-gradient(135deg, var(--aca-card), #f1fbf4); box-shadow: var(--aca-shadow); }
.aca .aca-mine-head .acI3 { width: 52px; height: 52px; }
.aca .aca-mine-head h1 { font-size: 22px; font-weight: 800; }
.aca .aca-mine-head p { color: var(--aca-text-2); }
.aca .aca-mine-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.aca .aca-mine-item { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-mine-item.is-completed { background: linear-gradient(180deg, var(--aca-card), #f1fbf4); }
.aca .aca-mine-item.is-expired { opacity: .8; }
.aca .aca-mine-top { display: flex; align-items: flex-start; gap: 10px; }
.aca .aca-mine-top .acI3 { width: 40px; height: 40px; }
.aca .aca-mine-top h3 { font-size: 15px; font-weight: 700; line-height: 1.7; }
.aca .aca-mine-top h3 a { color: var(--aca-text); }
.aca .aca-mine-top small { color: var(--aca-muted); }
.aca .aca-mine-progress { display: flex; align-items: center; gap: 10px; color: var(--aca-text-2); font-weight: 700; }
.aca .aca-mine-progress .aca-bar { flex: 1 1 auto; }
.aca .aca-mine-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px solid var(--aca-line-2); }

/* =================================================================
   Checkout
   ================================================================= */

.aca .aca-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.aca .aca-input { flex: 1 1 160px; min-width: 0; height: 44px; margin: 0; padding: 0 14px; border: 1px solid transparent; border-radius: var(--aca-radius-sm); background: var(--aca-sunk); color: var(--aca-text); font: inherit; outline: none; box-shadow: inset 0 1px 2px rgba(17, 24, 39, .04); }
.aca .aca-input:focus { border-color: var(--aca-accent); background: var(--aca-card); box-shadow: 0 0 0 4px var(--aca-accent-soft); }
.aca .aca-btn.is-wide { width: 100%; }
.aca .aca-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 16px; align-items: start; }
.aca .aca-checkout-course h2 { margin-bottom: 10px; font-size: 18px; font-weight: 800; line-height: 1.7; }
.aca .aca-checkout-course h2 a { color: var(--aca-text); }
.aca .aca-coupon-box { display: grid; gap: 8px; margin-top: 14px; padding: 14px; border: 1px dashed #cfe8d8; border-radius: 18px; background: #f7fcf9; }
.aca .aca-coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.aca .aca-coupon .aca-input { background: var(--aca-card); }
.aca .aca-bill { display: grid; margin-bottom: 14px; }
.aca .aca-bill li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--aca-line-2); color: var(--aca-text-2); }
.aca .aca-bill li.is-discount b { color: var(--aca-accent-2); }
.aca .aca-bill li.is-total { border-bottom: 0; padding-top: 12px; color: var(--aca-text); }
.aca .aca-bill li.is-total b { font-size: 20px; font-weight: 800; }
.aca .aca-bill small { color: var(--aca-muted); }
.aca .aca-pay { display: grid; gap: 12px; margin: 0; }
.aca .aca-gateways { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.aca .aca-gateways legend { margin-bottom: 6px; padding: 0; color: var(--aca-text); font-weight: 700; }
.aca .aca-gateway { cursor: pointer; }
.aca .aca-gateway input { position: absolute; opacity: 0; }
.aca .aca-gateway span { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--aca-line-2); border-radius: 16px; background: var(--aca-card-2); transition: border-color .2s, background .2s; }
.aca .aca-gateway span .acI3 { width: 26px; height: 26px; }
.aca .aca-gateway input:checked + span { border-color: rgba(22, 163, 74, .4); background: var(--aca-accent-soft); }
.aca .aca-gateway input:focus-visible + span { box-shadow: 0 0 0 4px var(--aca-accent-soft); }
:root[data-theme="dark"] .aca .aca-coupon-box, body.dle_theme_dark .aca .aca-coupon-box, .aca.is-dark .aca-coupon-box,
:root[data-theme="dark"] .aca .aca-drop, body.dle_theme_dark .aca .aca-drop, .aca.is-dark .aca-drop,
:root[data-theme="dark"] .aca .aca-review-form, body.dle_theme_dark .aca .aca-review-form, .aca.is-dark .aca-review-form { border-color: var(--aca-line); background: var(--aca-card-2); }

/* =================================================================
   Quiz and assignment box in the player
   ================================================================= */

.aca .aca-chip.is-ok { background: var(--aca-ok-soft); color: var(--aca-ok); }
.aca .aca-chip.is-warn { background: var(--aca-warn-soft); color: var(--aca-warn); }
.aca .aca-chip.is-danger { background: var(--aca-danger-soft); color: var(--aca-danger); }
.aca .aca-chip.is-info { background: var(--aca-accent-soft); color: var(--aca-accent-2); }

.aca .aca-task { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--aca-line-2); border-radius: 22px; background: var(--aca-card-2); }
.aca .aca-task-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.aca .aca-task-facts li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--aca-line-2); border-radius: 16px; background: var(--aca-card); line-height: 1.5; }
.aca .aca-task-facts .acI3 { width: 28px; height: 28px; }
.aca .aca-task-facts span { flex: 1 1 auto; color: var(--aca-muted); font-size: 12.5px; }
.aca .aca-task-facts b { font-weight: 800; white-space: nowrap; }
.aca .aca-task-status { display: flex; align-items: center; gap: 12px; padding: 10px 14px; padding-inline-start: 10px; border-radius: 16px; background: var(--aca-accent-soft); }
.aca .aca-task-status .acI3 { width: 32px; height: 32px; }
.aca .aca-task-status div { display: grid; line-height: 1.7; }
.aca .aca-task-status small { color: var(--aca-text-2); font-size: 13px; }
.aca .aca-task-status.is-ok { background: var(--aca-ok-soft); }
.aca .aca-task-status.is-warn { background: var(--aca-warn-soft); }
.aca .aca-task-status.is-danger { background: var(--aca-danger-soft); }
.aca .aca-task-action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.aca .aca-task-action small { color: var(--aca-muted); }

.aca .aca-history h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 15px; font-weight: 700; }
.aca .aca-history h3 .acI3 { width: 24px; height: 24px; }
.aca .aca-history ul { display: grid; gap: 6px; }
.aca .aca-history a, .aca .aca-history summary { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--aca-line-2); border-radius: 14px; background: var(--aca-card); color: var(--aca-text); list-style: none; cursor: pointer; transition: border-color .2s; }
.aca .aca-history summary::-webkit-details-marker { display: none; }
.aca .aca-history a:hover, .aca .aca-history summary:hover { border-color: rgba(22, 163, 74, .35); }
.aca .aca-history a span, .aca .aca-history summary span { flex: 1 1 auto; color: var(--aca-text-2); }
.aca .aca-history-body { display: grid; gap: 8px; padding: 10px 4px 4px; }
.aca .aca-history-note { color: var(--aca-text-2); }
.aca .aca-sent-files { display: grid; gap: 4px; }
.aca .aca-sent-files a { padding: 6px 10px; }
.aca .aca-sent-files a .aca-i { color: var(--aca-accent); }
.aca .aca-sent-files small { color: var(--aca-muted); }

.aca .aca-feedback { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--aca-line-2); border-radius: 18px; background: var(--aca-card); }
.aca .aca-feedback .acI3 { width: 30px; height: 30px; }
.aca .aca-feedback div { display: grid; gap: 2px; line-height: 1.9; }
.aca .aca-feedback p { color: var(--aca-text-2); }

/* Sending an assignment */
.aca .aca-submit { display: grid; gap: 10px; margin: 0; }
.aca .aca-label { color: var(--aca-text); font-weight: 700; }
.aca .aca-textarea { width: 100%; min-height: 150px; height: auto; padding: 10px 14px; line-height: 1.9; resize: vertical; }
.aca .aca-drop { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1.5px dashed #cfe8d8; border-radius: var(--aca-radius-sm); background: #f7fcf9; cursor: pointer; transition: border-color .2s, background .2s; }
.aca .aca-drop:hover, .aca .aca-drop:focus-within { border-color: var(--aca-accent); background: var(--aca-accent-soft); }
.aca .aca-drop .acI3 { width: 34px; height: 34px; }
.aca .aca-drop span { display: grid; min-width: 0; line-height: 1.7; }
.aca .aca-drop small { color: var(--aca-muted); overflow-wrap: anywhere; }
.aca .aca-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.aca .aca-submit .aca-btn { justify-self: start; }
.aca .aca-answer { padding: 10px 14px; border: 1px solid var(--aca-line-2); border-radius: 14px; background: var(--aca-card-2); color: var(--aca-text-2); line-height: 1.9; overflow-wrap: anywhere; }

/* =================================================================
   Quiz page: questions, timer, result
   ================================================================= */

.aca.aca-quiz-page .aca-quiz { display: grid; gap: 12px; max-width: 900px; margin: 0 auto; }
.aca.aca-quiz-page .aca-player-head { margin-bottom: 0; }
.aca .aca-timer { display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px; border-radius: 999px; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.aca .aca-timer.is-low { background: var(--aca-danger-soft); color: var(--aca-danger); }
.aca .aca-quiz-form { display: grid; gap: 12px; margin: 0; }

.aca .aca-questions { display: grid; gap: 12px; }
.aca .aca-question { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--aca-line-2); border-radius: 22px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-question-head { display: flex; align-items: flex-start; gap: 10px; }
.aca .aca-question-no { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-weight: 800; }
.aca .aca-question-text { flex: 1 1 auto; min-width: 0; padding-top: 1px; color: var(--aca-text); font-weight: 600; line-height: 1.9; overflow-wrap: anywhere; }
.aca .aca-question-answer { display: grid; gap: 6px; padding-inline-start: 40px; }
.aca .aca-question .aca-input { width: 100%; }
.aca .aca-hint { color: var(--aca-muted); }

.aca .aca-options { display: grid; gap: 6px; }
.aca .aca-options.is-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aca .aca-option { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border: 1px solid var(--aca-line-2); border-radius: 14px; background: var(--aca-card-2); color: var(--aca-text); line-height: 1.7; transition: border-color .2s, background .2s; }
label.aca-option { cursor: pointer; }
.aca label.aca-option:hover { border-color: var(--aca-line); }
.aca .aca-option input { flex: none; width: 17px; height: 17px; margin: 0; accent-color: var(--aca-accent); }
.aca .aca-option span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.aca .aca-option:has(input:checked) { border-color: rgba(22, 163, 74, .45); background: var(--aca-accent-soft); }
.aca .aca-options.is-review .aca-option.is-right { border-color: rgba(14, 147, 132, .4); background: var(--aca-ok-soft); }
.aca .aca-options.is-review .aca-option.is-picked:not(.is-right) { border-color: rgba(226, 69, 79, .35); background: var(--aca-danger-soft); }
.aca .aca-options.is-review .aca-i { color: var(--aca-ok); }

.aca .aca-given { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; margin: 0; }
.aca .aca-given div { padding: 8px 12px; border: 1px solid var(--aca-line-2); border-radius: 14px; background: var(--aca-card-2); }
.aca .aca-given dt { color: var(--aca-muted); font-size: 12px; }
.aca .aca-given dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

.aca .aca-question-mark { justify-self: start; margin-inline-start: 40px; padding: 2px 12px; border-radius: 999px; background: var(--aca-sunk); color: var(--aca-text-2); font-size: 12.5px; font-weight: 700; }
.aca .aca-question.is-right .aca-question-mark { background: var(--aca-ok-soft); color: var(--aca-ok); }
.aca .aca-question.is-wrong .aca-question-mark { background: var(--aca-danger-soft); color: var(--aca-danger); }
.aca .aca-question.is-part .aca-question-mark, .aca .aca-question.is-wait .aca-question-mark { background: var(--aca-warn-soft); color: var(--aca-warn); }
.aca .aca-question-explain { display: flex; align-items: flex-start; gap: 8px; margin-inline-start: 40px; padding: 10px 12px; border-radius: 14px; background: var(--aca-sunk); color: var(--aca-text-2); font-size: 13.5px; line-height: 1.9; }
.aca .aca-question-explain .aca-i { margin-top: 4px; color: var(--aca-accent); }

.aca .aca-quiz-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border: 1px solid var(--aca-line-2); border-radius: 22px; background: var(--aca-card); box-shadow: var(--aca-shadow); }
.aca .aca-quiz-saved { color: var(--aca-muted); }
.aca .aca-quiz-saved.is-error { color: var(--aca-danger); }

.aca .aca-result { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 240px); align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--aca-line-2); border-radius: 26px; background: linear-gradient(135deg, var(--aca-card), var(--aca-accent-soft)); box-shadow: var(--aca-shadow); }
.aca .aca-result.is-ok { background: linear-gradient(135deg, var(--aca-card), var(--aca-ok-soft)); }
.aca .aca-result.is-warn { background: linear-gradient(135deg, var(--aca-card), var(--aca-warn-soft)); }
.aca .aca-result.is-danger { background: linear-gradient(135deg, var(--aca-card), var(--aca-danger-soft)); }
.aca .aca-result > .acI3 { width: 64px; height: 64px; }
.aca .aca-result-text { display: grid; gap: 2px; line-height: 1.8; }
.aca .aca-result-text small { color: var(--aca-muted); }
.aca .aca-result-text h2 { font-size: 20px; font-weight: 800; }
.aca .aca-result-text p { color: var(--aca-text-2); }
.aca .aca-result-score { display: grid; gap: 6px; }
.aca .aca-result-score b { font-size: 34px; font-weight: 800; line-height: 1.2; }
.aca .aca-result-score small { color: var(--aca-text-2); }
.aca .aca-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aca .aca-review-title { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 17px; font-weight: 800; }
.aca .aca-review-title .acI3 { width: 26px; height: 26px; }
/* =================================================================
   Certificate and verify page
   ================================================================= */

.aca .aca-box-action { display: grid; gap: 8px; }
.aca.aca-cert-page .aca-cert, .aca.aca-cert-page .aca-verify { max-width: 980px; margin: 0 auto; }
.aca .aca-cert { display: grid; gap: 14px; }
.aca .aca-cert-status { display: flex; align-items: center; gap: 12px; padding: 12px 16px; padding-inline-start: 12px; border: 1px solid var(--aca-line-2); border-radius: 20px; background: var(--aca-ok-soft); }
.aca .aca-cert-status.is-danger { background: var(--aca-danger-soft); }
.aca .aca-cert-status .acI3 { width: 38px; height: 38px; }
.aca .aca-cert-status div { display: grid; line-height: 1.8; }
.aca .aca-cert-status b { font-size: 16px; font-weight: 800; }
.aca .aca-cert-status p { color: var(--aca-text-2); }
.aca .aca-cert-sheet { overflow: hidden; border-radius: 14px; background: #fff; box-shadow: var(--aca-shadow); }
.aca .aca-cert-sheet.is-portrait { max-width: 640px; justify-self: center; width: 100%; }
.aca .aca-cert-svg { display: block; width: 100%; height: auto; font-family: inherit; }
.aca .aca-cert-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aca .aca-cert-actions .is-copied { color: var(--aca-ok); }
.aca .aca-cert-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; margin: 0; }
.aca .aca-cert-facts div { padding: 10px 14px; border: 1px solid var(--aca-line-2); border-radius: 16px; background: var(--aca-card); }
.aca .aca-cert-facts dt { color: var(--aca-muted); font-size: 12px; }
.aca .aca-cert-facts dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.aca .aca-cert-more { color: var(--aca-muted); text-align: center; }

.aca .aca-verify { display: grid; justify-items: center; gap: 10px; padding: 34px 20px; border: 1px solid var(--aca-line-2); border-radius: var(--aca-radius); background: var(--aca-card); text-align: center; box-shadow: var(--aca-shadow); }
.aca .aca-verify > .acI3 { width: 64px; height: 64px; }
.aca .aca-verify h1 { font-size: 22px; font-weight: 800; }
.aca .aca-verify p { max-width: 520px; color: var(--aca-text-2); }
.aca .aca-verify .aca-notice { margin: 0; text-align: right; }
.aca .aca-verify-form { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; width: 100%; max-width: 440px; margin: 4px 0 0; }
.aca .aca-verify-form .aca-input { font-family: ui-monospace, Consolas, monospace; font-size: 16px; letter-spacing: 1px; text-align: center; }

/* Printing a certificate: only the drawing, edge to edge on an A4 page of its orientation */
@page aca-landscape { size: A4 landscape; margin: 0; }
@page aca-portrait { size: A4 portrait; margin: 0; }
@media print {
	body:has(.aca-cert-sheet) * { visibility: hidden; }
	.aca .aca-cert-sheet, .aca .aca-cert-sheet * { visibility: visible; }
	.aca .aca-cert-sheet { position: fixed; inset: 0; border-radius: 0; box-shadow: none; }
	.aca .aca-cert-sheet.is-landscape { page: aca-landscape; }
	.aca .aca-cert-sheet.is-portrait { page: aca-portrait; max-width: none; }
	.aca .aca-cert-svg { width: 100%; height: 100%; }
}

/* =================================================================
   Community: stars, reviews, Q&A, announcements
   ================================================================= */

.aca.aca-inline { display: inline-block; margin: 0; vertical-align: middle; }
.aca .aca-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.aca .aca-stars i { width: 16px; height: 16px; background: var(--aca-line); clip-path: polygon(50% 3%, 62% 36%, 97% 37%, 69% 58%, 79% 92%, 50% 72%, 21% 92%, 31% 58%, 3% 37%, 38% 36%); }
.aca .aca-stars i.is-full { background: #f2b01e; }
.aca .aca-stars i.is-half { background: linear-gradient(to left, #f2b01e 50%, var(--aca-line) 50%); }
.aca .aca-avatar { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-weight: 800; }

.aca .aca-card-title small { margin-inline-start: auto; color: var(--aca-muted); font-size: 13px; font-weight: 600; }
.aca .aca-reviews { display: grid; gap: 14px; }
.aca .aca-reviews .aca-card-title { margin-bottom: 0; }
.aca .aca-rating { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 18px; align-items: center; padding: 14px; border-radius: 18px; background: var(--aca-card-2); }
.aca .aca-rating-score { display: grid; justify-items: center; gap: 4px; }
.aca .aca-rating-score b { font-size: 40px; font-weight: 800; line-height: 1.1; }
.aca .aca-rating-score small { color: var(--aca-muted); }
.aca .aca-rating-spread { display: grid; gap: 6px; }
.aca .aca-rating-spread li { display: grid; grid-template-columns: 18px minmax(0, 1fr) 30px; align-items: center; gap: 10px; color: var(--aca-text-2); font-size: 13px; }
.aca .aca-rating-spread small { color: var(--aca-muted); }

.aca .aca-review-form { display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px dashed #cfe8d8; border-radius: 18px; background: #f7fcf9; }
.aca .aca-star-pick { margin: 0; padding: 0; border: 0; }
.aca .aca-star-pick legend { margin-bottom: 4px; padding: 0; font-weight: 700; }
/* 5 … 1 in the page, shown 1 … 5 from the right: a checked or hovered star lights up with the ones after it */
.aca .aca-star-pick div { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.aca .aca-star-pick input { position: absolute; opacity: 0; }
.aca .aca-star-pick label { width: 30px; height: 30px; background: var(--aca-line); cursor: pointer; clip-path: polygon(50% 3%, 62% 36%, 97% 37%, 69% 58%, 79% 92%, 50% 72%, 21% 92%, 31% 58%, 3% 37%, 38% 36%); transition: background .15s; }
.aca .aca-star-pick input:checked ~ label, .aca .aca-star-pick label:hover, .aca .aca-star-pick label:hover ~ label { background: #f2b01e; }
.aca .aca-star-pick input:focus-visible + label { outline: 2px solid var(--aca-accent); }
.aca .aca-review-send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.aca .aca-review-list { display: grid; gap: 10px; }
.aca .aca-review { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--aca-line-2); border-radius: 18px; background: var(--aca-card-2); }
.aca .aca-review header { display: flex; align-items: center; gap: 10px; }
.aca .aca-review header div { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; line-height: 1.5; }
.aca .aca-review header small { flex-basis: 100%; color: var(--aca-muted); }
.aca .aca-review p { color: var(--aca-text-2); line-height: 1.9; overflow-wrap: anywhere; }
.aca .aca-review-reply { padding: 10px 12px; border-inline-start: 3px solid var(--aca-accent); border-radius: 12px; background: var(--aca-accent-soft); }
.aca .aca-review-reply b { font-size: 13px; }

.aca .aca-qa { display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid var(--aca-line-2); }
.aca .aca-qa-title { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 800; }
.aca .aca-qa-title .acI3 { width: 28px; height: 28px; }
.aca .aca-qa-title small { margin-inline-start: auto; color: var(--aca-muted); font-size: 13px; font-weight: 600; }
.aca .aca-qa-ask, .aca .aca-reply form { display: grid; gap: 8px; margin: 0; }
.aca .aca-qa-ask .aca-btn, .aca .aca-reply .aca-btn { justify-self: start; }
.aca .aca-threads { display: grid; gap: 10px; }
.aca .aca-thread { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--aca-line-2); border-radius: 18px; background: var(--aca-card-2); }
.aca .aca-thread:target { border-color: rgba(22, 163, 74, .45); }
.aca .aca-post { display: grid; gap: 6px; }
.aca .aca-post header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.aca .aca-post header small { margin-inline-start: auto; color: var(--aca-muted); }
.aca .aca-post p { color: var(--aca-text-2); line-height: 1.9; overflow-wrap: anywhere; }
.aca .aca-post.is-hidden { opacity: .55; }
.aca .aca-answers { display: grid; gap: 8px; margin-inline-start: 22px; padding-inline-start: 14px; border-inline-start: 2px solid var(--aca-line); }
.aca .aca-answers .aca-post { padding: 10px 12px; border-radius: 14px; background: var(--aca-card); }
.aca .aca-answers .aca-post.is-staff { background: var(--aca-accent-soft); }
.aca .aca-answers .aca-avatar { width: 28px; height: 28px; font-size: 13px; }
.aca .aca-reply > summary { display: inline-flex; align-items: center; gap: 6px; color: var(--aca-accent-2); font-weight: 700; list-style: none; cursor: pointer; }
.aca .aca-reply > summary::-webkit-details-marker { display: none; }
.aca .aca-reply > summary small { color: var(--aca-muted); font-weight: 600; }
.aca .aca-reply[open] > summary { margin-bottom: 8px; }

.aca .aca-news-list { display: grid; gap: 8px; }
.aca .aca-news-item { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid var(--aca-line-2); border-radius: 16px; background: var(--aca-card-2); line-height: 1.8; }
.aca .aca-news-item.is-new { border-color: rgba(22, 163, 74, .3); }
.aca .aca-news-item b { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.aca .aca-news-item small { color: var(--aca-muted); }
.aca .aca-news-item p { color: var(--aca-text-2); overflow-wrap: anywhere; }

/* =================================================================
   Dashboard (my courses)
   ================================================================= */

.aca .aca-mine-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
/* Icon on the side, the label above the number, so a sum of money stays on one line */
.aca .aca-mine-stats li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 10px; padding: 12px 14px; border: 1px solid var(--aca-line-2); border-radius: 18px; background: var(--aca-card); box-shadow: var(--aca-shadow); line-height: 1.5; }
.aca .aca-mine-stats .acI3 { grid-row: span 2; width: 34px; height: 34px; }
.aca .aca-mine-stats span { color: var(--aca-muted); font-size: 12.5px; }
.aca .aca-mine-stats b { overflow: hidden; font-size: 19px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-dash { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: 14px; align-items: start; }
.aca .aca-dash-main, .aca .aca-dash-side { display: grid; gap: 14px; min-width: 0; }
.aca .aca-dash .aca-mine-list { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.aca .aca-resume { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid rgba(22, 163, 74, .25); border-radius: var(--aca-radius); background: linear-gradient(135deg, var(--aca-card), var(--aca-accent-soft)); box-shadow: var(--aca-shadow); }
.aca .aca-resume > .acI3 { width: 52px; height: 52px; }
.aca .aca-resume-text { display: grid; flex: 1 1 240px; gap: 4px; min-width: 0; }
.aca .aca-resume-text small { color: var(--aca-muted); }
.aca .aca-resume-text h2 { font-size: 18px; font-weight: 800; line-height: 1.6; }
.aca .aca-resume-text p { color: var(--aca-text-2); }
.aca .aca-links { display: grid; gap: 6px; }
.aca .aca-links li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.aca .aca-links a { display: grid; flex: 1 1 160px; gap: 2px; min-width: 0; padding: 8px 10px; border-radius: 12px; background: var(--aca-card-2); color: var(--aca-text); line-height: 1.6; transition: background .2s; }
.aca .aca-links a:hover { background: var(--aca-accent-soft); }
.aca .aca-links a span { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-links a small { color: var(--aca-muted); }
.aca .aca-links a .aca-i { width: 16px; height: 16px; margin-inline-end: 4px; color: var(--aca-accent); vertical-align: -3px; }

/* =================================================================
   Instructors: panel, course card, ledger, payouts
   ================================================================= */

.aca .aca-mine-head > div { flex: 1 1 auto; min-width: 0; }
.aca .aca-form { display: grid; gap: 8px; margin: 0; }
.aca .aca-form .aca-input { flex: none; width: 100%; }
.aca .aca-form .aca-btn { justify-self: start; margin-top: 4px; }
.aca .aca-ledger, .aca .aca-payouts { display: grid; gap: 6px; }
.aca .aca-payouts { margin-top: 10px; }
.aca .aca-ledger li { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: var(--aca-card-2); }
.aca .aca-ledger span { color: var(--aca-muted); font-size: 12.5px; }
.aca .aca-ledger b { font-weight: 600; overflow-wrap: anywhere; }
.aca .aca-ledger bdi { font-weight: 800; white-space: nowrap; }
.aca .aca-ledger .is-plus { color: var(--aca-ok); }
.aca .aca-ledger .is-minus { color: var(--aca-danger); }
.aca .aca-payouts li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 12px; background: var(--aca-card-2); }
.aca .aca-payouts div { display: grid; min-width: 0; line-height: 1.6; }
.aca .aca-payouts span { font-weight: 700; }
.aca .aca-payouts small { color: var(--aca-muted); }
.aca .aca-instructor { display: grid; gap: 10px; margin-top: 16px; }
.aca .aca-instructor .aca-card-title { margin-bottom: 0; }
.aca .aca-instructor-head { display: flex; align-items: center; gap: 10px; }
.aca .aca-instructor-head .aca-avatar { width: 48px; height: 48px; font-size: 20px; }
.aca .aca-instructor-head div { display: grid; line-height: 1.6; }
.aca .aca-instructor-head small { color: var(--aca-muted); }
.aca .aca-instructor p { color: var(--aca-text-2); font-size: 13.5px; line-height: 1.9; }
.aca .aca-instructor-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.aca .aca-instructor-facts li { display: grid; justify-items: center; padding: 8px; border-radius: 14px; background: var(--aca-card-2); line-height: 1.5; }
.aca .aca-instructor-facts b { font-size: 18px; font-weight: 800; }
.aca .aca-instructor-facts small { color: var(--aca-muted); }
/* =================================================================
   Narrow places (container queries: the skin decides the width)
   ================================================================= */

@container aca (max-width: 900px) {
	.aca .aca-course, .aca .aca-player-grid, .aca .aca-checkout-grid, .aca .aca-dash { grid-template-columns: minmax(0, 1fr); }
	.aca .aca-course-side { position: static; order: -1; }
	.aca .aca-player-side { position: static; }
	.aca .aca-side-toggle .aca-curriculum { max-height: none; }
}
@container aca (max-width: 560px) {
	.aca.aca-learn { padding: 6px; border-radius: 20px; }
	.aca .aca-player-head { border-radius: 20px; }
	.aca .aca-player-main { padding: 10px; border-radius: 20px; }
	.aca .aca-lesson-head h1 { font-size: 18px; }
	.aca .aca-player-nav .aca-btn { flex: 1 1 auto; padding: 0 12px; }
	.aca .aca-lesson-meta .aca-chip:not(.is-preview) { display: none; }
	.aca .aca-pdf iframe { height: 70vh; }
	.aca .aca-result { grid-template-columns: auto minmax(0, 1fr); }
	.aca .aca-result-score { grid-column: 1 / -1; }
	.aca .aca-question { padding: 12px; }
	.aca .aca-question-answer { padding-inline-start: 0; }
	.aca .aca-question-mark, .aca .aca-question-explain { margin-inline-start: 0; }
	.aca .aca-quiz-foot .aca-btn { flex: 1 1 100%; }
	.aca .aca-rating { grid-template-columns: minmax(0, 1fr); }
	.aca .aca-answers { margin-inline-start: 6px; }
	.aca .aca-ledger li { grid-template-columns: minmax(0, 1fr) auto; }
	.aca .aca-ledger span { grid-column: 1 / -1; }
}

/* Squircle corners where the browser supports them (scoped to .aca) */
@supports (corner-shape: squircle) {
	.aca, .aca *, .aca *::before, .aca *::after { corner-shape: squircle; }
	.aca .aca-card, .aca .aca-box, .aca .aca-message, .aca .aca-verify, .aca .aca-resume, .aca .aca-mine-item, .aca .aca-mine-head { border-radius: 34px; }
	.aca .aca-player-main, .aca .aca-side-toggle { border-radius: 34px; }
	.aca .aca-section, .aca .aca-box-price, .aca .aca-stage, .aca .aca-locked { border-radius: 28px; }
	.aca .aca-task, .aca .aca-question, .aca .aca-quiz-foot, .aca .aca-result { border-radius: 32px; }
	.aca .aca-instructor-facts li, .aca .aca-review, .aca .aca-thread, .aca .aca-news-item, .aca .aca-rating, .aca .aca-review-form, .aca .aca-mine-stats li, .aca .aca-cert-status, .aca .aca-cert-facts div, .aca .aca-task-facts li, .aca .aca-task-status, .aca .aca-option, .aca .aca-history a, .aca .aca-history summary, .aca .aca-feedback, .aca .aca-answer, .aca .aca-given div, .aca .aca-question-explain, .aca .aca-drop { border-radius: 20px; }
	.aca .aca-btn, .aca .aca-chip, .aca .aca-bar, .aca .aca-bar i, .aca .aca-bar i::after, .aca .aca-sep, .aca .aca-section-no, .aca .aca-state, .aca .aca-player-head, .aca .aca-avatar, .aca .aca-stars i, .aca .aca-star-pick label, .aca .aca-timer, .aca .aca-question-no, .aca .aca-question-mark { corner-shape: round; }
}

/* Bar widths in steps of 5% (imp_academy_bar) */
.aca .aca-w0 { width: 0; } .aca .aca-w5 { width: 5%; } .aca .aca-w10 { width: 10%; } .aca .aca-w15 { width: 15%; }
.aca .aca-w20 { width: 20%; } .aca .aca-w25 { width: 25%; } .aca .aca-w30 { width: 30%; } .aca .aca-w35 { width: 35%; }
.aca .aca-w40 { width: 40%; } .aca .aca-w45 { width: 45%; } .aca .aca-w50 { width: 50%; } .aca .aca-w55 { width: 55%; }
.aca .aca-w60 { width: 60%; } .aca .aca-w65 { width: 65%; } .aca .aca-w70 { width: 70%; } .aca .aca-w75 { width: 75%; }
.aca .aca-w80 { width: 80%; } .aca .aca-w85 { width: 85%; } .aca .aca-w90 { width: 90%; } .aca .aca-w95 { width: 95%; }
.aca .aca-w100 { width: 100%; }

/* =================================================================
   Bundles: the bundle page, the list of bundles, links in the course box,
   the course list in the checkout
   ================================================================= */
.aca .aca-bundle { display: grid; gap: 16px; }
.aca .aca-bundle-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: 22px; align-items: start; padding: 24px; }
.aca .aca-bundle-intro { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.aca .aca-bundle-intro > .acI3 { flex: none; width: 64px; height: 64px; }
.aca .aca-bundle-eyebrow { color: var(--aca-accent-2); font-size: 12.5px; font-weight: 700; }
.aca .aca-bundle-head h1 { margin: 4px 0 8px; font-size: 24px; line-height: 1.5; }
.aca .aca-bundle-text { color: var(--aca-text-2); line-height: 1.9; }
.aca .aca-bundle-buy { display: grid; gap: 8px; padding: 18px; border-radius: 20px; background: var(--aca-card-2); border: 1px solid var(--aca-line-2); text-align: center; }
.aca .aca-bundle-worth { color: var(--aca-muted); font-size: 13px; }
.aca .aca-bundle-saving { justify-self: center; padding: 2px 12px; border-radius: 9px; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-size: 12.5px; font-weight: 700; }
.aca .aca-bundle-subtitle { margin: 6px 0 0; font-size: 17px; }
.aca .aca-bundle-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.aca .aca-bundle-course { display: flex; align-items: center; gap: 12px; padding: 14px 16px; color: inherit; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.aca .aca-bundle-course:hover { transform: translateY(-1px); box-shadow: var(--aca-shadow); }
.aca .aca-bundle-course > .acI3 { flex: none; width: 42px; height: 42px; }
.aca .aca-bundle-course-text { display: grid; flex: 1; min-width: 0; }
.aca .aca-bundle-course-text b { line-height: 1.6; }
.aca .aca-bundle-course-text small { color: var(--aca-muted); font-size: 12px; }
.aca .aca-bundle-course-price { flex: none; color: var(--aca-text-2); font-size: 13px; font-weight: 700; }
.aca .aca-bundle-more { margin: 4px 0 0; font-size: 13px; }
.aca .aca-bundles { display: grid; gap: 12px; }
.aca .aca-bundles-title { margin: 0; font-size: 24px; }
.aca .aca-bundles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.aca .aca-bundles-item { display: grid; gap: 8px; padding: 20px; color: inherit; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.aca .aca-bundles-item:hover { transform: translateY(-1px); box-shadow: var(--aca-shadow); }
.aca .aca-bundles-item > .acI3 { width: 48px; height: 48px; }
.aca .aca-bundles-item small { color: var(--aca-muted); line-height: 1.8; }
.aca .aca-bundles-price { display: flex; align-items: baseline; gap: 10px; }
.aca .aca-bundles-price del { color: var(--aca-muted); font-size: 13px; }
.aca .aca-bundles-price b { color: var(--aca-accent-2); font-size: 17px; }
.aca .aca-bundles-empty { display: grid; justify-items: center; gap: 8px; padding: 40px 16px; border-radius: 20px; background: var(--aca-stripe-track); color: var(--aca-muted); }
.aca .aca-bundles-empty .acI3 { width: 56px; height: 56px; }
.aca .aca-box-bundles { display: grid; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--aca-line-2); }
.aca .aca-box-bundles small { color: var(--aca-muted); font-size: 12px; }
.aca .aca-bundle-link { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: var(--aca-accent-soft); color: var(--aca-accent-2); font-size: 13px; text-decoration: none; }
.aca .aca-bundle-link span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.aca .aca-bundle-link .aca-i { width: 16px; height: 16px; }
.aca .aca-bundle-list { display: grid; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.aca .aca-bundle-list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--aca-line-2); font-size: 13.5px; }
.aca .aca-bundle-list li:last-child { border-bottom: 0; }
.aca .aca-bundle-list b { flex: none; color: var(--aca-muted); font-weight: 600; }
@container (max-width: 720px) { .aca .aca-bundle-head { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .aca .aca-bundle-head { grid-template-columns: minmax(0, 1fr); } }

/* Membership plans */
.aca .aca-plans { display: grid; gap: 12px; }
.aca .aca-plans-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; align-items: start; }
.aca .aca-plan { display: grid; gap: 8px; padding: 22px; }
.aca .aca-plan.is-running { border-color: rgba(22, 163, 74, .35); box-shadow: 0 0 0 1px rgba(22, 163, 74, .25), var(--aca-shadow); }
.aca .aca-plan > .acI3 { width: 50px; height: 50px; }
.aca .aca-plan h2 { margin: 0; font-size: 18px; }
.aca .aca-plan-price { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.aca .aca-plan-price b { color: var(--aca-accent-2); font-size: 22px; }
.aca .aca-plan-price small { color: var(--aca-muted); }
.aca .aca-plan-scope { margin: 0; font-weight: 700; }
.aca .aca-plan-courses, .aca .aca-plan-text { margin: 0; color: var(--aca-text-2); font-size: 13px; line-height: 1.8; }
.aca .aca-plan-until { margin: 0; padding: 8px 12px; border-radius: 12px; background: var(--aca-ok-soft); color: var(--aca-ok); font-size: 13px; font-weight: 600; }
.aca .aca-plan .aca-btn { margin-top: 6px; }

/* Quiz: matching, ordering and fill-in-the-blank */
.aca .aca-match, .aca .aca-order { display: grid; gap: 8px; }
.aca .aca-match-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 10px; padding: 8px 12px; border-radius: 14px; background: var(--aca-sunk); }
.aca .aca-match-row > span, .aca .aca-order-row > span { font-weight: 600; }
.aca .aca-order-row { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 14px; background: var(--aca-sunk); }
.aca .aca-question .aca-order-place { flex: none; width: 76px; }
.aca .aca-order-row > span { flex: 1; min-width: 0; }
.aca .aca-match-row .aca-input, .aca .aca-order-row .aca-input { background: var(--aca-card); }
.aca .aca-blanks { line-height: 2.6; }
.aca .aca-input.aca-blank { display: inline-block; width: 150px; min-height: 0; margin: 0 4px; padding: 3px 10px; vertical-align: middle; }
.aca .aca-blank-line { display: inline-block; min-width: 70px; border-bottom: 2px dashed var(--aca-faint); color: transparent; }
.aca .aca-parts { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aca .aca-parts li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 12px; border-radius: 12px; background: var(--aca-sunk); }
.aca .aca-parts small { color: var(--aca-muted); }
.aca .aca-part.is-right { color: var(--aca-ok); }
.aca .aca-part.is-wrong { color: var(--aca-danger); }
@media (max-width: 560px) { .aca .aca-match-row { grid-template-columns: minmax(0, 1fr); } }

/* Team leader's panel */
.aca .aca-team { display: grid; gap: 14px; }
.aca .aca-team-head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 20px 22px; }
.aca .aca-team-head > .acI3 { width: 54px; height: 54px; }
.aca .aca-team-head > div { flex: 1; min-width: 200px; }
.aca .aca-team-head h1 { margin: 2px 0; font-size: 22px; }
.aca .aca-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.aca .aca-tab { padding: 7px 14px; border-radius: 12px; background: var(--aca-sunk); color: var(--aca-text-2); font-size: 13px; font-weight: 600; text-decoration: none; }
.aca .aca-tab.is-on { background: var(--aca-accent-soft); color: var(--aca-accent-2); }
.aca .aca-team-wrap { overflow-x: auto; }
.aca .aca-team-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.aca .aca-team-table th { padding: 10px 12px; border-bottom: 1px solid var(--aca-line); color: var(--aca-muted); font-weight: 600; text-align: right; white-space: nowrap; }
.aca .aca-team-table td { padding: 10px 12px; border-bottom: 1px solid var(--aca-line-2); vertical-align: middle; }
.aca .aca-team-table td:not(:first-child):not(:last-child) { min-width: 110px; }
.aca .aca-team-cell { display: block; margin-bottom: 4px; font-weight: 700; }
.aca .aca-team-none { color: var(--aca-faint); }
.aca .aca-team-add { display: grid; gap: 10px; }
.aca .aca-btn.is-small { min-height: 32px; padding: 0 12px; font-size: 12.5px; }
.aca .aca-team-add .aca-field { display: grid; gap: 6px; color: var(--aca-text-2); font-size: 13px; }

/* «دوره‌های من» in the DLE profile (front/profile.php) */
.aca .aca-profile { margin: 16px 0; padding: 18px 20px; }
.aca .aca-profile-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.aca .aca-profile-head .acI3 { width: 36px; height: 36px; }
.aca .aca-profile-head h2 { flex: 1; margin: 0; font-size: 17px; }
.aca .aca-profile-head a { font-size: 13px; }
.aca .aca-profile-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aca .aca-profile-item { display: grid; grid-template-columns: minmax(0, 1fr) 160px auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--aca-sunk); }
.aca .aca-profile-item.is-expired { opacity: .7; }
.aca .aca-profile-title { overflow: hidden; color: var(--aca-text); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.aca .aca-profile-progress { display: grid; gap: 4px; font-size: 12px; }
.aca .aca-profile-actions { display: flex; gap: 6px; }
@media (max-width: 600px) { .aca .aca-profile-item { grid-template-columns: minmax(0, 1fr); } }

/* Points and badges */
.aca .aca-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aca .aca-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 8px; border-radius: 12px; background: var(--aca-sunk); font-size: 12.5px; }
.aca .aca-badge .acI3 { width: 26px; height: 26px; }
.aca .aca-badges.is-small .aca-badge { padding: 2px 8px 2px 6px; font-size: 11.5px; }
.aca .aca-badges.is-small .aca-badge .acI3 { width: 20px; height: 20px; }
.aca .aca-my-badges { display: grid; gap: 10px; margin: 0 0 14px; padding: 18px 20px; }
.aca .aca-profile .aca-badges { margin-top: 12px; }
.aca .aca-leaders { padding: 20px 22px; }
.aca .aca-leaders h1 { flex: 1; margin: 0; font-size: 20px; }
.aca .aca-leader-list { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.aca .aca-leader { display: grid; grid-template-columns: 36px minmax(0, 160px) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--aca-sunk); }
.aca .aca-leader.is-mine { box-shadow: inset 0 0 0 1px rgba(22, 163, 74, .4); background: var(--aca-accent-soft); }
.aca .aca-leader-place { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--aca-card); font-weight: 700; }
.aca .aca-leader:nth-child(-n+3) .aca-leader-place { background: var(--aca-warn-soft); color: var(--aca-warn); }
.aca .aca-leader-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aca .aca-leader-points { color: var(--aca-accent-2); font-weight: 700; white-space: nowrap; }
@media (max-width: 600px) { .aca .aca-leader { grid-template-columns: 32px minmax(0, 1fr) auto; } .aca .aca-leader .aca-badges { display: none; } }
.aca .aca-my-badges > .aca-btn { display: inline-flex; width: auto; justify-self: start; align-self: flex-start; margin-top: 12px; }

/* Mobile check (page=mobile) */
.aca .aca-mobile-card { display: grid; gap: 14px; max-width: 440px; margin: 0 auto; padding: 26px 24px; }
.aca .aca-mobile-head { display: flex; align-items: center; gap: 12px; }
.aca .aca-mobile-head .acI3 { width: 44px; height: 44px; flex: none; }
.aca .aca-mobile-head h1 { margin: 0; font-size: 19px; font-weight: 800; }
.aca .aca-mobile-form { display: grid; gap: 8px; margin: 0; }
.aca .aca-mobile-form label { font-size: 13px; font-weight: 700; color: var(--aca-text-2); }
.aca .aca-mobile-form .aca-input { flex: none; width: 100%; text-align: center; font-size: 16px; }
.aca .aca-mobile-form .aca-btn { margin-top: 6px; }
.aca .aca-mobile-code { font-family: ui-monospace, Consolas, monospace; font-size: 20px !important; }
.aca .aca-mobile-again { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 0; }
.aca .aca-mobile-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.aca .aca-link { padding: 0; border: 0; background: none; color: var(--aca-accent); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none; }
.aca .aca-link:hover { text-decoration: underline; }
