/* ════════════════════════════════════════════════════════════════════════
   FILM ACADEMY — styles. Self-contained overlay; nothing leaks into the app.
   ════════════════════════════════════════════════════════════════════════ */
body.fa-lock { overflow: hidden; }

/* ── Home-hub launch strip ─────────────────────────────────────────────── */
.fa-hub-strip {
  margin: 0 0 18px; border-radius: 16px; overflow: hidden;
  background: linear-gradient(120deg, #0ea5b7 0%, #6366f1 55%, #e0843b 110%);
  box-shadow: 0 12px 30px rgba(80, 70, 160, 0.28);
  color: #fff;
}
.fa-hub-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; flex-wrap: wrap; }
.fa-hub-copy { font-size: .92rem; line-height: 1.4; max-width: 540px; }
.fa-hub-copy strong { font-weight: 800; }
.fa-hub-badge { display: inline-block; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.5); font-size: .6rem; font-weight: 900; letter-spacing: .12em; padding: 2px 7px; border-radius: 999px; margin-right: 8px; vertical-align: middle; }
.fa-hub-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.fa-hub-btn { appearance: none; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.12); color: #fff; border-radius: 10px; padding: 9px 13px; font-size: .8rem; font-weight: 800; cursor: pointer; transition: .15s; backdrop-filter: blur(4px); }
.fa-hub-btn:hover { background: rgba(255,255,255,.26); }
.fa-hub-btn.primary { background: #fff; color: #4338ca; border-color: #fff; }
.fa-hub-btn.primary:hover { filter: brightness(.96); }

/* ── Overlay shell ─────────────────────────────────────────────────────── */
.cbs-academy { position: fixed; inset: 0; z-index: 2147483000; display: none; }
.cbs-academy.open { display: block; }
.cbs-academy .fa-backdrop { position: absolute; inset: 0; background: rgba(7, 12, 20, .72); backdrop-filter: blur(3px); }
.cbs-academy .fa-shell {
  position: absolute; inset: 2.2vh 2.2vw; margin: auto; max-width: 1180px;
  background: #0f1720; color: #e7edf4; border-radius: 20px; overflow: hidden;
  display: flex; flex-direction: column; box-shadow: 0 30px 90px rgba(0,0,0,.6);
  border: 1px solid rgba(255,255,255,.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  animation: faIn .28s cubic-bezier(.34,1.4,.64,1) both;
}
@keyframes faIn { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }

.cbs-academy .fa-head { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(90deg, rgba(14,165,183,.16), rgba(99,102,241,.10) 60%, transparent); flex-wrap: wrap; }
.cbs-academy .fa-brand { display: flex; align-items: center; gap: 10px; }
.cbs-academy .fa-logo { width: 40px; height: 40px; display: grid; place-items: center; font-size: 1.2rem; border-radius: 12px; background: linear-gradient(135deg, #0ea5b7, #6366f1); box-shadow: 0 6px 16px rgba(14,165,183,.4); }
.cbs-academy .fa-title { font-weight: 900; font-size: 1.05rem; letter-spacing: -.01em; }
.cbs-academy .fa-tagline { font-size: .68rem; color: #9fb1c4; }
.cbs-academy .fa-tabs { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.cbs-academy .fa-tab { appearance: none; border: 1px solid transparent; background: transparent; color: #b9c6d6; border-radius: 10px; padding: 8px 12px; font-size: .8rem; font-weight: 700; cursor: pointer; transition: .15s; white-space: nowrap; }
.cbs-academy .fa-tab:hover { background: rgba(255,255,255,.06); color: #fff; }
.cbs-academy .fa-tab.active { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.16); }
.cbs-academy .fa-close { appearance: none; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; width: 36px; height: 36px; border-radius: 10px; font-size: 1rem; cursor: pointer; }
.cbs-academy .fa-close:hover { background: rgba(255,80,80,.3); }
.cbs-academy .fa-body { flex: 1; overflow-y: auto; padding: 22px; }

/* Shared bits */
.cbs-academy .fa-sub { color: #9fb1c4; font-size: .86rem; line-height: 1.5; }
.cbs-academy h1, .cbs-academy h2, .cbs-academy h3, .cbs-academy h4, .cbs-academy h5 { margin: 0 0 8px; letter-spacing: -.01em; }
.cbs-academy .fa-btn { appearance: none; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #e7edf4; border-radius: 10px; padding: 10px 16px; font-size: .82rem; font-weight: 800; cursor: pointer; transition: .15s; }
.cbs-academy .fa-btn:hover:not(:disabled) { background: rgba(255,255,255,.14); }
.cbs-academy .fa-btn.primary { background: linear-gradient(135deg, #0ea5b7, #6366f1); border-color: transparent; color: #fff; }
.cbs-academy .fa-btn.primary:hover { filter: brightness(1.08); }
.cbs-academy .fa-btn:disabled { opacity: .5; cursor: not-allowed; }
.cbs-academy .fa-btn.wide { width: 100%; margin-bottom: 8px; }
.cbs-academy .fa-link { background: none; border: 0; color: #6cc6d6; font-weight: 700; cursor: pointer; font-size: .82rem; padding: 4px 0; }
.cbs-academy .fa-empty { padding: 30px; text-align: center; color: #9fb1c4; }
.cbs-academy .fa-progbar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; }
.cbs-academy .fa-progbar.small { height: 6px; }
.cbs-academy .fa-progbar-fill { height: 100%; background: linear-gradient(90deg,#0ea5b7,#6366f1); border-radius: 999px; transition: width .3s; }
.cbs-academy .fa-mini-sel, .cbs-academy .fa-search, .cbs-academy .fa-name-input { background: #16212e; border: 1px solid rgba(255,255,255,.14); color: #e7edf4; border-radius: 10px; padding: 9px 12px; font-size: .85rem; font-family: inherit; }

/* ── HOME ──────────────────────────────────────────────────────────────── */
.cbs-academy .fa-hero { text-align: center; padding: 8px 0 22px; }
.cbs-academy .fa-hero-kick { text-transform: uppercase; letter-spacing: .2em; font-size: .66rem; font-weight: 800; color: #6cc6d6; }
.cbs-academy .fa-hero h1 { font-size: 1.9rem; margin-top: 6px; }
.cbs-academy .fa-hero p { color: #b9c6d6; max-width: 680px; margin: 8px auto 0; line-height: 1.55; }
.cbs-academy .fa-home-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cbs-academy .fa-card { text-align: left; border: 1px solid rgba(255,255,255,.1); background: #16212e; border-radius: 16px; padding: 18px; cursor: pointer; transition: .18s; color: #e7edf4; position: relative; overflow: hidden; }
.cbs-academy .fa-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.24); box-shadow: 0 14px 30px rgba(0,0,0,.4); }
.cbs-academy .fa-card-ico { font-size: 1.7rem; margin-bottom: 6px; }
.cbs-academy .fa-card h3 { font-size: 1.05rem; }
.cbs-academy .fa-card p { color: #9fb1c4; font-size: .84rem; line-height: 1.45; margin: 0 0 10px; }
.cbs-academy .fa-card-cta { font-weight: 800; font-size: .82rem; color: #6cc6d6; }
.cbs-academy .fa-card-ency::after, .cbs-academy .fa-card-quiz::after, .cbs-academy .fa-card-school::after, .cbs-academy .fa-card-arcade::after { content: ''; position: absolute; right: -30px; top: -30px; width: 120px; height: 120px; border-radius: 50%; opacity: .14; }
.cbs-academy .fa-card-ency::after { background: #0ea5b7; }
.cbs-academy .fa-card-quiz::after { background: #ec4899; }
.cbs-academy .fa-card-school::after { background: #6366f1; }
.cbs-academy .fa-card-arcade::after { background: #e0843b; }
.cbs-academy .fa-home-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.cbs-academy .fa-hstat { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; text-align: center; padding: 12px; }
.cbs-academy .fa-hstat strong { display: block; font-size: 1.3rem; }
.cbs-academy .fa-hstat span { font-size: .66rem; color: #9fb1c4; text-transform: uppercase; letter-spacing: .05em; }

/* ── ENCYCLOPEDIA ──────────────────────────────────────────────────────── */
.cbs-academy .fa-ency-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.cbs-academy .fa-search { flex: 1; min-width: 200px; }
.cbs-academy .fa-slang-toggle { font-size: .76rem; color: #b9c6d6; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.cbs-academy .fa-cat-row { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.cbs-academy .fa-cat { appearance: none; border: 1px solid rgba(255,255,255,.12); background: #16212e; color: #b9c6d6; border-radius: 999px; padding: 6px 11px; font-size: .74rem; font-weight: 700; cursor: pointer; transition: .15s; }
.cbs-academy .fa-cat:hover { color: #fff; }
.cbs-academy .fa-cat.on { background: linear-gradient(135deg,#0ea5b7,#6366f1); border-color: transparent; color: #fff; }
.cbs-academy .fa-ency-count { font-size: .72rem; color: #9fb1c4; margin-bottom: 8px; }
.cbs-academy .fa-term { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 12px 14px; margin-bottom: 8px; cursor: pointer; transition: .15s; }
.cbs-academy .fa-term:hover { border-color: rgba(255,255,255,.2); }
.cbs-academy .fa-term-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.cbs-academy .fa-term-name { font-weight: 800; font-size: .95rem; }
.cbs-academy .fa-term-tags { display: flex; gap: 6px; align-items: center; }
.cbs-academy .fa-tag { font-size: .58rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; padding: 2px 7px; border-radius: 999px; }
.cbs-academy .fa-tag.t1 { background: rgba(34,197,94,.18); color: #6ee7a8; }
.cbs-academy .fa-tag.t2 { background: rgba(250,204,21,.16); color: #fcd34d; }
.cbs-academy .fa-tag.t3 { background: rgba(236,72,153,.18); color: #f9a8d4; }
.cbs-academy .fa-tag.slang { background: rgba(99,102,241,.2); color: #c7d2fe; }
.cbs-academy .fa-term-cat { font-size: .64rem; color: #7e93a8; }
.cbs-academy .fa-term-def { max-height: 0; overflow: hidden; color: #c2cfdd; font-size: .85rem; line-height: 1.5; transition: max-height .25s, margin .25s; }
.cbs-academy .fa-term.open .fa-term-def { max-height: 240px; margin-top: 8px; }

/* ── QUIZ ──────────────────────────────────────────────────────────────── */
.cbs-academy .fa-diff-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0; }
.cbs-academy .fa-diff { text-align: left; border: 1px solid rgba(255,255,255,.12); background: #16212e; border-radius: 14px; padding: 16px; cursor: pointer; color: #e7edf4; transition: .16s; }
.cbs-academy .fa-diff:hover { transform: translateY(-3px); border-color: #6366f1; }
.cbs-academy .fa-diff-ico { font-size: 1.6rem; }
.cbs-academy .fa-diff-name { font-weight: 900; margin-top: 4px; }
.cbs-academy .fa-diff-desc { font-size: .74rem; color: #9fb1c4; margin-top: 4px; min-height: 48px; }
.cbs-academy .fa-diff-best { font-size: .7rem; color: #6cc6d6; font-weight: 800; margin-top: 6px; }
.cbs-academy .fa-quiz-catpick { display: flex; align-items: center; gap: 10px; }
.cbs-academy .fa-quiz-catpick label { font-size: .82rem; color: #b9c6d6; font-weight: 700; }
.cbs-academy .fa-quiz-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cbs-academy .fa-quiz-meta { font-size: .78rem; color: #b9c6d6; font-weight: 700; }
.cbs-academy .fa-quiz-score { font-weight: 900; }
.cbs-academy .fa-q-card { background: #16212e; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 22px; margin-top: 12px; }
.cbs-academy .fa-q-cat { font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: #6cc6d6; font-weight: 800; }
.cbs-academy .fa-q-text { font-size: 1.15rem; font-weight: 700; margin: 8px 0 18px; line-height: 1.4; }
.cbs-academy .fa-q-choices { display: grid; gap: 10px; }
.cbs-academy .fa-choice { text-align: left; appearance: none; border: 1.5px solid rgba(255,255,255,.14); background: #1b2836; color: #e7edf4; border-radius: 12px; padding: 13px 16px; font-size: .9rem; font-weight: 600; cursor: pointer; transition: .14s; font-family: inherit; }
.cbs-academy .fa-choice:hover:not(:disabled) { border-color: #6366f1; background: #21344a; }
.cbs-academy .fa-choice.correct { border-color: #22c55e; background: rgba(34,197,94,.18); }
.cbs-academy .fa-choice.wrong { border-color: #ef4444; background: rgba(239,68,68,.16); }
.cbs-academy .fa-q-feedback { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cbs-academy .fa-q-feedback .ok { color: #6ee7a8; font-weight: 800; }
.cbs-academy .fa-q-feedback .no { color: #fca5a5; font-weight: 800; }
.cbs-academy .fa-quiz-result { text-align: center; padding: 30px 10px; }
.cbs-academy .fa-result-ring { width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 16px; display: grid; place-items: center; background: conic-gradient(#0ea5b7 calc(var(--pct)*1%), rgba(255,255,255,.1) 0); }
.cbs-academy .fa-result-ring::before { content: ''; position: absolute; width: 116px; height: 116px; border-radius: 50%; background: #0f1720; }
.cbs-academy .fa-result-num { position: relative; font-size: 1.7rem; font-weight: 900; }
.cbs-academy .fa-result-actions { display: flex; gap: 10px; justify-content: center; margin-top: 18px; }

/* ── FILM SCHOOL ───────────────────────────────────────────────────────── */
.cbs-academy .fa-name-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.cbs-academy .fa-name-row label { font-size: .78rem; color: #b9c6d6; font-weight: 700; }
.cbs-academy .fa-tier { border: 1px solid rgba(255,255,255,.1); border-left: 4px solid var(--tier, #0ea5b7); background: #16212e; border-radius: 14px; padding: 16px 18px; margin-top: 16px; }
.cbs-academy .fa-tier-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.cbs-academy .fa-tier-name { font-weight: 900; font-size: 1.05rem; }
.cbs-academy .fa-tier-level { font-size: .72rem; color: var(--tier); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.cbs-academy .fa-tier-prog { display: flex; align-items: center; gap: 8px; min-width: 160px; }
.cbs-academy .fa-tier-prog .fa-progbar { flex: 1; }
.cbs-academy .fa-tier-prog span { font-size: .72rem; color: #9fb1c4; white-space: nowrap; }
.cbs-academy .fa-tier-blurb { color: #9fb1c4; font-size: .82rem; margin: 8px 0 12px; line-height: 1.45; }
.cbs-academy .fa-week-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.cbs-academy .fa-week { text-align: left; border: 1px solid rgba(255,255,255,.1); background: #1b2836; color: #e7edf4; border-radius: 10px; padding: 10px 12px; cursor: pointer; transition: .14s; }
.cbs-academy .fa-week:hover { border-color: var(--tier); transform: translateY(-2px); }
.cbs-academy .fa-week.done { background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.4); }
.cbs-academy .fa-week-num { display: block; font-size: .68rem; font-weight: 900; color: var(--tier); }
.cbs-academy .fa-week-title { font-size: .8rem; font-weight: 700; }
.cbs-academy .fa-btn.cert { width: 100%; }

/* Lesson view */
.cbs-academy .fa-lesson-kick { text-transform: uppercase; letter-spacing: .14em; font-size: .66rem; font-weight: 800; color: var(--tier, #0ea5b7); margin-top: 6px; }
.cbs-academy .fa-lesson h2 { font-size: 1.5rem; }
.cbs-academy .fa-lesson-sum { color: #b9c6d6; line-height: 1.5; }
.cbs-academy .fa-lesson-cols { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px; margin-top: 16px; }
.cbs-academy .fa-lesson-main h4 { margin: 18px 0 8px; font-size: .9rem; color: #6cc6d6; text-transform: uppercase; letter-spacing: .05em; }
.cbs-academy .fa-acc { border: 1px solid rgba(255,255,255,.1); border-radius: 10px; margin-bottom: 8px; overflow: hidden; }
.cbs-academy .fa-acc-head { width: 100%; text-align: left; background: #1b2836; color: #e7edf4; border: 0; padding: 12px 14px; font-weight: 700; font-size: .88rem; cursor: pointer; display: flex; justify-content: space-between; }
.cbs-academy .fa-acc-head span { transition: .2s; }
.cbs-academy .fa-acc.open .fa-acc-head span { transform: rotate(180deg); }
.cbs-academy .fa-acc-body { max-height: 0; overflow: hidden; transition: max-height .3s; }
.cbs-academy .fa-acc.open .fa-acc-body { max-height: 420px; }
.cbs-academy .fa-acc-body p { padding: 4px 14px 14px; color: #c2cfdd; font-size: .85rem; line-height: 1.55; margin: 0; }
.cbs-academy .fa-assign, .cbs-academy .fa-reading { background: rgba(14,165,183,.1); border: 1px solid rgba(14,165,183,.25); border-radius: 10px; padding: 12px 14px; font-size: .85rem; line-height: 1.5; color: #d6e6ec; }
.cbs-academy .fa-reading { background: rgba(99,102,241,.1); border-color: rgba(99,102,241,.25); }
/* ── "From the book" deep-dive section ─────────────────────────────────── */
.cbs-academy .fa-book { margin: 18px 0 6px; border: 1px solid rgba(216,166,87,.32); border-radius: 14px; background: linear-gradient(180deg, rgba(216,166,87,.10), rgba(216,166,87,.03)); padding: 4px 16px 16px; }
.cbs-academy .fa-book-flag { display: inline-block; margin: -4px 0 6px -4px; padding: 6px 12px; font-size: .72rem; letter-spacing: .03em; color: #f0d39a; background: rgba(216,166,87,.16); border-bottom-right-radius: 10px; border-bottom-left-radius: 4px; }
.cbs-academy .fa-book-flag em { color: #f6e4bd; font-style: italic; }
.cbs-academy .fa-book-deep p { color: #e6d8be; font-size: .9rem; line-height: 1.62; margin: 0 0 11px; }
.cbs-academy .fa-book-deep p:last-child { margin-bottom: 4px; }
.cbs-academy .fa-book-panic { margin-top: 12px; border: 1px solid rgba(239,108,79,.4); border-left: 4px solid #ef6c4f; border-radius: 10px; background: rgba(239,108,79,.08); padding: 12px 14px; }
.cbs-academy .fa-book-panic-h { font-weight: 800; color: #ff9b7d; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 6px; }
.cbs-academy .fa-book-panic p { color: #f0dcd2; font-size: .84rem; line-height: 1.5; margin: 4px 0; }
.cbs-academy .fa-book-panic strong { color: #ffd0bd; }
.cbs-academy .fa-book-triage { margin: 4px 0 4px 18px; padding: 0; color: #f0dcd2; font-size: .84rem; line-height: 1.5; }
.cbs-academy .fa-book-triage li { margin: 2px 0; }
.cbs-academy .fa-book-diag { margin-top: 12px; border: 1px solid rgba(108,198,214,.34); border-left: 4px solid #6cc6d6; border-radius: 10px; background: rgba(108,198,214,.08); padding: 12px 14px; }
.cbs-academy .fa-book-diag-h { font-weight: 800; color: #9fe0ec; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.cbs-academy .fa-book-diag p { color: #d6ecf1; font-size: .84rem; line-height: 1.55; margin: 0; }
.cbs-academy .fa-side-card { background: #1b2836; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.cbs-academy .fa-side-card h5 { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #9fb1c4; }
.cbs-academy .fa-side-card ul { margin: 0; padding-left: 18px; }
.cbs-academy .fa-side-card li { font-size: .82rem; color: #c2cfdd; margin-bottom: 5px; line-height: 1.4; }

/* ── ARCADE ────────────────────────────────────────────────────────────── */
.cbs-academy .fa-arcade-head { text-align: center; margin-bottom: 14px; }
.cbs-academy .fa-game-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cbs-academy .fa-game { text-align: left; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(160deg,#1b2836,#16212e); border-radius: 16px; padding: 18px; cursor: pointer; color: #e7edf4; transition: .16s; }
.cbs-academy .fa-game:hover { transform: translateY(-4px); border-color: #e0843b; box-shadow: 0 14px 28px rgba(0,0,0,.4); }
.cbs-academy .fa-game-ico { font-size: 2rem; }
.cbs-academy .fa-game h3 { margin-top: 6px; }
.cbs-academy .fa-game p { color: #9fb1c4; font-size: .82rem; line-height: 1.45; }
.cbs-academy .fa-game-best { font-size: .72rem; font-weight: 800; color: #f0a868; }
.cbs-academy .fa-game-stage { margin-top: 16px; }
.cbs-academy .fa-brick-wrap { text-align: center; }
.cbs-academy .fa-brick-hud { display: flex; justify-content: space-between; max-width: 640px; margin: 0 auto 8px; font-weight: 800; font-size: .85rem; color: #e7edf4; }
.cbs-academy #fa-brick { width: 100%; max-width: 640px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); touch-action: none; background: #0c1420; }
.cbs-academy .fa-brick-msg { color: #9fb1c4; font-size: .78rem; margin-top: 8px; }
.cbs-academy .fa-gameover { text-align: center; padding: 30px; }
.cbs-academy .fa-gameover h3 { font-size: 1.5rem; }
.cbs-academy .fa-lingo-hud { display: flex; justify-content: space-between; max-width: 560px; margin: 0 auto 10px; font-weight: 700; color: #b9c6d6; font-size: .82rem; }
.cbs-academy .fa-lingo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; max-width: 640px; margin: 0 auto; }
.cbs-academy .fa-lcard { aspect-ratio: 3/4; border: 0; background: transparent; cursor: pointer; perspective: 600px; padding: 0; }
.cbs-academy .fa-lcard-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .35s; }
.cbs-academy .fa-lcard.flip .fa-lcard-inner, .cbs-academy .fa-lcard.done .fa-lcard-inner { transform: rotateY(180deg); }
.cbs-academy .fa-lcard-front, .cbs-academy .fa-lcard-back { position: absolute; inset: 0; backface-visibility: hidden; border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 8px; text-align: center; font-size: .72rem; font-weight: 700; }
.cbs-academy .fa-lcard-front { background: linear-gradient(135deg,#0ea5b7,#6366f1); font-size: 1.4rem; }
.cbs-academy .fa-lcard-back { transform: rotateY(180deg); background: #1b2836; border: 1px solid rgba(255,255,255,.14); color: #e7edf4; line-height: 1.3; }
.cbs-academy .fa-lcard-back.term { background: #233a52; font-weight: 900; }
.cbs-academy .fa-lcard.done { opacity: .5; }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 860px) {
  .cbs-academy .fa-shell { inset: 0; border-radius: 0; max-width: none; }
  .cbs-academy .fa-tabs { order: 3; width: 100%; margin-left: 0; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; justify-content: flex-start; gap: 4px; scrollbar-width: none; }
  .cbs-academy .fa-tabs::-webkit-scrollbar { display: none; }
  .cbs-academy .fa-tab { flex: 0 0 auto; padding: 8px 11px; font-size: .74rem; text-align: center; white-space: nowrap; }
  .cbs-academy .fa-home-grid, .cbs-academy .fa-diff-grid, .cbs-academy .fa-game-grid, .cbs-academy .fa-week-grid { grid-template-columns: 1fr; }
  .cbs-academy .fa-home-stats { grid-template-columns: repeat(2,1fr); }
  .cbs-academy .fa-lesson-cols { grid-template-columns: 1fr; }
  .cbs-academy .fa-diff-grid { grid-template-columns: repeat(2,1fr); }
  .cbs-academy .fa-lingo-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 520px) {
  .cbs-academy .fa-diff-grid { grid-template-columns: 1fr; }
  .cbs-academy .fa-body { padding: 16px 14px; }
  .fa-hub-inner { flex-direction: column; align-items: flex-start; }
}

/* ════════════════════════════════════════════════════════════════════════
   v2 ADDITIONS — term-of-day, achievements, phase/A-Z, favorites, related,
   quiz config/timer/review, Continuity Catch
   ════════════════════════════════════════════════════════════════════════ */

/* Term of the Day */
.cbs-academy .fa-totd { background: linear-gradient(120deg, rgba(14,165,183,.16), rgba(99,102,241,.14)); border: 1px solid rgba(14,165,183,.3); border-radius: 16px; padding: 16px 18px; margin-bottom: 16px; cursor: pointer; transition: .16s; }
.cbs-academy .fa-totd:hover { border-color: rgba(14,165,183,.6); transform: translateY(-2px); }
.cbs-academy .fa-totd-tag { font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; color: #6cc6d6; }
.cbs-academy .fa-totd-term { font-size: 1.2rem; font-weight: 800; margin: 4px 0; }
.cbs-academy .fa-totd-def { color: #c2cfdd; font-size: .86rem; line-height: 1.5; }
.cbs-academy .fa-totd-cta { display: inline-block; margin-top: 8px; font-size: .76rem; font-weight: 800; color: #6cc6d6; }

/* Achievements */
.cbs-academy .fa-ach { margin-top: 20px; }
.cbs-academy .fa-ach-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cbs-academy .fa-ach-head h3 { display: flex; align-items: center; gap: 8px; margin: 0; }
.cbs-academy .fa-count { font-size: .7rem; font-weight: 800; color: #0ea5b7; background: rgba(14,165,183,.16); border-radius: 999px; padding: 2px 9px; }
.cbs-academy .fa-ach-streak { font-size: .78rem; font-weight: 800; color: #f0a868; }
.cbs-academy .fa-ach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.cbs-academy .fa-badge { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 12px; text-align: center; opacity: .55; transition: .16s; }
.cbs-academy .fa-badge.on { opacity: 1; border-color: rgba(250,204,21,.4); background: linear-gradient(160deg, #1d2a1c, #16212e); }
.cbs-academy .fa-badge-ico { font-size: 1.6rem; }
.cbs-academy .fa-badge-label { font-weight: 800; font-size: .82rem; margin-top: 2px; }
.cbs-academy .fa-badge-desc { font-size: .66rem; color: #9fb1c4; margin-top: 2px; line-height: 1.3; }
.cbs-academy .fa-badge-prog { font-size: .64rem; font-weight: 800; color: #6cc6d6; margin-top: 4px; }

/* Phase + A-Z + favorites */
.cbs-academy .fa-phase-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.cbs-academy .fa-phase { appearance: none; border: 1px solid rgba(255,255,255,.12); background: transparent; color: #9fb1c4; border-radius: 8px; padding: 5px 11px; font-size: .72rem; font-weight: 800; cursor: pointer; transition: .14s; }
.cbs-academy .fa-phase:hover { color: #fff; }
.cbs-academy .fa-phase.on { background: rgba(99,102,241,.22); border-color: #6366f1; color: #fff; }
.cbs-academy .fa-az { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 12px; }
.cbs-academy .fa-az-btn { appearance: none; border: 0; background: #16212e; color: #9fb1c4; width: 24px; height: 24px; border-radius: 6px; font-size: .68rem; font-weight: 800; cursor: pointer; transition: .12s; }
.cbs-academy .fa-az-btn:hover { background: #0ea5b7; color: #fff; }
.cbs-academy .fa-star { appearance: none; border: 0; background: transparent; color: #facc15; font-size: 1rem; cursor: pointer; line-height: 1; padding: 0 2px; }
.cbs-academy .fa-star:not(.on) { color: #4a5b6e; }
.cbs-academy .fa-star:hover { transform: scale(1.2); }
.cbs-academy .fa-term.fa-flash { animation: faFlash 0.9s ease; }
@keyframes faFlash { 0%,100% { background: #16212e; } 30% { background: #233a52; } }
.cbs-academy mark { background: rgba(250,204,21,.35); color: inherit; border-radius: 3px; padding: 0 1px; }

/* Related terms */
.cbs-academy .fa-rel-row { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cbs-academy .fa-rel-lbl { font-size: .68rem; color: #7e93a8; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.cbs-academy .fa-rel { appearance: none; border: 1px solid rgba(255,255,255,.14); background: #1b2836; color: #b9c6d6; border-radius: 999px; padding: 3px 10px; font-size: .72rem; font-weight: 700; cursor: pointer; transition: .14s; }
.cbs-academy .fa-rel:hover { border-color: #0ea5b7; color: #fff; }
.cbs-academy .fa-term.open .fa-term-def { max-height: 320px; }

/* Quiz config + timer + review */
.cbs-academy .fa-quiz-config { display: flex; gap: 14px; flex-wrap: wrap; margin: 14px 0; align-items: flex-end; }
.cbs-academy .fa-cfg { display: flex; flex-direction: column; gap: 5px; }
.cbs-academy .fa-cfg label { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; color: #9fb1c4; }
.cbs-academy .fa-seg { display: flex; gap: 4px; background: #16212e; border-radius: 10px; padding: 3px; }
.cbs-academy .fa-seg-btn { appearance: none; border: 0; background: transparent; color: #9fb1c4; border-radius: 8px; padding: 7px 12px; font-size: .78rem; font-weight: 800; cursor: pointer; }
.cbs-academy .fa-seg-btn.on { background: linear-gradient(135deg,#0ea5b7,#6366f1); color: #fff; }
.cbs-academy .fa-timerbar { height: 6px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; margin-top: 8px; }
.cbs-academy .fa-timerbar-fill { height: 100%; width: 100%; background: linear-gradient(90deg,#22c55e,#facc15); border-radius: 999px; transition: width .12s linear; }
.cbs-academy .fa-review { margin: 16px auto 0; max-width: 560px; text-align: left; background: #16212e; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 4px 14px; }
.cbs-academy .fa-review summary { cursor: pointer; font-weight: 800; padding: 10px 0; color: #fca5a5; }
.cbs-academy .fa-review-item { border-top: 1px solid rgba(255,255,255,.08); padding: 10px 0; }
.cbs-academy .fa-review-q { font-size: .84rem; color: #c2cfdd; margin-bottom: 4px; }
.cbs-academy .fa-review-a { font-size: .82rem; color: #6ee7a8; font-weight: 700; display: flex; justify-content: space-between; gap: 8px; }
.cbs-academy .fa-review-a span { color: #7e93a8; font-weight: 600; }

/* Continuity Catch */
.cbs-academy .fa-catch-hud { display: flex; justify-content: space-between; max-width: 480px; margin: 0 auto 12px; font-weight: 800; font-size: .82rem; color: #e7edf4; }
.cbs-academy .fa-catch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 480px; margin: 0 auto; }
.cbs-academy .fa-hole { aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 50% 120%, #1b2836, #0c1420); border-radius: 16px; cursor: pointer; overflow: hidden; position: relative; padding: 0; }
.cbs-academy .fa-mole { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; transform: translateY(110%); transition: transform .12s ease; }
.cbs-academy .fa-hole.up .fa-mole { transform: translateY(0); }
.cbs-academy .fa-hole.whacked { background: rgba(34,197,94,.3); }
.cbs-academy .fa-hole.whacked-bad { background: rgba(239,68,68,.3); }

/* ════════════════════════════════════════════════════════════════════════
   v3 — Course catalog, certificate pathways, course page, cert callouts
   ════════════════════════════════════════════════════════════════════════ */
.cbs-academy .fa-section-h { display: flex; align-items: center; gap: 10px; font-size: 1rem; font-weight: 900; margin: 22px 0 12px; color: #e7edf4; }

/* Certificate pathway cards */
.cbs-academy .fa-prog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cbs-academy .fa-prog { border: 1px solid rgba(255,255,255,.1); border-top: 4px solid var(--c, #0ea5b7); background: #16212e; border-radius: 14px; padding: 16px; }
.cbs-academy .fa-prog-name { font-weight: 900; font-size: 1rem; }
.cbs-academy .fa-prog-level { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--c); margin-top: 2px; }
.cbs-academy .fa-prog-blurb { color: #9fb1c4; font-size: .8rem; line-height: 1.45; margin: 8px 0 10px; }
.cbs-academy .fa-prog-courses { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 12px; }
.cbs-academy .fa-cchip { appearance: none; border: 1px solid rgba(255,255,255,.14); background: #1b2836; color: #b9c6d6; border-radius: 999px; padding: 4px 10px; font-size: .7rem; font-weight: 800; cursor: pointer; transition: .14s; }
.cbs-academy .fa-cchip:hover { border-color: var(--c); color: #fff; }
.cbs-academy .fa-cchip.done { background: rgba(34,197,94,.16); border-color: rgba(34,197,94,.4); color: #6ee7a8; }

/* Course catalog cards */
.cbs-academy .fa-course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cbs-academy .fa-course { text-align: left; border: 1px solid rgba(255,255,255,.1); border-left: 4px solid var(--c, #0ea5b7); background: #16212e; border-radius: 14px; padding: 14px; cursor: pointer; color: #e7edf4; transition: .16s; }
.cbs-academy .fa-course:hover { transform: translateY(-3px); border-color: var(--c); box-shadow: 0 14px 28px rgba(0,0,0,.4); }
.cbs-academy .fa-course.done { background: linear-gradient(160deg, #19271d, #16212e); }
.cbs-academy .fa-course-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.cbs-academy .fa-course-ico { font-size: 1.3rem; }
.cbs-academy .fa-course-code { font-size: .68rem; font-weight: 900; letter-spacing: .06em; color: var(--c); }
.cbs-academy .fa-course-badge { margin-left: auto; font-size: .6rem; font-weight: 900; color: #6ee7a8; background: rgba(34,197,94,.16); border-radius: 999px; padding: 2px 8px; }
.cbs-academy .fa-course-title { font-weight: 800; font-size: 1.02rem; }
.cbs-academy .fa-course-level { font-size: .66rem; color: #7e93a8; text-transform: uppercase; letter-spacing: .04em; margin: 2px 0 6px; }
.cbs-academy .fa-course-tag { font-size: .8rem; color: #9fb1c4; line-height: 1.4; min-height: 44px; margin-bottom: 10px; }
.cbs-academy .fa-course-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; font-size: .72rem; font-weight: 800; color: #b9c6d6; }
.cbs-academy .fa-course-cert { color: #f0a868; }

/* Course page */
.cbs-academy .fa-coursepage { }
.cbs-academy .fa-cp-hero { display: flex; align-items: flex-start; gap: 16px; margin: 10px 0 6px; }
.cbs-academy .fa-cp-ico { font-size: 2.4rem; width: 60px; height: 60px; display: grid; place-items: center; border-radius: 14px; background: color-mix(in srgb, var(--c) 22%, #16212e); flex: 0 0 auto; }
.cbs-academy .fa-cp-headtext { flex: 1; min-width: 0; }
.cbs-academy .fa-cp-code { font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--c); }
.cbs-academy .fa-coursepage h2 { font-size: 1.6rem; margin: 2px 0; }
.cbs-academy .fa-cp-tag { color: #b9c6d6; font-size: .9rem; }
.cbs-academy .fa-cp-soft { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cbs-academy .fa-soft { font-size: .66rem; font-weight: 800; background: #1b2836; border: 1px solid rgba(255,255,255,.12); color: #b9c6d6; border-radius: 6px; padding: 3px 8px; }
.cbs-academy .fa-result-ring.small { width: 76px; height: 76px; flex: 0 0 auto; }
.cbs-academy .fa-result-ring.small::before { width: 58px; height: 58px; }
.cbs-academy .fa-result-ring.small .fa-result-num { font-size: .9rem; }
.cbs-academy .fa-cp-desc { color: #c2cfdd; font-size: .9rem; line-height: 1.55; margin: 10px 0 6px; }
.cbs-academy .fa-cp-cols { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px; margin-top: 8px; }
.cbs-academy .fa-cp-main h4 { margin: 16px 0 8px; font-size: .9rem; color: var(--c); text-transform: uppercase; letter-spacing: .05em; }
.cbs-academy .fa-outcomes { margin: 0; padding-left: 18px; }
.cbs-academy .fa-outcomes li { color: #c2cfdd; font-size: .86rem; margin-bottom: 5px; line-height: 1.4; }
.cbs-academy .fa-week-grid.wide { grid-template-columns: repeat(4, 1fr); }

/* External certification callout */
.cbs-academy .fa-cert-callout { background: linear-gradient(160deg, rgba(240,168,104,.14), #16212e); border: 1px solid rgba(240,168,104,.32); border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.cbs-academy .fa-cert-h { font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: #f0a868; margin-bottom: 8px; }
.cbs-academy .fa-cert-item { padding: 8px 0; border-top: 1px solid rgba(255,255,255,.08); }
.cbs-academy .fa-cert-item:first-of-type { border-top: 0; }
.cbs-academy .fa-cert-name { font-weight: 800; font-size: .82rem; color: #e7edf4; line-height: 1.3; }
.cbs-academy .fa-cert-prov { font-size: .68rem; color: #f0a868; font-weight: 700; margin: 2px 0; }
.cbs-academy .fa-cert-blurb { font-size: .74rem; color: #9fb1c4; line-height: 1.4; }

@media (max-width: 860px) {
  .cbs-academy .fa-prog-grid, .cbs-academy .fa-course-grid { grid-template-columns: 1fr; }
  .cbs-academy .fa-cp-cols { grid-template-columns: 1fr; }
  .cbs-academy .fa-week-grid.wide { grid-template-columns: repeat(2, 1fr); }
}

/* ════════════════════════════════════════════════════════════════════════
   v4 — Accreditation: CEUs, exams, capstone, skills, breadcrumb, Records
   (transcript / verify / standards), a11y, reduce-motion, print
   ════════════════════════════════════════════════════════════════════════ */
.cbs-academy .fa-school-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 10px 0; }
.cbs-academy .fa-meta-chip { font-size: .7rem; font-weight: 800; background: #16212e; border: 1px solid rgba(255,255,255,.12); color: #b9c6d6; border-radius: 999px; padding: 4px 11px; }
.cbs-academy .fa-meta-chip.pass { background: rgba(34,197,94,.16); border-color: rgba(34,197,94,.4); color: #6ee7a8; }
.cbs-academy .fa-meta-chip.warn { background: rgba(250,204,21,.14); border-color: rgba(250,204,21,.4); color: #fcd34d; }
.cbs-academy .fa-meta-link { appearance: none; background: none; border: 0; color: #6cc6d6; font-weight: 800; font-size: .76rem; cursor: pointer; }
.cbs-academy .fa-meta-link:hover { text-decoration: underline; }
.cbs-academy .fa-course-badge.enrolled { color: #6cc6d6; background: rgba(14,165,183,.16); }

/* Breadcrumb */
.cbs-academy .fa-crumb { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: #7e93a8; margin-bottom: 8px; }
.cbs-academy .fa-crumb .fa-link { padding: 0; }
.cbs-academy .fa-crumb-cur { font-weight: 800; color: #e7edf4; }

/* Course page extras */
.cbs-academy .fa-cp-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cbs-academy .fa-cp-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
.cbs-academy .fa-h-note { font-size: .68rem; font-weight: 700; color: #7e93a8; text-transform: none; letter-spacing: 0; }
.cbs-academy .fa-skills { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
.cbs-academy .fa-skill { font-size: .7rem; font-weight: 700; background: color-mix(in srgb, var(--c, #0ea5b7) 18%, #16212e); border: 1px solid rgba(255,255,255,.1); color: #d6e6ec; border-radius: 999px; padding: 4px 10px; }
.cbs-academy .fa-capstone { background: rgba(99,102,241,.1); border: 1px solid rgba(99,102,241,.28); border-radius: 12px; padding: 14px; }
.cbs-academy .fa-capstone-brief { color: #c2cfdd; font-size: .86rem; line-height: 1.5; }
.cbs-academy .fa-capstone-assign, .cbs-academy .fa-rubric { font-size: .82rem; color: #b9c6d6; margin-top: 8px; line-height: 1.45; }
.cbs-academy .fa-exam-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: #16212e; border: 1px solid rgba(240,168,104,.3); border-radius: 12px; padding: 14px; }
.cbs-academy .fa-exam-card.passed { border-color: rgba(34,197,94,.4); background: linear-gradient(160deg, #16271d, #16212e); }
.cbs-academy .fa-exam-title { font-weight: 800; font-size: .86rem; }
.cbs-academy .fa-exam-status { font-size: .78rem; color: #9fb1c4; margin-top: 2px; }

/* Records */
.cbs-academy .fa-rec-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 10px; }
.cbs-academy .fa-rec-tab { appearance: none; border: 1px solid rgba(255,255,255,.12); background: #16212e; color: #b9c6d6; border-radius: 10px; padding: 8px 13px; font-size: .8rem; font-weight: 800; cursor: pointer; }
.cbs-academy .fa-rec-tab.active { background: linear-gradient(135deg,#0ea5b7,#6366f1); color: #fff; border-color: transparent; }
.cbs-academy .fa-rec-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.cbs-academy .fa-rec-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.cbs-academy .fa-rec-h { font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: #6cc6d6; margin: 18px 0 8px; }
.cbs-academy .fa-transcript { width: 100%; border-collapse: collapse; }
.cbs-academy .fa-transcript th, .cbs-academy .fa-transcript td { text-align: left; padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .82rem; }
.cbs-academy .fa-transcript th { background: #16212e; color: #9fb1c4; font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; }
.cbs-academy .fa-transcript td.ok { color: #6ee7a8; font-weight: 700; }
.cbs-academy .fa-prog-earned { list-style: none; padding: 0; }
.cbs-academy .fa-prog-earned li { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 10px 14px; margin-bottom: 6px; font-size: .85rem; }
.cbs-academy .fa-cred-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.cbs-academy .fa-cred { background: #16212e; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 10px 12px; }
.cbs-academy .fa-cred-title { font-weight: 800; font-size: .84rem; }
.cbs-academy .fa-cred-id { font-family: ui-monospace, monospace; font-size: .68rem; color: #6cc6d6; margin: 2px 0; word-break: break-all; }
.cbs-academy .fa-cred-meta { font-size: .7rem; color: #9fb1c4; }

/* Verify */
.cbs-academy .fa-verify-row { display: flex; gap: 8px; margin: 12px 0; }
.cbs-academy .fa-verify-row .fa-search { flex: 1; }
.cbs-academy .fa-verify-card { border-radius: 12px; padding: 16px; margin-top: 12px; }
.cbs-academy .fa-verify-card.valid { background: linear-gradient(160deg, rgba(34,197,94,.14), #16212e); border: 1px solid rgba(34,197,94,.4); }
.cbs-academy .fa-verify-card.invalid { background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.4); color: #fca5a5; }
.cbs-academy .fa-verify-badge { font-weight: 900; color: #6ee7a8; margin-bottom: 10px; }
.cbs-academy .fa-verify-table { width: 100%; border-collapse: collapse; }
.cbs-academy .fa-verify-table th { text-align: left; width: 150px; color: #9fb1c4; font-size: .76rem; padding: 5px 8px 5px 0; vertical-align: top; font-weight: 700; }
.cbs-academy .fa-verify-table td { padding: 5px 0; font-size: .82rem; color: #e7edf4; }

/* Standards */
.cbs-academy .fa-disclosure { background: rgba(250,204,21,.08); border: 1px solid rgba(250,204,21,.28); border-radius: 12px; padding: 14px 16px; font-size: .85rem; line-height: 1.55; color: #e7edf4; }
.cbs-academy .fa-std-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.cbs-academy .fa-std { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 12px 14px; }
.cbs-academy .fa-std-h { font-weight: 800; font-size: .84rem; color: #6ee7a8; }
.cbs-academy .fa-std-d { font-size: .8rem; color: #b9c6d6; line-height: 1.45; margin-top: 4px; }
.cbs-academy .fa-std-steps { display: flex; flex-direction: column; gap: 8px; }
.cbs-academy .fa-step { display: flex; gap: 12px; background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 12px 14px; }
.cbs-academy .fa-step-n { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg,#0ea5b7,#6366f1); color: #fff; display: grid; place-items: center; font-weight: 900; }
.cbs-academy .fa-policy { background: #16212e; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 14px; font-size: .84rem; line-height: 1.55; color: #c2cfdd; }
.cbs-academy .fa-honor { font-style: italic; border-left: 3px solid #6cc6d6; }

@media (max-width: 860px) {
  .cbs-academy .fa-rec-stats, .cbs-academy .fa-std-grid, .cbs-academy .fa-cred-list { grid-template-columns: 1fr; }
  .cbs-academy .fa-exam-card { flex-direction: column; align-items: stretch; }
}

/* Accessibility — focus visibility */
.cbs-academy button:focus-visible, .cbs-academy input:focus-visible, .cbs-academy select:focus-visible, .cbs-academy summary:focus-visible {
  outline: 3px solid rgba(108,198,214,.7); outline-offset: 2px; border-radius: 8px;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .cbs-academy, .cbs-academy * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .cbs-academy .fa-shell { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════
   v5 — Student-flow polish: in-lesson progress, prev/next nav, name onboarding
   ════════════════════════════════════════════════════════════════════════ */
.cbs-academy .fa-lesson-prog { display: flex; align-items: center; gap: 10px; margin: 6px 0 12px; }
.cbs-academy .fa-lesson-prog .fa-progbar { flex: 1; }
.cbs-academy .fa-lesson-prog span { font-size: .72rem; font-weight: 800; color: #9fb1c4; white-space: nowrap; }
.cbs-academy .fa-lesson-nav { display: flex; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.cbs-academy .fa-lesson-nav .fa-btn { flex: 1; }
.cbs-academy .fa-lesson-nav .fa-btn:disabled { opacity: .35; }

.cbs-academy .fa-namenudge { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: linear-gradient(120deg, rgba(14,165,183,.16), rgba(99,102,241,.14)); border: 1px solid rgba(14,165,183,.3); border-radius: 14px; padding: 12px 16px; margin-bottom: 16px; }
.cbs-academy .fa-namenudge span { font-size: .85rem; color: #e7edf4; font-weight: 600; }
.cbs-academy .fa-namenudge .fa-name-input { flex: 1; min-width: 160px; }
.cbs-academy .fa-welcome-back { font-size: .85rem; color: #9fb1c4; margin-bottom: 14px; }

/* ════════════════════════════════════════════════════════════════════════
   v6 — Report Card (gradebook) + Instructor Mode
   ════════════════════════════════════════════════════════════════════════ */
.cbs-academy .fa-gradecard { border: 1px solid rgba(255,255,255,.1); border-left: 4px solid var(--c, #0ea5b7); background: #16212e; border-radius: 12px; padding: 14px; margin-bottom: 10px; }
.cbs-academy .fa-gradecard-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cbs-academy .fa-grade-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.cbs-academy .fa-grade-detail { margin-top: 10px; }
.cbs-academy .fa-grade-detail summary { cursor: pointer; font-size: .78rem; font-weight: 800; color: #6cc6d6; }
.cbs-academy .fa-grade-detail .fa-transcript { margin-top: 8px; }
.cbs-academy .fa-transcript td .ok, .cbs-academy .fa-transcript td.ok { color: #6ee7a8; font-weight: 800; }

/* Instructor */
.cbs-academy .fa-instr-gate { text-align: center; padding: 30px 16px; }
.cbs-academy .fa-instr-ico { font-size: 2.4rem; }
.cbs-academy .fa-instr-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cbs-academy .fa-instr-panel { background: #16212e; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; }
.cbs-academy .fa-instr-panel .fa-rec-h { margin-top: 0; }
.cbs-academy .fa-q-choices-edit { display: grid; gap: 8px; margin: 8px 0; }
.cbs-academy .fa-choice-edit { display: flex; align-items: center; gap: 8px; }
.cbs-academy .fa-choice-edit input[type=radio] { accent-color: #0ea5b7; flex: 0 0 auto; }
.cbs-academy .fa-choice-edit .fa-q-choice { flex: 1; }
.cbs-academy .fa-q-meta-edit { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.cbs-academy .fa-instr-list { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.cbs-academy .fa-cq { display: flex; align-items: center; gap: 10px; background: #1b2836; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 8px 10px; }
.cbs-academy .fa-cq-q { flex: 1; font-size: .82rem; }
.cbs-academy .fa-cq-meta { font-size: .68rem; color: #9fb1c4; white-space: nowrap; }
.cbs-academy .fa-le-form { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.cbs-academy .fa-le-form label { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 800; color: #9fb1c4; margin-top: 6px; }
.cbs-academy .fa-le-lesson { background: #1b2836; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 10px; margin-bottom: 8px; display: flex; flex-direction: column; gap: 6px; }
.cbs-academy .fa-le-lesson .fa-mini { align-self: flex-start; width: auto; padding: 4px 10px; }
.cbs-academy .fa-fb-note code { background: rgba(255,255,255,.08); padding: 1px 5px; border-radius: 4px; font-size: .78rem; }
.cbs-academy .fa-fb-note ul { margin: 0; padding-left: 18px; }
.cbs-academy .fa-fb-note li { font-size: .82rem; color: #c2cfdd; margin-bottom: 6px; line-height: 1.45; }

@media (max-width: 860px) {
  .cbs-academy .fa-gradecard-head { flex-direction: column; align-items: flex-start; }
}

/* ════════════════════════════════════════════════════════════════════════
   v7 — Assignment submission, Study Guides, Studio Showdown group game
   ════════════════════════════════════════════════════════════════════════ */
/* Submission */
.cbs-academy .fa-submit-form { display: flex; flex-direction: column; gap: 8px; }
.cbs-academy .fa-submitted { background: linear-gradient(160deg, rgba(34,197,94,.12), #16212e); border: 1px solid rgba(34,197,94,.35); border-radius: 12px; padding: 12px 14px; }
.cbs-academy .fa-submitted-head { font-weight: 800; color: #6ee7a8; }
.cbs-academy .fa-submitted-head span { color: #9fb1c4; font-weight: 600; font-size: .8rem; }
.cbs-academy .fa-submit-text { font-size: .84rem; color: #c2cfdd; margin: 8px 0; line-height: 1.45; }
.cbs-academy .fa-submit-attach { font-size: .78rem; color: #6cc6d6; font-weight: 700; }
.cbs-academy .fa-submit-attach span { color: #9fb1c4; font-weight: 600; }
.cbs-academy .fa-submit-grade { margin-top: 8px; font-size: .85rem; color: #facc15; font-weight: 700; }
.cbs-academy .fa-submit-pending { margin-top: 8px; font-size: .78rem; color: #9fb1c4; }
.cbs-academy .fa-submitted .fa-btn { margin-top: 10px; }

/* Instructor submissions list */
.cbs-academy .fa-subs-list { display: flex; flex-direction: column; gap: 8px; }
.cbs-academy .fa-sub-item { background: #1b2836; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 10px 12px; }
.cbs-academy .fa-sub-head { display: flex; justify-content: space-between; font-size: .82rem; }
.cbs-academy .fa-sub-head span { color: #9fb1c4; }
.cbs-academy .fa-sub-body { font-size: .8rem; color: #c2cfdd; margin: 6px 0; }
.cbs-academy .fa-sub-grade-row { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.cbs-academy .fa-sub-grade-row .fa-sub-fb { flex: 1; min-width: 140px; }

/* Study guide */
.cbs-academy .fa-sg-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px; margin-top: 12px; }
.cbs-academy .fa-sg-main h4 { margin: 16px 0 8px; font-size: .9rem; color: var(--c, #0ea5b7); text-transform: uppercase; letter-spacing: .05em; display: flex; align-items: center; gap: 8px; }
.cbs-academy .fa-sg-cat { margin-bottom: 12px; }
.cbs-academy .fa-sg-cat-h { font-weight: 800; font-size: .86rem; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.cbs-academy .fa-sg-cat-h span { font-size: .66rem; background: var(--c, #0ea5b7); color: #fff; border-radius: 999px; padding: 1px 8px; }
.cbs-academy .fa-sg-term { font-size: .82rem; color: #c2cfdd; line-height: 1.45; padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.cbs-academy .fa-sg-term strong { color: #e7edf4; }

/* Studio Showdown */
.cbs-academy .fa-group-setup { max-width: 480px; margin: 0 auto; text-align: left; }
.cbs-academy .fa-group-setup h3 { font-size: 1.4rem; }
.cbs-academy .fa-group-scores { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 10px; }
.cbs-academy .fa-team-score { background: #16212e; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 8px 14px; text-align: center; min-width: 90px; }
.cbs-academy .fa-team-score.active { border-color: #facc15; background: linear-gradient(160deg, rgba(250,204,21,.14), #16212e); }
.cbs-academy .fa-team-score span { display: block; font-size: .72rem; color: #9fb1c4; }
.cbs-academy .fa-team-score strong { font-size: 1.1rem; }
.cbs-academy .fa-group-turn { text-align: center; font-weight: 700; color: #e7edf4; margin: 8px 0 12px; }
.cbs-academy .fa-board { display: grid; gap: 6px; max-width: 760px; margin: 0 auto; }
.cbs-academy .fa-board-cat { background: linear-gradient(135deg,#0ea5b7,#6366f1); color: #fff; font-weight: 800; font-size: .72rem; text-align: center; padding: 8px 4px; border-radius: 8px; display: flex; align-items: center; justify-content: center; min-height: 44px; }
.cbs-academy .fa-tile { background: #1b2836; border: 1px solid rgba(255,255,255,.1); color: #facc15; font-weight: 900; font-size: 1rem; border-radius: 8px; padding: 14px 4px; cursor: pointer; transition: .12s; }
.cbs-academy .fa-tile:hover:not(.used) { background: #233a52; transform: scale(1.03); }
.cbs-academy .fa-tile.used { background: #0d1620; color: transparent; cursor: default; border-color: rgba(255,255,255,.04); }
.cbs-academy .fa-tile-q { max-width: 640px; margin: 0 auto; }
.cbs-academy .fa-final-score { font-size: 1rem; margin: 4px 0; }

@media (max-width: 860px) {
  .cbs-academy .fa-sg-grid { grid-template-columns: 1fr; }
  .cbs-academy .fa-board-cat { font-size: .58rem; }
  .cbs-academy .fa-tile { font-size: .82rem; padding: 10px 2px; }
}

/* Light-mode fallback for hub strip already fine; overlay is dark by design. */
