

  .cv-viewport,
  .cv-viewport-index {
    width:100%; height:100%; overflow-y:auto;
    background: var(--atum-mesh), var(--neutral-50, #F7F8FC);
    font-family: var(--atum-font-ui, 'Inter', 'Alexandria', sans-serif) !important;
    color: var(--neutral-800, #1D2433);
    -webkit-font-smoothing: antialiased;
  }

  /* Icons — Atum / main sidebar stroke style */
  .cv-icon-wrap {
    display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
    background: rgba(88, 108, 255, 0.08); border-radius: var(--radius-sm, 8px);
    color: var(--color-indigo, #586CFF);
  }
  .cv-icon-wrap .cv-svg { display:block; flex-shrink:0; }
  .cv-unit-icon.cv-icon-wrap:not([style*="background"]),
  .cv-guide-card-icon.cv-icon-wrap:not([style*="background"]) {
    border-radius: var(--radius-md, 12px);
    background: rgba(88, 108, 255, 0.08);
    color: var(--color-indigo, #586CFF);
  }
  .cv-lesson-cover .cv-index-cover-title-icon .cv-icon-wrap {
    background: var(--color-indigo, #586CFF); color:#fff;
  }
  .cv-tab.active .cv-icon-wrap,
  .cv-tab-pill.active .cv-icon-wrap {
    background: rgba(88, 108, 255, 0.12);
    color: var(--color-indigo, #586CFF);
  }
  .cv-idea-tile-icon .cv-icon-wrap,
  .cv-plan-phase-icon.cv-icon-wrap {
    background: rgba(88, 108, 255, 0.1);
    color: var(--color-indigo, #586CFF);
    border-radius: var(--radius-sm, 8px);
  }
  .cv-container { max-width:1280px; margin:0 auto; padding:28px 24px 48px; }
  .cv-layout { display:grid; grid-template-columns:1fr 300px; gap:24px; align-items:start; }
  @media(max-width:1024px){ .cv-layout{ grid-template-columns:1fr; } .cv-sidebar{ order:-1; } }

  .cv-hero {
    background:#fff; border:1px solid var(--neutral-200, #DBECF6); border-radius:var(--radius-2xl, 24px);
    padding:24px 28px; margin-bottom:24px;
    display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap;
    box-shadow: var(--shadow-sm);
  }
  .cv-hero-title {
    font-family: var(--atum-font-display, 'Sora', 'Alexandria', sans-serif);
    font-size:1.35rem; font-weight:800; color:var(--neutral-900, #161A2D);
    margin:0 0 6px; display:flex; align-items:center; gap:10px; letter-spacing:-0.02em;
  }
  .cv-hero-sub { font-size:.8125rem; color:var(--neutral-600, #475467); font-weight:500; }
  .cv-badge-official {
    display:inline-flex; align-items:center; gap:6px; background:#ECFDF5; color:#047857;
    border:1px solid #A7F3D0; font-size:.7rem; font-weight:800; padding:5px 12px; border-radius:100px;
  }
  .cv-meta-row { display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; }
  .cv-meta-item { font-size:.75rem; font-weight:700; color:#475569; }
  .cv-meta-item strong { color:var(--color-indigo, #586CFF); font-size:.85rem; display:block; }

  .cv-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; border-bottom:1px solid var(--neutral-200, #DBECF6); padding-bottom:0; }
  .cv-tab {
    display:inline-flex; align-items:center; gap:6px;
    padding:10px 16px; font-size:.8rem; font-weight:700; color:var(--neutral-600, #475467);
    border-bottom:3px solid transparent; margin-bottom:-1px; text-decoration:none; transition:all .15s;
  }
  .cv-tab:hover { color:var(--color-indigo, #586CFF); }
  .cv-tab.active { color:var(--color-indigo, #586CFF); border-bottom-color:var(--color-indigo, #586CFF); }
  .cv-tab.disabled { opacity:.45; pointer-events:none; }

  /* Lesson page tabs — underline bar (same pattern as .cv-tabs) */
  .cv-lesson-tabs{
    flex-wrap:nowrap;gap:0;overflow-x:auto;overflow-y:hidden;
    margin-top:20px;margin-bottom:20px;
    scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  }
  .cv-lesson-tabs::-webkit-scrollbar{height:4px;}
  .cv-lesson-tabs::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:4px;}
  .cv-lesson-tabs .cv-tab{
    flex-shrink:0;padding:12px 16px;white-space:nowrap;
    border-bottom-width:3px;
  }
  .cv-lesson-tabs .cv-tab .cv-icon-wrap{background:transparent;color:#94A3B8;}
  .cv-lesson-tabs .cv-tab:hover .cv-icon-wrap,
  .cv-lesson-tabs .cv-tab.active .cv-icon-wrap{color:var(--color-indigo, #586CFF);}
  .cv-lesson-tabs .cv-tab.is-soon{opacity:.55;pointer-events:none;}
  .cv-tab-num{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:20px;height:20px;padding:0 6px;border-radius:100px;
    font-size:.65rem;font-weight:900;line-height:1;
    background:rgba(88, 108, 255, 0.12);color:var(--color-indigo, #586CFF);
  }
  .cv-lesson-tabs .cv-tab.active .cv-tab-num{background:var(--color-indigo, #586CFF);color:#fff;}
  .cv-tab-num.is-soon{background:#FEF3C7;color:#B45309;font-size:.58rem;padding:0 7px;}
  .cv-lesson-tabs .cv-tab.active .cv-tab-num.is-soon{background:#FDE68A;color:#92400E;}

  .cv-unit-card {
    background:#fff; border:1.5px solid #E2E8F0; border-radius:20px;
    margin-bottom:12px; overflow:hidden; transition:all .2s;
  }
  .cv-unit-card.open { border-color:rgba(88, 108, 255, 0.35); box-shadow:0 8px 20px -6px rgba(88, 108, 255, 0.12); }
  .cv-unit-head {
    display:flex; align-items:center; gap:14px; padding:16px 20px; cursor:pointer;
    background:linear-gradient(90deg,#FAFAFF 0%,#fff 100%);
  }
  .cv-unit-icon {
    width:44px; height:44px; border-radius:12px; flex-shrink:0;
  }
  .cv-unit-title { font-weight:900; font-size:.95rem; color:#1E293B; flex:1; }
  .cv-unit-meta { font-size:.72rem; color:#94A3B8; font-weight:700; }
  .cv-unit-progress { width:80px; height:6px; background:#F1F5F9; border-radius:100px; overflow:hidden; }
  .cv-unit-progress-fill { height:100%; background:linear-gradient(90deg,var(--color-indigo, #586CFF),#8B9AFF); border-radius:100px; }
  .cv-lessons { border-top:1px solid #F1F5F9; padding:8px 12px 12px; }
  .cv-lesson-row {
    display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px;
    text-decoration:none; color:inherit; transition:all .15s;
  }
  .cv-lesson-row:hover { background:rgba(88, 108, 255, 0.04); }
  .cv-lesson-num { font-size:.72rem; font-weight:900; color:var(--color-indigo, #586CFF); min-width:36px; }
  .cv-lesson-title { font-weight:800; font-size:.85rem; color:#1E293B; flex:1; }
  .cv-lesson-icons { display:flex; gap:6px; color:#94A3B8; }

  .cv-sidebar-card {
    background:#fff; border:1.5px solid #E2E8F0; border-radius:20px;
    padding:18px; margin-bottom:16px; box-shadow:0 2px 4px rgba(0,0,0,.02);
  }
  .cv-sidebar-title { font-size:.88rem; font-weight:900; color:#1E293B; margin:0 0 14px; }
  .cv-gen-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .cv-gen-btn {
    display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 8px;
    border:1.5px solid #E2E8F0; border-radius:14px; text-decoration:none; color:#475569;
    font-size:.68rem; font-weight:800; text-align:center; transition:all .15s; background:#FAFAFF;
  }
  .cv-gen-btn:hover { border-color:rgba(88, 108, 255, 0.35); background:rgba(88, 108, 255, 0.06); color:var(--color-indigo, #586CFF); transform:translateY(-2px); }
  .cv-gen-btn .ic { font-size:1.3rem; }

  .cv-card { background:#fff; border:1.5px solid #E2E8F0; border-radius:20px; padding:20px; margin-bottom:16px; }
  .cv-card-title { font-size:.92rem; font-weight:900; color:#1E293B; margin:0 0 14px; }
  .cv-pill { display:inline-flex; padding:4px 10px; border-radius:8px; font-size:.68rem; font-weight:800; background:rgba(88, 108, 255, 0.1); color:var(--color-indigo, #586CFF); margin:2px; }
  .cv-list li { font-size:.85rem; line-height:1.7; color:#475569; margin-bottom:8px; padding-right:18px; position:relative; }
  .cv-list li::before { content:'•'; position:absolute; right:0; color:var(--color-indigo, #586CFF); font-weight:900; }

  /* Lesson cover reuses .cv-index-cover — lesson-specific tweaks */
  .cv-lesson-cover { margin-bottom: 20px; }
  .cv-lesson-cover-unit {
    margin: 0 0 8px; font-size: .78rem; font-weight: 700;
  }
  .cv-lesson-cover-unit a {
    color: #5b21b6; text-decoration: none;
  }
  .cv-lesson-cover-unit a:hover { text-decoration: underline; }
  .cv-lesson-cover-title { font-size: clamp(1.25rem, 2.2vw, 1.65rem) !important; }
  .cv-lesson-cover-chip-ok {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #047857 !important;
  }
  .cv-lesson-cover-chip-ok .cv-svg { color: #059669 !important; }
  .cv-lesson-cover-chip-ok strong { color: #047857 !important; }
  .cv-gen-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
  .cv-gen-launch.is-loading { opacity: 0.65; pointer-events: none; }
  button.cv-gen-action, button.cv-gen-btn {
    font-family: inherit; cursor: pointer;
  }
  button.cv-gen-action { border: none; }
  button.cv-gen-btn {
    border: 1.5px solid #E2E8F0; background: #fff;
  }
  .cv-gen-action {
    display:inline-flex; align-items:center; gap:6px; padding:9px 16px;
    background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.35);
    border-radius:12px; color:#fff; font-size:.78rem; font-weight:800; text-decoration:none;
    transition:all .15s; backdrop-filter:blur(4px);
  }
  .cv-gen-action:hover { background:rgba(255,255,255,.28); color:#fff; }

  .cv-main-layout {
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:24px;
    direction:ltr;
    align-items:start;
  }
  .cv-main-layout > div,
  .cv-main-layout > aside { min-width:0; width:100%; direction:rtl; }
  .cv-main-layout > aside {
    position:sticky;
    top:12px;
    align-self:start;
  }
  @media(max-width:960px){
    .cv-main-layout{ grid-template-columns:1fr; direction:rtl; }
    .cv-main-layout > aside { position:static; }
  }

  /* فهرس الدرس — compact strip above lesson body */
  .cv-lesson-outline {
    padding: 10px 14px !important;
    margin-bottom: 10px !important;
  }
  .cv-lesson-outline .cv-card-title {
    font-size: .72rem !important;
    margin: 0 0 8px !important;
    color: #64748B;
    font-weight: 900;
  }
  .cv-lesson-outline-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
  }
  .cv-lesson-outline-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: #F8FAFC;
    border-radius: 99px;
    border: 1px solid #E2E8F0;
    width: auto;
  }
  .cv-lesson-outline-num {
    width: 18px;
    height: 18px;
    background: #059669;
    border-radius: 99px;
    font-size: .62rem;
  }
  .cv-lesson-outline-label {
    font-weight: 800;
    font-size: .68rem;
    color: #475569;
    white-space: nowrap;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .cv-lesson-outline-item .cv-pill {
    display: none;
  }

  .cv-teacher-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0;}
  .cv-teacher-guide-block{padding:12px;border-radius:14px;background:#fff;border:2px solid #E9D5FF;}
  .cv-teacher-guide-block h4{margin:0 0 8px;font-size:.78rem;font-weight:900;color:#6D28D9;}
  .cv-teacher-guide-block ul,.cv-teacher-guide-block ol{margin:0;padding-right:18px;font-size:.76rem;font-weight:700;line-height:1.65;color:#475569;}
  .cv-teacher-guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}

  .cv-objective-table { width:100%; border-collapse:collapse; font-size:.8rem; }
  .cv-objective-table th { text-align:right; padding:10px 12px; background:#F8FAFC; color:#64748B; font-weight:800; border-bottom:1px solid #E2E8F0; }
  .cv-objective-table td { padding:10px 12px; border-bottom:1px solid #F1F5F9; color:#334155; font-weight:600; }
  .cv-diff-easy { color:#059669; }
  .cv-diff-med { color:#D97706; }
  .cv-diff-hard { color:#DC2626; }

  /* Interactive mind map */
  .cv-card-mindmap { overflow: hidden; }
  .cv-mindmap-wrap { position: relative; }
  .cv-mindmap-toolbar {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
    margin-bottom: 12px; flex-wrap: wrap;
  }
  .cv-mindmap-toolbar-start { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
  .cv-mindmap-hint { font-size: .78rem; font-weight: 700; color: #64748B; }
  .cv-mindmap-subtitle {
    font-size: .72rem; font-weight: 600; color: #94A3B8; line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  .cv-mm-btn {
    font-size: .72rem; font-weight: 800; padding: 8px 14px; border-radius: 10px;
    border: 1.5px solid #DDD6FE; background: #FAFAFF; color: #7C3AED; cursor: pointer;
  }
  .cv-mindmap-canvas {
    position: relative; min-height: 440px; height: 52vh; max-height: 560px;
    background: radial-gradient(circle at 50% 40%, #FAFAFF 0%, #F1F5F9 100%);
    border: 1.5px solid #E2E8F0; border-radius: 20px; overflow: hidden;
  }
  .cv-mm-svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
  .cv-mm-edge { stroke: #C4B5FD; stroke-width: 2; opacity: .85; }
  .cv-mm-nodes { position: absolute; inset: 0; }
  .cv-mm-node {
    position: absolute; z-index: 2; border: none; cursor: pointer;
    font-family: inherit; font-weight: 800; font-size: .75rem; line-height: 1.3;
    padding: 10px 14px; border-radius: 16px; transition: transform .15s, box-shadow .15s;
    width: 128px; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    transform: translate(-50%, -50%);
  }
  .cv-mm-node-icon { line-height: 1; }
  .cv-mm-node-label { display: block; font-size: .68rem; line-height: 1.3; word-break: break-word; }
  .cv-mm-node-count {
    position: absolute; top: -6px; left: -6px; min-width: 20px; height: 20px; padding: 0 5px;
    border-radius: 999px; background: #7C3AED; color: #fff; font-size: .62rem; font-weight: 900;
    display: flex; align-items: center; justify-content: center; border: 2px solid #fff;
  }
  .cv-mm-node:hover { transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 8px 24px rgba(124,58,237,.25); }
  .cv-mm-node-main {
    background: linear-gradient(135deg, #7C3AED, #A78BFA); color: #fff;
    width: 150px; font-size: .82rem; box-shadow: 0 10px 28px rgba(124,58,237,.35);
  }
  .cv-mm-node-sub {
    background: #fff; color: #5B21B6; border: 2px solid #C4B5FD;
  }
  .cv-mm-node-related {
    background: #F5F3FF; color: #6D28D9; border: 1.5px dashed #A78BFA; font-size: .68rem;
  }
  .cv-mm-node-formula {
    background: #FFFBEB; color: #B45309; border: 2px solid #FCD34D;
  }
  .cv-mm-node-exam {
    background: #ECFDF5; color: #047857; border: 2px solid #6EE7B7;
  }
  .cv-mm-related-wrap { margin-top: 14px; }
  .cv-mm-related-label {
    font-size: .72rem; font-weight: 800; color: #64748B; margin-bottom: 8px;
  }
  .cv-mm-related-chips {
    display: flex; flex-wrap: wrap; gap: 8px;
  }
  .cv-mm-related-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px;
    border-radius: 999px; border: 1.5px solid #DDD6FE; background: #FAFAFF;
    font-size: .72rem; font-weight: 700; color: #5B21B6; cursor: pointer;
    font-family: inherit; transition: all .15s;
  }
  .cv-mm-related-chip:hover { background: #F5F3FF; border-color: #A78BFA; color: #7C3AED; }
  .cv-node-gen-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 16px;
  }
  .cv-node-gen-btn {
    display: flex; align-items: center; gap: 8px; padding: 12px 14px;
    border: 1.5px solid #E2E8F0; border-radius: 14px; background: #FAFAFF;
    font-size: .78rem; font-weight: 800; color: #334155; cursor: pointer; transition: all .15s;
  }
  .cv-node-gen-btn:hover { border-color: #C4B5FD; background: #F5F3FF; color: #7C3AED; }

  /* Modals */
  .cv-modal { display: none; position: fixed; inset: 0; z-index: 9999; align-items: center; justify-content: center; padding: 20px; }
  .cv-modal.open { display: flex; }
  .cv-modal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.45); backdrop-filter: blur(4px); }
  .cv-modal-panel {
    position: relative; z-index: 1; background: #fff; border-radius: 24px; padding: 28px 24px;
    max-width: 640px; width: 100%; max-height: 85vh; overflow-y: auto;
    box-shadow: 0 24px 60px rgba(0,0,0,.18); border: 1.5px solid #E2E8F0;
  }
  .cv-modal-panel-sm { max-width: 420px; }
  .cv-modal-x {
    position: absolute; left: 16px; top: 16px; width: 36px; height: 36px;
    border: none; border-radius: 10px; background: #F1F5F9; cursor: pointer; font-size: 1rem;
  }
  .cv-modal-title { font-size: 1.1rem; font-weight: 900; color: #1E293B; margin: 0 0 8px; padding-left: 44px; }
  .cv-modal-desc { font-size: .82rem; color: #64748B; font-weight: 600; margin: 0 0 16px; line-height: 1.6; }

  /* Teaching ideas panel */
  .cv-ideas-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
  .cv-ideas-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
  .cv-ideas-tab {
    padding: 10px 16px; border-radius: 12px; border: 1.5px solid #E2E8F0;
    background: #fff; font-size: .78rem; font-weight: 800; color: #64748B; cursor: pointer;
  }
  .cv-ideas-tab.active { background: linear-gradient(135deg, #7C3AED, #8B5CF6); color: #fff; border-color: transparent; }
  .cv-ideas-count { opacity: .85; margin-right: 4px; }
  .cv-ideas-open-all {
    margin-right: auto; padding: 10px 16px; border-radius: 12px; border: 1.5px solid #DDD6FE;
    background: #FAFAFF; color: #7C3AED; font-size: .75rem; font-weight: 800; cursor: pointer;
  }
  .cv-ideas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
  .cv-idea-tile {
    position: relative; border: 1.5px solid #E2E8F0; border-radius: 18px; overflow: hidden;
    background: #fff; transition: all .15s;
  }
  .cv-idea-tile:hover { border-color: #C4B5FD; box-shadow: 0 8px 20px rgba(124,58,237,.1); }
  .cv-idea-fav-btn {
    position: absolute; top: 10px; left: 10px; z-index: 3; width: 36px; height: 36px;
    border-radius: 10px; border: 1.5px solid #E2E8F0; background: #fff; cursor: pointer;
    font-size: 1.1rem; display: flex; align-items: center; justify-content: center;
  }
  .cv-idea-fav-btn.is-on { background: #FEF3C7; border-color: #FCD34D; color: #B45309; }
  .cv-idea-tile-body {
    width: 100%; text-align: right; border: none; background: transparent; cursor: pointer;
    padding: 16px 16px 16px 48px; font-family: inherit;
  }
  .cv-idea-tile-icon { margin-bottom: 8px; }
  .cv-idea-tile h4 { margin: 0 0 6px; font-size: .88rem; font-weight: 900; color: #1E293B; }
  .cv-idea-tile p { margin: 0 0 10px; font-size: .75rem; color: #64748B; line-height: 1.5; }
  .cv-idea-tile-meta { display: flex; flex-wrap: wrap; gap: 8px; font-size: .68rem; font-weight: 800; color: #94A3B8; }
  .cv-idea-fav-count { color: #B45309; }
  .cv-idea-list-row {
    display: flex; align-items: center; gap: 14px; padding: 14px; border: 1.5px solid #F1F5F9;
    border-radius: 14px; margin-bottom: 10px;
  }
  .cv-idea-list-row .ic { font-size: 1.5rem; }
  .cv-idea-list-row .body { flex: 1; }
  .cv-idea-list-row strong { display: block; font-size: .88rem; color: #1E293B; }
  .cv-idea-list-row p { margin: 4px 0 0; font-size: .75rem; color: #64748B; }
  .cv-pill-btn {
    padding: 8px 14px; border-radius: 10px; border: 1.5px solid #DDD6FE;
    background: #F5F3FF; color: #7C3AED; font-size: .72rem; font-weight: 800; cursor: pointer;
  }
  .cv-idea-detail-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
  .cv-idea-detail-icon { display: flex; align-items: center; }
  .cv-idea-detail-stats { display: flex; flex-wrap: wrap; gap: 16px; font-size: .78rem; font-weight: 800; color: #475569; margin-bottom: 16px; }
  .cv-idea-steps { display: flex; flex-direction: column; gap: 0; position: relative; padding-right: 8px; }
  .cv-idea-steps::before {
    content: ''; position: absolute; right: 27px; top: 24px; bottom: 24px; width: 2px;
    background: linear-gradient(180deg, #C4B5FD, #EDE9FE); border-radius: 2px;
  }
  .cv-idea-step {
    display: flex; gap: 16px; padding: 16px 16px 16px 8px; margin-bottom: 10px;
    background: #fff; border-radius: 16px; border: 1.5px solid #EDE9FE;
    box-shadow: 0 4px 14px rgba(124,58,237,.06); position: relative;
  }
  .cv-idea-step-badge {
    display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; z-index: 1;
  }
  .cv-idea-step-icon {
    width: 48px; height: 48px; border-radius: 14px;
    background: #E8E8E8;
    border: none;
    display: flex; align-items: center; justify-content: center;
    color: #64748B;
    box-shadow: 0 4px 12px rgba(124,58,237,.12);
  }
  .cv-idea-step-num {
    width: 22px; height: 22px; border-radius: 8px; background: #7C3AED; color: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: .65rem;
  }
  .cv-idea-step-body { flex: 1; min-width: 0; }
  .cv-idea-step-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
  .cv-idea-step-head strong { font-size: .88rem; color: #1E293B; }
  .cv-idea-step-time {
    font-size: .68rem; color: #7C3AED; font-weight: 800; background: #F5F3FF;
    padding: 4px 10px; border-radius: 100px; border: 1px solid #DDD6FE;
  }
  .cv-idea-step-text { margin: 0 0 6px; font-size: .82rem; color: #475569; line-height: 1.7; }
  .cv-idea-step-tip {
    margin: 0; font-size: .75rem; color: #6D28D9; font-weight: 700;
    background: #FAFAFF; padding: 8px 10px; border-radius: 10px; border-right: 3px solid #A78BFA;
  }
  .cv-idea-tile h4 { display: flex; align-items: flex-start; gap: 6px; }

  .cv-concept-map { display:flex; flex-direction:column; align-items:center; gap:12px; padding:24px; }
  .cv-cm-main {
    background:linear-gradient(135deg,#7C3AED,#A78BFA); color:#fff; padding:14px 28px;
    border-radius:16px; font-weight:900; font-size:.95rem; box-shadow:0 8px 20px rgba(124,58,237,.3);
  }
  .cv-cm-children { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .cv-cm-child {
    background:#fff; border:2px solid #C4B5FD; color:#5B21B6; padding:10px 16px;
    border-radius:12px; font-weight:800; font-size:.78rem;
  }
  .cv-cm-line { width:2px; height:20px; background:#C4B5FD; }

  .cv-idea-card {
    display:flex; gap:14px; padding:16px; border:1.5px solid #E2E8F0; border-radius:16px; margin-bottom:12px;
    transition:all .15s;
  }
  .cv-idea-card:hover { border-color:#C4B5FD; box-shadow:0 4px 12px rgba(124,58,237,.08); }
  .cv-idea-thumb { width:72px; height:72px; border-radius:12px; background:linear-gradient(135deg,#EDE9FE,#DDD6FE); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.8rem; }
  .cv-exam-card {
    background:#F8FAFC; border:1.5px solid #E2E8F0; border-radius:14px; padding:14px; margin-bottom:10px;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
  }
  .cv-resource-row {
    display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px;
    border:1px solid #F1F5F9; margin-bottom:8px; font-weight:700; font-size:.82rem; color:#334155;
  }
  .cv-analytics-soon {
    text-align:center; padding:60px 24px; color:#94A3B8;
  }
  .cv-analytics-soon .ic { font-size:3rem; margin-bottom:12px; }
  .cv-content-html {
    font-size:.95rem; line-height:1.85; color:#334155;
    width:100%; max-width:none; text-align:right;
    overflow-wrap:anywhere; word-break:break-word;
  }
  .cv-content-html .guide-wrap{direction:rtl;}
  .cv-content-html .hl-orange,.cv-content-html .hl-blue,.cv-content-html .hl-green,.cv-content-html .hl-purple { font-weight:800; }
  .cv-content-html .hl-orange { color:#EA580C; }
  .cv-content-html .hl-blue { color:#2563EB; }
  .cv-content-html .hl-green { color:#059669; }
  .cv-content-html .hl-purple { color:#7C3AED; }

  .cv-nav-lessons a {
    display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px;
    text-decoration:none; font-size:.78rem; font-weight:700; color:#64748B;
  }
  .cv-nav-lessons a.active { background:#F5F3FF; color:#7C3AED; }
  .cv-nav-lessons a.done { color:#059669; }
  .cv-nav-lessons a .cv-nav-lesson-title { flex:1; min-width:0; line-height:1.35; }
  .cv-lesson-crumb-tree { margin-bottom:16px; }

  .cv-page-icon{width:34px;height:34px;border-radius:10px;}
  .cv-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;color:#94A3B8;margin-bottom:16px;flex-wrap:wrap;}
  .cv-breadcrumb a{color:#7C3AED;text-decoration:none;}
  .cv-breadcrumb strong{color:#1E293B;}

  .cv-hero-premium{
    background:linear-gradient(135deg,#4C1D95 0%,#6D28D9 45%,#8B5CF6 100%);
    border-radius:28px;padding:28px 32px;margin-bottom:20px;
    box-shadow:0 20px 50px -12px rgba(91,33,182,.45);position:relative;overflow:hidden;
  }
  .cv-hero-premium::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
  .cv-hero-index{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:24px;align-items:stretch;}
  @media(max-width:900px){.cv-hero-index{grid-template-columns:1fr;}}
  .cv-hero-stats-col{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;}
  .cv-hero-stat{
    background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:16px;
    padding:14px 12px;text-align:center;flex:1;
  }
  .cv-hero-stat.accent{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(0,0,0,.08);}
  .cv-hero-stat-num{display:block;font-size:1.35rem;font-weight:900;color:#fff;line-height:1.1;}
  .cv-hero-stat-lbl{display:block;font-size:.68rem;font-weight:700;color:rgba(255,255,255,.88);margin-top:4px;}
  .cv-hero-main-col{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;gap:16px;}
  .cv-hero-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .cv-hero-content{flex:1;min-width:200px;}
  .cv-hero-visual{position:relative;flex-shrink:0;}
  .cv-hero-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.18);border-radius:16px;}
  .cv-hero-filter label{display:block;font-size:.62rem;font-weight:800;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;}
  .cv-hero-filter select{
    min-width:140px;padding:10px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.15);color:#fff;font-size:.8rem;font-weight:800;font-family:inherit;cursor:pointer;
  }
  .cv-hero-filter select option{color:#1E293B;background:#fff;}
  .cv-hero-settings-link{
    margin-right:auto;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;
    border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-size:.75rem;font-weight:800;text-decoration:none;
  }
  .cv-hero-settings-link:hover{background:rgba(255,255,255,.22);color:#fff;}
  .cv-hero-settings-link .cv-svg{color:#fff;}
  .cv-hero-gen-title{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:900;color:#fff;margin:0 0 10px;}
  .cv-hero-gen-title .cv-icon-wrap{background:rgba(255,255,255,.2);color:#fff;}
  .cv-gen-grid-hero{grid-template-columns:repeat(3,1fr);}
  @media(max-width:640px){.cv-gen-grid-hero{grid-template-columns:repeat(2,1fr);}}
  .cv-gen-btn-hero{
    background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;
  }
  .cv-gen-btn-hero:hover{background:rgba(255,255,255,.25)!important;border-color:rgba(255,255,255,.45)!important;color:#fff!important;transform:translateY(-2px);}
  .cv-gen-btn-hero .cv-icon-wrap,.cv-gen-btn-hero .cv-svg{background:transparent;color:#fff;}
  .cv-flash-success{
    background:#ECFDF5;border:1.5px solid #A7F3D0;color:#047857;padding:12px 16px;border-radius:12px;
    font-size:.8rem;font-weight:800;margin-bottom:14px;
  }
  .cv-atum-assistant{border-color:#C4B5FD;background:linear-gradient(180deg,#FAFAFF 0%,#fff 100%);}
  .cv-atum-assistant-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
  .cv-atum-mascot{width:72px;height:72px;object-fit:contain;flex-shrink:0;border-radius:16px;}
  .cv-atum-assistant-tag{font-size:.68rem;font-weight:800;color:#7C3AED;margin:4px 0 0;}
  .cv-atum-assistant-desc{font-size:.78rem;color:#64748B;line-height:1.7;margin:0 0 14px;font-weight:600;}
  .cv-btn-primary.full{width:100%;justify-content:center;box-sizing:border-box;}
  .cv-hero-badge{display:inline-flex;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#E9D5FF;font-size:.68rem;font-weight:800;padding:6px 14px;border-radius:100px;margin-bottom:12px;}
  .cv-hero-h1{font-size:1.75rem;font-weight:900;color:#fff;margin:0 0 8px;line-height:1.2;}
  .cv-hero-h1 .cv-icon-wrap{margin-left:8px;vertical-align:middle;}
  .cv-hero-desc{color:rgba(255,255,255,.85);font-size:.85rem;font-weight:600;margin:0 0 14px;}
  .cv-hero-tags{display:flex;flex-wrap:wrap;gap:8px;}
  .cv-tag{font-size:.68rem;font-weight:800;padding:5px 12px;border-radius:8px;}
  .cv-tag.purple{background:rgba(255,255,255,.2);color:#fff;}
  .cv-tag.green{background:#ECFDF5;color:#047857;}
  .cv-tag.blue{background:#EFF6FF;color:#1D4ED8;}
  .cv-hero-visual-icon .cv-icon-wrap{background:rgba(255,255,255,.18);color:#fff;}
  .cv-book-stack{position:relative;width:120px;height:100px;}
  .cv-book{position:absolute;width:64px;height:80px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px rgba(0,0,0,.2);}
  .cv-book .cv-icon-wrap{background:rgba(255,255,255,.25);color:#fff;}
  .cv-book.b1{background:linear-gradient(135deg,#FDE68A,#F59E0B);right:0;top:0;transform:rotate(8deg);}
  .cv-book.b2{background:linear-gradient(135deg,#A78BFA,#7C3AED);right:28px;top:8px;transform:rotate(-4deg);}
  .cv-book.b3{background:linear-gradient(135deg,#6EE7B7,#059669);right:56px;top:16px;transform:rotate(12deg);}
  .cv-unit-icon.cv-icon-wrap{color:#fff;}
  .cv-guide-card-icon.cv-icon-wrap{color:#fff;}
  .cv-plan-card h3,.cv-plan-phases-head h3{display:flex;align-items:center;gap:8px;}
  .cv-plan-meta-chip{display:inline-flex;align-items:center;gap:6px;}
  .cv-plan-tl-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
  .cv-mm-node-icon{display:flex;align-items:center;justify-content:center;}
  .cv-mm-node-icon .cv-icon-wrap{background:#EDE9FE;color:#6D28D9;}
  .cv-mm-node-main .cv-icon-wrap{background:#E8E8E8;color:#475569;}
  .cv-exp-emoji{display:flex;align-items:center;justify-content:center;}
  .cv-idea-list-row .ic,.cv-gen-btn .ic{display:flex;align-items:center;justify-content:center;}
  .cv-gen-action{display:inline-flex;align-items:center;gap:6px;}

  .cv-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1.5px solid #E2E8F0;border-radius:18px;padding:16px 20px;margin-bottom:16px;}
  .cv-filter-item label{display:block;font-size:.65rem;font-weight:800;color:#94A3B8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
  .cv-filter-val.locked{background:#F8FAFC;border:1.5px solid #E2E8F0;border-radius:10px;padding:10px 16px;font-size:.82rem;font-weight:800;color:#334155;min-width:140px;}
  .cv-filter-settings{margin-right:auto;display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;color:#7C3AED;text-decoration:none;padding:10px 14px;border-radius:10px;border:1.5px solid #DDD6FE;background:#FAFAFF;}

  .cv-stats-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px;}
  @media(max-width:900px){.cv-stats-strip{grid-template-columns:repeat(2,1fr);}}
  .cv-stat-card{background:#fff;border:1.5px solid #E2E8F0;border-radius:16px;padding:14px;text-align:center;}
  .cv-stat-card.accent{border-color:#C4B5FD;background:linear-gradient(180deg,#FAFAFF,#fff);}
  .cv-stat-num{display:block;font-size:1.25rem;font-weight:900;color:#7C3AED;}
  .cv-stat-lbl{font-size:.68rem;font-weight:700;color:#94A3B8;}

  .cv-tabs-premium{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;background:#fff;border:1.5px solid #E2E8F0;border-radius:16px;padding:8px;}
  .cv-tab-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:12px;font-size:.8rem;font-weight:800;color:#64748B;text-decoration:none;transition:all .15s;}
  .cv-tab-pill:hover{background:#F5F3FF;color:#7C3AED;}
  .cv-tab-pill.active{background:linear-gradient(135deg,#7C3AED,#8B5CF6);color:#fff;box-shadow:0 4px 14px rgba(124,58,237,.35);}
  .cv-tab-pill.active .cv-icon-wrap{background:rgba(255,255,255,.22);color:#fff;}

  .cv-unit-guide-btn{font-size:.7rem;font-weight:800;color:#7C3AED;background:#F5F3FF;border:1.5px solid #DDD6FE;padding:6px 12px;border-radius:10px;text-decoration:none;flex-shrink:0;}
  .cv-unit-icon.sm{width:36px;height:36px;border-radius:10px;}
  .cv-lesson-badges{display:flex;gap:4px;flex-shrink:0;}
  .cv-mini-badge{font-size:.6rem;font-weight:800;padding:3px 8px;border-radius:6px;}
  .cv-mini-badge.green{background:#ECFDF5;color:#047857;}
  .cv-mini-badge.purple{background:#F5F3FF;color:#6D28D9;}
  .cv-mini-badge.gray{background:#F1F5F9;color:#64748B;}

  .cv-scope-unit{background:#fff;border:1.5px solid #E2E8F0;border-radius:20px;padding:20px;margin-bottom:14px;}
  .cv-scope-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .cv-scope-head h3{flex:1;font-weight:900;font-size:.95rem;margin:0;color:#1E293B;}
  .cv-scope-body{font-size:.85rem;line-height:1.8;color:#475569;font-weight:600;}
  .cv-scope-body .cv-scope-list{padding-right:20px;}
  .cv-scope-body .cv-scope-list li{margin-bottom:8px;}
  .cv-link-sm{font-size:.72rem;font-weight:800;color:#7C3AED;text-decoration:none;}

  .cv-guide-grid{display:grid;gap:12px;}
  .cv-guide-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid #E2E8F0;border-radius:18px;padding:18px 20px;text-decoration:none;color:inherit;transition:all .15s;}
  .cv-guide-card:hover{border-color:#C4B5FD;box-shadow:0 8px 24px rgba(124,58,237,.12);transform:translateY(-2px);}
  .cv-guide-card.has-guide{border-color:#A7F3D0;background:linear-gradient(90deg,#FAFFFE,#fff);}
  .cv-guide-card-icon{width:52px;height:52px;border-radius:12px;flex-shrink:0;}
  .cv-guide-card-title{font-weight:900;font-size:.88rem;color:#1E293B;}
  .cv-guide-card-sub{font-size:.78rem;color:#64748B;font-weight:600;margin-top:2px;}
  .cv-guide-arrow{color:#94A3B8;font-weight:900;}

  .cv-sidebar-card.highlight{border-color:#C4B5FD;background:linear-gradient(180deg,#FAFAFF 0%,#fff 100%);}
  .cv-btn-primary{display:inline-flex;padding:12px 24px;background:linear-gradient(135deg,#7C3AED,#8B5CF6);color:#fff;font-weight:900;border-radius:14px;text-decoration:none;font-size:.85rem;}
  .cv-btn-outline{display:inline-flex;padding:10px 16px;border:1.5px solid #DDD6FE;border-radius:12px;color:#7C3AED;font-weight:800;text-decoration:none;font-size:.78rem;justify-content:center;}
  .cv-btn-outline.full{width:100%;}
  .cv-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.78rem;}
  .cv-dl dt{color:#94A3B8;font-weight:700;}
  .cv-dl dd{color:#334155;font-weight:800;margin:0;}
  .cv-muted{color:#94A3B8;font-weight:600;font-size:.85rem;}
  .cv-breadcrumb-link{font-size:.8rem;font-weight:800;color:#7C3AED;text-decoration:none;display:inline-block;margin-bottom:16px;}

  .cv-cm-tree{width:100%;padding:20px 0;}
  .cv-cm-branch{display:flex;flex-direction:column;align-items:center;margin-bottom:16px;}
  .cv-cm-sub-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px;padding-top:10px;border-top:2px dashed #E9D5FF;width:100%;max-width:720px;}
  .cv-cm-related{font-size:.68rem;background:#F8FAFC;border:1px solid #E2E8F0;color:#475569;padding:6px 10px;border-radius:8px;font-weight:700;}
  .cv-cm-sub{background:#fff;border:2px solid #A78BFA;color:#5B21B6;padding:10px 14px;border-radius:12px;font-weight:800;font-size:.78rem;}
  /* Ministry guidebook layout */
  .cv-content-html .cv-guidebook{width:100%;max-width:100%;}
  .cv-content-html .cv-guide-header{
    margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #EDE9FE;
  }
  .cv-content-html .cv-guide-lesson-title{
    font-size:1.2rem;font-weight:900;color:#4C1D95;margin:0;line-height:1.5;
  }
  .cv-content-html .cv-guide-section{
    background:#FAFAFF;border:1px solid #EDE9FE;border-radius:16px;
    padding:20px 22px;margin:18px 0;
  }
  .cv-content-html .cv-guide-section > :last-child{margin-bottom:0;}
  .cv-content-html .cv-guide-major{background:linear-gradient(180deg,#F5F3FF 0%,#FAFAFF 100%);}
  .cv-content-html .cv-h2{font-size:1.05rem;color:#4C1D95;font-weight:900;margin:0 0 14px;line-height:1.45;}
  .cv-content-html .cv-h3{font-size:1rem;color:#5B21B6;font-weight:900;margin:0 0 12px;line-height:1.45;}
  .cv-content-html .cv-h4{font-size:.92rem;color:#6D28D9;font-weight:800;margin:16px 0 8px;line-height:1.4;}
  .cv-content-html .cv-lead{
    font-size:1rem;font-weight:700;color:#1E293B;line-height:1.8;
    padding:12px 14px;background:#fff;border-radius:10px;border:1px solid #E9D5FF;
    margin:0 0 14px;
  }
  .cv-content-html .cv-ul,
  .cv-content-html .cv-ol{
    margin:0 0 16px;padding:0 1.25em 0 0;
    list-style-position:inside;
  }
  .cv-content-html .cv-ul{list-style-type:disc;}
  .cv-content-html .cv-ol{list-style-type:decimal;}
  .cv-content-html .cv-ul li,
  .cv-content-html .cv-ol li{
    margin-bottom:10px;padding:0;line-height:1.75;display:list-item;
  }
  .cv-content-html .cv-ul li::marker,
  .cv-content-html .cv-ol li::marker{color:#7C3AED;font-weight:800;}
  .cv-content-html .cv-callout{
    border-radius:14px;padding:14px 18px;margin:16px 0;border-inline-start:4px solid #7C3AED;
    background:#fff;border:1px solid #E9D5FF;
  }
  .cv-content-html .cv-callout-practice{border-inline-start-color:#F59E0B;background:#FFFBEB;border-color:#FDE68A;}
  .cv-content-html .cv-callout-label{font-size:.72rem;font-weight:900;color:#7C3AED;letter-spacing:.3px;margin-bottom:6px;}
  .cv-content-html .cv-callout-practice .cv-callout-label{color:#B45309;}
  .cv-content-html .cv-callout p{margin:0;}
  .cv-content-html .cv-math-block{
    background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:18px 20px;
    margin:18px 0;overflow-x:auto;text-align:center;direction:ltr;unicode-bidi:bidi-override;
  }
  .cv-content-html .cv-math-inline{direction:ltr;unicode-bidi:bidi-override;display:inline-block;}
  .cv-content-html .cv-sec-divider{border:none;border-top:1px dashed #C4B5FD;margin:24px 0;}
  .cv-content-html .cv-content-table{
    width:100%;border-collapse:collapse;margin:16px 0;font-size:.88rem;
    display:table;table-layout:auto;
  }
  .cv-content-html .cv-content-table th{background:#F5F3FF;color:#5B21B6;font-weight:800;}
  .cv-content-html .cv-content-table td,
  .cv-content-html .cv-content-table th{
    border:1px solid #E2E8F0;padding:10px 12px;text-align:right;vertical-align:top;
  }
  .cv-content-html p{margin:0 0 12px;line-height:1.85;}
  /* KaTeX in RTL — inline-flex row, isolate only (no bidi-override) */
  .cv-content-html .math-ltr-wrap{
    direction:ltr !important;
    unicode-bidi:isolate !important;
    display:inline-block !important;
    text-align:left !important;
  }
  .cv-content-html .math-ltr-wrap .katex .katex-html{
    direction:ltr !important;
    unicode-bidi:bidi-override !important;
    display:inline-block !important;
    font-weight:800;
  }
  .cv-content-html .math-step-eq{
    display:block;
    direction:rtl;
    text-align:right;
    margin:6px 0 10px;
    width:100%;
  }
  .cv-content-html .math-step-eq .math-ltr-wrap{display:inline-block;direction:ltr;}
  .cv-content-html .math-inline{display:inline-block;direction:ltr;unicode-bidi:isolate;vertical-align:middle;}
  .cv-content-html .math-steps{direction:rtl;padding-right:1.5em;padding-left:0;}
  .cv-content-html .math-steps li{text-align:right;}
  .cv-content-html .guide-table--math .math-cell{direction:rtl;text-align:right;}
  .cv-content-html .guide-table--math .math-cell .math-ltr-wrap{display:inline-block;direction:ltr;}
  .cv-content-html .mw-value-table--math th:first-child,
  .cv-content-html .mw-value-table--math td:first-child{text-align:right;}
  .cv-content-html .katex-display{
    display:block;
    text-align:center;
    margin:.55em 0;
    overflow:visible;
  }
  .cv-content-html .eq-box .katex-display{overflow:visible;}
  .cv-content-html .info-card-body .math-ltr-wrap--display{display:block;text-align:center;margin:.35em 0;}
  .cv-content-html .info-card-body .katex-display{overflow:visible;margin:.35em 0;}
  .cv-content-html .eq-box,
  .cv-content-html .mw-katex-block,
  .cv-content-html .mw-fn-readout{
    direction:ltr;
    unicode-bidi:isolate;
  }
  .cv-content-html .mw-formula-wall .mw-formula-card span{
    direction:rtl;
    unicode-bidi:isolate;
  }
  .cv-content-html .mw-formula-wall .mw-formula-card span .math-ltr-wrap,
  .cv-content-html .mw-formula-wall .mw-formula-card span .katex{
    direction:ltr;
    unicode-bidi:isolate;
  }
  .cv-card:has(.cv-content-html){padding:24px;}
  .cv-card:has(.cv-content-html) .cv-card-title{margin-bottom:18px;}
  .cv-idea-rating{display:flex;align-items:center;gap:4px;color:#F59E0B;font-weight:900;font-size:.75rem;}
  .cv-guide-page .guide-wrap{max-width:100%;}

  .cv-gen-modal { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 20px; }
  .cv-gen-modal.open { display: flex; }
  .cv-gen-modal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.55); backdrop-filter: blur(4px); }
  .cv-gen-modal-panel {
    position: relative; background: #fff; border-radius: 20px; padding: 28px 28px 24px;
    max-width: 480px; width: 100%; max-height: 90vh; overflow-y: auto;
    box-shadow: 0 25px 50px rgba(0,0,0,.18); border: 1.5px solid #E2E8F0;
  }
  .cv-gen-modal-x {
    position: absolute; top: 14px; left: 14px; width: 36px; height: 36px;
    border: none; background: #F1F5F9; border-radius: 10px; cursor: pointer; font-size: 1rem; color: #64748B;
  }
  .cv-gen-modal-title { font-size: 1.15rem; font-weight: 900; color: #1E293B; margin: 0 0 6px; padding-left: 40px; }
  .cv-gen-modal-desc { font-size: .8rem; color: #64748B; font-weight: 600; margin: 0 0 20px; line-height: 1.5; }
  .cv-gen-field { margin-bottom: 16px; }
  .cv-gen-field label { display: block; font-size: .8rem; font-weight: 800; color: #475569; margin-bottom: 8px; }
  .cv-gen-field input[type="text"],
  .cv-gen-field input[type="number"],
  .cv-gen-field select,
  .cv-gen-field textarea {
    width: 100%; padding: 12px 14px; border: 1.5px solid #E2E8F0; border-radius: 10px;
    font-size: .9rem; font-family: inherit; font-weight: 700; background: #FAFAFF;
  }
  .cv-gen-field textarea { min-height: 72px; resize: vertical; }
  .cv-gen-range-row { display: flex; align-items: center; gap: 12px; }
  .cv-gen-range-row input[type="range"] { flex: 1; accent-color: #7C3AED; }
  .cv-gen-range-val { min-width: 72px; font-weight: 900; color: #7C3AED; font-size: .85rem; text-align: left; }
  .cv-gen-modal-actions { display: flex; gap: 10px; margin-top: 8px; }
  .cv-gen-btn-cancel {
    flex: 1; padding: 12px; border: 1.5px solid #E2E8F0; background: #fff; border-radius: 12px;
    font-weight: 800; color: #64748B; cursor: pointer; font-family: inherit;
  }
  .cv-gen-btn-submit {
    flex: 2; padding: 12px; border: none; background: linear-gradient(135deg,#7C3AED,#8B5CF6);
    color: #fff; border-radius: 12px; font-weight: 900; cursor: pointer; font-family: inherit;
  }
  .cv-gen-btn-submit:disabled { opacity: .6; cursor: not-allowed; }
  a.cv-gen-action, a.cv-gen-btn { cursor: pointer; }

  .cv-lesson-empty {
    text-align: center; padding: 40px 20px; background: #FAFAFF; border-radius: 16px;
    border: 1.5px dashed #E2E8F0; color: #64748B; font-size: .85rem; font-weight: 600;
  }
  .cv-lesson-empty .ic { font-size: 2.5rem; margin-bottom: 12px; }
  .cv-lesson-empty-link {
    display: inline-block;
    margin-top: 12px;
    font-size: 0.82rem;
    font-weight: 800;
    color: #7C3AED;
    text-decoration: none;
  }
  .cv-lesson-empty-link:hover { text-decoration: underline; }

  .cv-bank-notice {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #EEF2FF 0%, #F8FAFC 100%);
    border: 1.5px solid #C7D2FE;
    font-size: .78rem;
    line-height: 1.55;
    color: #475569;
  }
  .cv-bank-notice-body strong {
    display: block;
    font-size: .84rem;
    font-weight: 900;
    color: #312E81;
    margin-bottom: 6px;
  }
  .cv-bank-notice-body p { margin: 0 0 8px; }
  .cv-bank-notice-cta {
    display: inline-block;
    font-size: .74rem;
    font-weight: 800;
    color: #586CFF;
    text-decoration: none;
  }
  .cv-bank-notice-cta:hover { text-decoration: underline; }

  .cv-q-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
  .cv-q-card {
    background: #fff; border: 1.5px solid #E2E8F0; border-radius: 16px; padding: 14px;
    display: flex; flex-direction: column; gap: 10px; min-height: 140px;
  }
  .cv-q-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .cv-q-index {
    width: 28px; height: 28px; border-radius: 8px; background: #F5F3FF; color: #7C3AED;
    font-size: .72rem; font-weight: 900; display: flex; align-items: center; justify-content: center;
  }
  .cv-q-actions { display: flex; align-items: center; gap: 8px; }
  .cv-q-action {
    width: 32px; height: 32px; border: 1.5px solid #E2E8F0; border-radius: 8px; background: #fff;
    cursor: pointer; display: flex; align-items: center; justify-content: center; color: #64748B;
  }
  .cv-q-action:hover { border-color: #C4B5FD; color: #7C3AED; }
  .cv-q-type-pill {
    font-size: .65rem; font-weight: 800; padding: 4px 8px; border-radius: 6px;
    background: #ECFDF5; color: #047857;
  }
  .cv-q-drop-wrap { position: relative; }
  .cv-q-dropdown {
    display: none; position: absolute; top: 100%; left: 0; z-index: 50; min-width: 200px;
    background: #fff; border: 1.5px solid #E2E8F0; border-radius: 12px; box-shadow: 0 12px 24px rgba(0,0,0,.1);
    padding: 6px; margin-top: 4px; max-height: 220px; overflow-y: auto;
  }
  .cv-q-dropdown.open { display: block; }
  .cv-q-drop-item {
    display: block; width: 100%; text-align: right; padding: 10px 12px; border: none; background: transparent;
    border-radius: 8px; font-size: .78rem; font-weight: 700; color: #334155; cursor: pointer; font-family: inherit;
  }
  .cv-q-drop-item:hover { background: #F5F3FF; color: #7C3AED; }
  .cv-q-drop-item.muted { opacity: .6; cursor: default; pointer-events: none; }
  .cv-q-preview { font-size: .82rem; flex: 1; overflow: hidden; }

  .cv-exp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
  .cv-exp-card {
    background: linear-gradient(180deg, #F0FDF4 0%, #fff 40%); border: 1.5px solid #BBF7D0;
    border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px;
  }
  .cv-exp-head { display: flex; align-items: center; justify-content: space-between; }
  .cv-exp-emoji { }
  .cv-exp-badge { font-size: .65rem; font-weight: 800; padding: 4px 10px; border-radius: 100px; }
  .cv-exp-badge.easy { background: #DCFCE7; color: #166534; }
  .cv-exp-badge.mid { background: #FEF9C3; color: #854D0E; }
  .cv-exp-badge.hard { background: #FEE2E2; color: #991B1B; }
  .cv-exp-title { font-size: .92rem; font-weight: 900; color: #1E293B; margin: 0; }
  .cv-exp-desc { font-size: .78rem; color: #64748B; margin: 0; line-height: 1.6; flex: 1; }
  .cv-exp-footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
  .cv-exp-open {
    padding: 8px 14px; background: #10B981; color: #fff; border-radius: 10px;
    font-size: .75rem; font-weight: 800; text-decoration: none;
  }
  .cv-exp-open:hover { background: #059669; }
  .cv-exp-add-wrap { position: relative; margin-right: auto; }
  .cv-exp-add-btn {
    padding: 8px 14px; border: 1.5px solid #7C3AED; background: #F5F3FF; color: #7C3AED;
    border-radius: 10px; font-size: .75rem; font-weight: 800; cursor: pointer; font-family: inherit;
  }
  .cv-exp-dropdown {
    display: none; position: absolute; bottom: 100%; left: 0; z-index: 50; min-width: 260px;
    background: #fff; border: 1.5px solid #E2E8F0; border-radius: 12px; box-shadow: 0 12px 24px rgba(0,0,0,.1);
    padding: 6px; margin-bottom: 6px; max-height: 240px; overflow-y: auto;
  }
  .cv-exp-dropdown.open { display: block; }
  .cv-exp-drop-item {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    width: 100%; text-align: right; padding: 10px 12px; border: none; background: transparent;
    border-radius: 8px; cursor: pointer; font-family: inherit;
  }
  .cv-exp-drop-item:hover { background: #F5F3FF; }
  .cv-exp-drop-course { font-size: .78rem; font-weight: 900; color: #1E293B; }
  .cv-exp-drop-chapter { font-size: .7rem; font-weight: 700; color: #64748B; }
  .cv-exp-drop-item.muted { opacity: .6; cursor: default; pointer-events: none; }

  /* Lesson plan panel */
  .cv-plan-hero {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px;
    padding: 20px 22px; border-radius: 20px; margin-bottom: 20px;
    background: linear-gradient(135deg, #1E3A5F 0%, #2563EB 45%, #7C3AED 100%);
    color: #fff;
  }
  .cv-plan-badge {
    display: inline-block; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.35);
    padding: 4px 12px; border-radius: 100px; font-size: .68rem; font-weight: 800; margin-bottom: 8px;
  }
  .cv-plan-headline { margin: 0 0 6px; font-size: 1.15rem; font-weight: 900; line-height: 1.4; }
  .cv-plan-tagline { margin: 0; font-size: .82rem; opacity: .92; font-weight: 600; max-width: 640px; }
  .cv-plan-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
  .cv-plan-meta-chip {
    background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25);
    padding: 8px 14px; border-radius: 12px; font-size: .72rem; font-weight: 800;
  }
  .cv-plan-timeline {
    display: flex; gap: 4px; margin-bottom: 20px; padding: 12px; background: #F8FAFC;
    border-radius: 16px; border: 1px solid #E2E8F0; overflow-x: auto;
  }
  .cv-plan-tl-item {
    min-width: 72px; text-align: center; padding: 8px 6px; background: #fff;
    border-radius: 10px; border: 1px solid #E2E8F0; font-size: .65rem; font-weight: 800; color: #475569;
  }
  .cv-plan-tl-dur { display: block; color: #7C3AED; margin-top: 4px; }
  .cv-plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-bottom: 20px; }
  .cv-plan-grid-2 { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
  .cv-plan-card-wide { grid-column: 1 / -1; }
  .cv-plan-card {
    background: #fff; border: 1.5px solid #E2E8F0; border-radius: 18px; padding: 16px 18px;
  }
  .cv-plan-card h3 { margin: 0 0 12px; font-size: .88rem; font-weight: 900; color: #1E293B; }
  .cv-plan-card h5 { margin: 0 0 8px; font-size: .78rem; font-weight: 800; color: #64748B; }
  .cv-plan-big-idea { font-size: .88rem; line-height: 1.75; color: #334155; font-weight: 600; margin: 0 0 12px; }
  .cv-plan-essential { font-size: .82rem; line-height: 1.6; color: #475569; padding: 10px 12px; background: #F5F3FF; border-radius: 12px; }
  .cv-plan-ministry-ref { font-size: .75rem; color: #64748B; margin: 10px 0 0; font-weight: 700; }
  .cv-plan-list { margin: 0; padding: 0; list-style: none; }
  .cv-plan-list li { font-size: .8rem; line-height: 1.65; color: #475569; margin-bottom: 10px; padding-right: 14px; position: relative; }
  .cv-plan-list li::before { content: '•'; position: absolute; right: 0; color: #7C3AED; font-weight: 900; }
  .cv-plan-checks li::before { content: '✓'; color: #059669; }
  .cv-plan-sub { font-size: .72rem; color: #94A3B8; margin-top: 4px; display: block; }
  .cv-plan-pill-sm {
    display: inline-block; background: #EDE9FE; color: #6D28D9; font-size: .65rem;
    font-weight: 800; padding: 2px 8px; border-radius: 6px; margin-left: 6px;
  }
  .cv-plan-pill-adv { background: #FEF3C7; color: #B45309; }
  .cv-plan-pill-mid { background: #DBEAFE; color: #1D4ED8; }
  .cv-plan-pill-base { background: #ECFDF5; color: #047857; }
  .cv-plan-vocab-row { padding: 10px 0; border-bottom: 1px solid #F1F5F9; font-size: .78rem; }
  .cv-plan-vocab-row strong { display: block; color: #1E293B; margin-bottom: 4px; }
  .cv-plan-exam-note { display: block; font-size: .7rem; color: #B45309; margin-top: 4px; }
  .cv-plan-safety { margin-top: 12px; padding: 10px; background: #FEF2F2; border-radius: 12px; border: 1px solid #FECACA; font-size: .75rem; }
  .cv-plan-phases { margin-bottom: 20px; }
  .cv-plan-phases-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
  .cv-plan-phases-head h3 { margin: 0; font-size: .95rem; font-weight: 900; color: #1E293B; }
  .cv-plan-print-btn {
    padding: 10px 16px; border-radius: 12px; border: 1.5px solid #DDD6FE;
    background: #FAFAFF; color: #7C3AED; font-size: .75rem; font-weight: 800; cursor: pointer; font-family: inherit;
  }
  .cv-plan-phase-list { display: flex; flex-direction: column; gap: 12px; }
  .cv-plan-phase { border: 1.5px solid #E2E8F0; border-radius: 18px; overflow: hidden; background: #fff; }
  .cv-plan-phase-head {
    display: flex; align-items: flex-start; gap: 14px; padding: 14px 18px;
    background: linear-gradient(90deg, #FAFAFF, #fff); border-bottom: 1px solid #F1F5F9;
  }
  .cv-plan-phase-icon { flex-shrink: 0; display: flex; align-items: center; }
  .cv-plan-phase-head h4 { margin: 0 0 4px; font-size: .9rem; font-weight: 900; color: #1E293B; }
  .cv-plan-phase-goal { margin: 0; font-size: .75rem; color: #64748B; font-weight: 600; }
  .cv-plan-phase-dur {
    margin-right: auto; flex-shrink: 0; background: #7C3AED; color: #fff;
    padding: 6px 12px; border-radius: 100px; font-size: .72rem; font-weight: 800;
  }
  .cv-plan-phase-body { padding: 14px 18px 16px; }
  .cv-plan-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 12px; }
  @media(max-width:700px){ .cv-plan-cols{ grid-template-columns:1fr; } }
  .cv-plan-cols h5 { margin: 0 0 8px; font-size: .75rem; font-weight: 800; color: #7C3AED; }
  .cv-plan-cols ul { margin: 0; padding: 0 16px 0 0; font-size: .78rem; line-height: 1.6; color: #475569; }
  .cv-plan-board { font-size: .78rem; padding: 10px 12px; background: #FFFBEB; border-radius: 10px; margin-bottom: 10px; font-weight: 700; color: #92400E; }
  .cv-plan-checks-inline { font-size: .75rem; color: #059669; font-weight: 700; margin-bottom: 8px; }
  .cv-plan-tips { display: flex; flex-wrap: wrap; gap: 8px; }
  .cv-plan-tips span { font-size: .72rem; background: #F0FDF4; color: #166534; padding: 6px 10px; border-radius: 8px; font-weight: 700; }
  .cv-plan-exit { margin-top: 12px; padding: 12px; background: #EFF6FF; border-radius: 12px; font-size: .8rem; }
  .cv-plan-hw-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid #F1F5F9; font-size: .78rem; }
  .cv-plan-hw-time { margin-right: auto; color: #94A3B8; font-weight: 800; font-size: .68rem; }
  .cv-plan-mc { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px dashed #E2E8F0; font-size: .78rem; }
  .cv-plan-mc-wrong { color: #DC2626; font-weight: 700; margin-bottom: 4px; }
  .cv-plan-mc-right { color: #059669; font-weight: 700; margin-bottom: 4px; }
  .cv-plan-exam-row { margin-bottom: 12px; padding: 10px; background: #F8FAFC; border-radius: 12px; font-size: .78rem; }
  .cv-plan-exam-row strong { display: block; color: #1E293B; margin-bottom: 4px; }
  .cv-plan-exam-row em { display: block; margin-top: 6px; color: #64748B; font-style: normal; font-weight: 600; }
  @media print {
    .cv-tabs, .cv-lesson-tabs, .cv-lesson-cover, .cv-index-cover, .cv-gen-actions, .cv-sidebar, .cv-plan-print-btn { display: none !important; }
    .cv-plan-phase { break-inside: avoid; }
  }

  /* ── Index page (screenshot layout) ── */
  .cv-viewport-index { background: #F4F6FA; }
  .cv-index-cover {
    position: relative;
    border: 1px solid #EDE9FE;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: 0 4px 32px rgba(124, 58, 237, 0.08);
    width: 100%;
    aspect-ratio: 1624 / 722;
    background: #f8f7fc;
  }
  .cv-index-cover-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }
  .cv-index-cover-bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    object-position: center;
  }
  .cv-index-cover-top {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 128px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 24px 32px;
    pointer-events: none;
  }
  .cv-index-cover-text {
    width: 100%;
    max-width: min(560px, 54%);
    padding: 0;
    pointer-events: auto;
  }
  .cv-index-cover-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: #ECFDF5; color: #047857; border: 1px solid #A7F3D0;
    font-size: .68rem; font-weight: 800; padding: 6px 12px; border-radius: 100px; margin-bottom: 12px;
  }
  .cv-index-cover-title {
    font-size: clamp(1.35rem, 2.5vw, 1.85rem); font-weight: 900; color: #1E293B; margin: 0 0 8px;
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap; line-height: 1.25;
  }
  .cv-index-cover-title-icon .cv-icon-wrap { background: #7C3AED; color: #fff; border-radius: 12px; }
  .cv-index-cover-meta { font-size: .8rem; font-weight: 700; color: #64748B; margin: 0 0 4px; }
  .cv-index-cover-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
  }
  .cv-index-cover-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #E9D5FF;
    border-radius: 100px;
    font-size: .72rem;
    font-weight: 800;
    color: #6D28D9;
    box-shadow: 0 1px 4px rgba(124, 58, 237, 0.08);
  }
  .cv-index-cover-chip .cv-svg { color: #7C3AED; flex-shrink: 0; }
  .cv-index-cover-chip-label { color: #94A3B8; font-weight: 700; }
  .cv-index-cover-chip strong { color: #1E293B; font-weight: 900; }
  .cv-index-cover-desc {
    font-size: .84rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.8;
    max-width: 540px;
  }
  .cv-index-cover-desc p { margin: 0 0 10px; }
  .cv-index-cover-desc p:last-child { margin-bottom: 0; }
  .cv-index-cover-desc strong { color: #5B21B6; font-weight: 800; }

  .cv-index-cover-actions {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 4px 20px 12px;
  }
  .cv-index-gen-row {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
  }
  @media (max-width: 1200px) { .cv-index-gen-row { grid-template-columns: repeat(5, 1fr); } }
  @media (max-width: 768px) { .cv-index-gen-row { grid-template-columns: repeat(5, 1fr); } }
  .cv-index-gen-card {
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
    padding: 12px 8px 10px; min-height: 108px;
    background: #fff; border: 1px solid #EBEBEB; border-radius: 14px;
    cursor: pointer; font-family: inherit; transition: transform .15s, box-shadow .15s, border-color .15s;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  }
  .cv-index-gen-card:hover {
    transform: translateY(-2px); border-color: #C4B5FD;
    box-shadow: 0 6px 18px rgba(124, 58, 237, 0.14);
  }
  .cv-index-gen-card img {
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
  }
  .cv-index-gen-card span { font-size: .7rem; font-weight: 800; color: #334155; text-align: center; line-height: 1.25; }

  .cv-index-toolbar {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    background: #fff; border: 1px solid #E2E8F0; border-radius: 16px;
    padding: 12px 16px; margin-bottom: 20px;
  }
  .cv-index-assistant {
    display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit;
    flex-shrink: 0; padding: 6px 10px; border-radius: 12px; transition: background .15s;
  }
  .cv-index-assistant:hover { background: #F5F3FF; }
  .cv-index-assistant-logo { width: 52px; height: 52px; object-fit: contain; border-radius: 12px; }
  .cv-index-assistant-text strong { display: block; font-size: .82rem; font-weight: 900; color: #1E293B; }
  .cv-index-assistant-text span { font-size: .65rem; font-weight: 700; color: #7C3AED; }
  .cv-index-assistant-arrow {
    width: 32px; height: 32px; border-radius: 50%; background: #7C3AED; color: #fff;
    display: flex; align-items: center; justify-content: center; margin-right: 4px;
  }
  .cv-index-search-wrap { flex: 1; min-width: 200px; position: relative; }
  .cv-index-search-icon { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #94A3B8; pointer-events: none; }
  .cv-index-search {
    width: 100%; padding: 12px 44px 12px 16px; border: 1.5px solid #E2E8F0; border-radius: 12px;
    font-size: .82rem; font-weight: 600; font-family: inherit; background: #F8FAFC;
  }
  .cv-index-search:focus { outline: none; border-color: #C4B5FD; background: #fff; }
  .cv-index-toolbar-actions { display: flex; gap: 8px; flex-shrink: 0; }
  .cv-index-toolbar-btn {
    display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px;
    border: 1.5px solid #E2E8F0; border-radius: 12px; background: #fff;
    font-size: .75rem; font-weight: 800; color: #64748B; text-decoration: none; transition: all .15s;
  }
  .cv-index-toolbar-btn:hover { border-color: #C4B5FD; color: #7C3AED; background: #FAFAFF; }
  .cv-index-toolbar-btn.active { background: #F5F3FF; border-color: #7C3AED; color: #7C3AED; }
  .cv-index-toolbar-btn .cv-svg { color: currentColor; }

  .cv-index-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    align-items: start;
  }
  .cv-index-units-col { min-width: 0; }
  .cv-index-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: sticky;
    top: 16px;
  }
  .cv-sidebar-assistant {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #FAFAFF 0%, #F5F3FF 100%);
    border: 1.5px solid #DDD6FE;
    border-radius: 18px;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s, box-shadow .15s;
  }
  .cv-sidebar-assistant:hover {
    border-color: #C4B5FD;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.12);
  }
  .cv-sidebar-assistant-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    border-radius: 12px;
    flex-shrink: 0;
  }
  .cv-sidebar-assistant-text { flex: 1; min-width: 0; }
  .cv-sidebar-assistant-text strong {
    display: block;
    font-size: .82rem;
    font-weight: 900;
    color: #1E293B;
  }
  .cv-sidebar-assistant-text span {
    display: block;
    font-size: .65rem;
    font-weight: 700;
    color: #7C3AED;
    margin-top: 2px;
  }
  .cv-sidebar-assistant-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #7C3AED;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .cv-sidebar-guides {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  }
  .cv-sidebar-guides-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #F1F5F9;
  }
  .cv-sidebar-guides-head h3 {
    margin: 0;
    font-size: .88rem;
    font-weight: 900;
    color: #1E293B;
  }
  .cv-sidebar-guides-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: min(60vh, 520px);
    overflow-y: auto;
  }
  .cv-sidebar-guide-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    border: 1px solid transparent;
    transition: background .12s, border-color .12s;
  }
  .cv-sidebar-guide-item:hover {
    background: #F5F3FF;
    border-color: #EDE9FE;
  }
  .cv-sidebar-guide-item.has-official .cv-sidebar-guide-num::after {
    content: '';
    position: absolute;
    inset: -2px;
    border: 2px solid #10B981;
    border-radius: 10px;
    pointer-events: none;
  }
  .cv-sidebar-guide-num {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0;
  }
  .cv-sidebar-guide-body { flex: 1; min-width: 0; text-align: right; }
  .cv-sidebar-guide-body strong {
    display: block;
    font-size: .75rem;
    font-weight: 800;
    color: #1E293B;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .cv-sidebar-guide-body small {
    display: block;
    font-size: .62rem;
    font-weight: 700;
    color: #94A3B8;
    margin-top: 2px;
  }
  .cv-sidebar-guide-item.has-official .cv-sidebar-guide-body small { color: #059669; }
  .cv-sidebar-guide-arrow {
    font-size: .75rem;
    color: #C4B5FD;
    flex-shrink: 0;
  }
  @media (max-width: 1024px) {
    .cv-index-layout {
      grid-template-columns: 1fr;
    }
    .cv-index-sidebar {
      position: static;
      order: -1;
    }
    .cv-sidebar-guides-list { max-height: 280px; }
  }

  .cv-index-main { width: 100%; }
  .cv-index-main-full { width: 100%; }
  .cv-tabs-inline { margin-bottom: 16px; }
  .cv-gen-action-img { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
  .cv-gen-action { gap: 8px; }

  .cv-modal-picker .cv-modal-panel { max-width: 520px; }
  .cv-picker-search {
    width: 100%; padding: 12px 14px; border: 1.5px solid #E2E8F0; border-radius: 12px;
    font-size: .85rem; font-family: inherit; margin-bottom: 12px;
  }
  .cv-picker-list { max-height: 360px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
  .cv-picker-item {
    display: flex; align-items: center; gap: 12px; width: 100%; text-align: right;
    padding: 12px 14px; border: 1.5px solid #E2E8F0; border-radius: 12px; background: #FAFAFF;
    cursor: pointer; font-family: inherit; transition: all .12s;
  }
  .cv-picker-item:hover { border-color: #C4B5FD; background: #F5F3FF; }
  .cv-picker-item-num { font-size: .72rem; font-weight: 900; color: #7C3AED; min-width: 40px; }
  .cv-picker-item-body { flex: 1; min-width: 0; text-align: right; }
  .cv-picker-item-body strong { display: block; font-size: .82rem; color: #1E293B; }
  .cv-picker-item-body small { display: block; font-size: .68rem; color: #94A3B8; margin-top: 2px; }
  .cv-picker-empty { text-align: center; color: #94A3B8; font-weight: 700; padding: 24px; }
  .cv-gen-no-fields { font-size: .85rem; color: #64748B; font-weight: 600; margin: 0; }

  /* ── Index: mobile layout (stacked, no overlaps) ── */
  @media (max-width: 768px) {
    .cv-viewport-index .cv-container { padding: 12px 12px 32px; }
    .cv-viewport-index .cv-breadcrumb { font-size: .72rem; margin-bottom: 10px; }

    .cv-index-cover {
      aspect-ratio: auto;
      display: flex;
      flex-direction: column;
      border-radius: 20px;
      overflow: visible;
      background: #fff;
      box-shadow: 0 2px 16px rgba(124, 58, 237, 0.08);
    }

    .cv-index-cover-bg {
      position: relative;
      height: 128px;
      border-radius: 20px 20px 0 0;
      overflow: hidden;
      flex-shrink: 0;
    }

    .cv-index-cover-bg-img {
      height: 128px;
      width: 100%;
      object-fit: cover;
      object-position: 22% center;
    }

    .cv-index-cover-top {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      padding: 0 14px;
      margin-top: -20px;
      align-items: stretch;
      pointer-events: auto;
    }

    .cv-index-cover-text {
      max-width: 100%;
      background: #fff;
      border: 1px solid #EDE9FE;
      border-radius: 16px;
      padding: 14px;
      box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
    }

    .cv-index-cover-badge {
      font-size: .62rem;
      padding: 5px 10px;
      margin-bottom: 10px;
      line-height: 1.4;
    }

    .cv-index-cover-title {
      font-size: 1.25rem;
      gap: 8px;
      margin-bottom: 10px;
    }

    .cv-index-cover-title-icon .cv-icon-wrap {
      width: 32px !important;
      height: 32px !important;
    }

    .cv-index-cover-chips {
      gap: 6px;
      margin-bottom: 0;
    }

    .cv-index-cover-chip {
      font-size: .65rem;
      padding: 5px 10px;
      gap: 4px;
    }

    .cv-index-cover-desc {
      display: none;
    }

    .cv-index-cover-actions {
      position: relative;
      left: auto;
      right: auto;
      bottom: auto;
      padding: 12px 14px 14px;
      background: #FAFAFF;
      border-radius: 0 0 20px 20px;
      border-top: 1px solid #F1F5F9;
    }

    .cv-index-cover-actions::before {
      content: 'توليد سريع';
      display: block;
      font-size: .72rem;
      font-weight: 900;
      color: #64748B;
      margin-bottom: 10px;
      text-align: right;
    }

    .cv-index-gen-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }

    .cv-index-gen-card {
      min-height: 0;
      padding: 8px 4px 6px;
      border-radius: 12px;
      gap: 4px;
    }

    .cv-index-gen-card img {
      width: 36px;
      height: 36px;
      min-width: 36px;
      min-height: 36px;
    }

    .cv-index-gen-card span {
      font-size: .58rem;
      line-height: 1.2;
    }

    .cv-index-toolbar {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      padding: 12px;
      border-radius: 16px;
    }

    .cv-index-search-wrap {
      min-width: 0;
      width: 100%;
    }

    .cv-index-toolbar-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      width: 100%;
    }

    .cv-index-toolbar-btn {
      justify-content: center;
      padding: 12px 10px;
      font-size: .72rem;
    }

    .cv-unit-card { border-radius: 14px; }
    .cv-unit-head { padding: 14px; }
    .cv-lesson-row { padding: 12px 14px; }
    .cv-sidebar-assistant { padding: 12px 14px; }
    .cv-sidebar-guides { padding: 14px; }
  }

  @media (max-width: 400px) {
    .cv-index-gen-row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .cv-index-gen-card img {
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
    }

    .cv-index-gen-card span { font-size: .62rem; }

    .cv-index-cover-chip-label { display: none; }

    .cv-index-cover-chip strong { font-size: .68rem; }
  }




/* ══ GUIDEBOOK CORE ══ */
.guide-wrap{max-width:760px;margin:0 auto;padding:40px 0 120px;direction:rtl;}
.guide-back{display:inline-flex;align-items:center;gap:8px;color:#afafaf;font-size:13px;font-weight:800;text-decoration:none;margin-bottom:32px;padding:10px 16px;border-radius:12px;border:2px solid #f0f0f0;transition:all .15s;}
.guide-back:hover{background:#f7f7f7;color:#555;transform:translateX(3px);}
/* ── Hero ── */
.guide-hero{border-radius:28px;padding:40px 44px;margin-bottom:48px;color:#fff;position:relative;overflow:hidden;border-bottom:8px solid rgba(0,0,0,.18);}
.guide-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.1);pointer-events:none;}
.guide-hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none;}
.hero-tag{font-size:11px;font-weight:900;letter-spacing:3px;text-transform:uppercase;opacity:.8;margin-bottom:8px;}
.hero-title{font-size:2.4rem;font-weight:900;line-height:1.15;margin-bottom:10px;}
.hero-sub{font-size:1rem;font-weight:700;opacity:.85;margin-bottom:28px;}
.hero-stats{display:flex;gap:20px;flex-wrap:wrap;}
.hero-stat{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.25);border-radius:14px;padding:10px 18px;font-size:13px;font-weight:900;display:flex;align-items:center;gap:8px;}
/* ── Section ── */
.guide-section{margin-bottom:52px;}
.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:14px;border-bottom:3px solid #f0f0f0;}
.section-num{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;flex-shrink:0;}
.section-title{font-size:1.5rem;font-weight:900;color:#3c3c3c;}
.section-body{font-size:1rem;font-weight:700;color:#555;line-height:1.85;}
/* ── Info cards ── */
.info-card{border-radius:20px;padding:22px 26px;margin-bottom:18px;border:2px solid;position:relative;overflow:hidden;}
.info-card::before{content:'';position:absolute;top:-30px;left:-30px;width:100px;height:100px;border-radius:50%;opacity:.08;background:currentColor;}
.info-card.green{background:#f0fce5;border-color:#c3eeaa;color:#2d7a00;}
.info-card.blue{background:#e8f8ff;border-color:#a8dff7;color:#0068a8;}
.info-card.orange{background:#fff8ec;border-color:#ffd9a0;color:#944d00;}
.info-card.purple{background:#f8f0ff;border-color:#d9aaee;color:#6600aa;}
.info-card.red{background:#fff0f0;border-color:#ffaaaa;color:#aa0000;}
.info-card.yellow{background:#fffce8;border-color:#ffe97a;color:#7a6000;}
.info-card-title{font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.info-card-body{font-size:.95rem;font-weight:700;line-height:1.75;}
/* ── Highlight box ── */
.highlight-def{background:linear-gradient(135deg,#1cb0f6,#0e88c0);color:#fff;border-radius:20px;padding:24px 28px;margin:24px 0;border-bottom:6px solid #0a6fa0;}
.highlight-def .def-label{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;opacity:.8;margin-bottom:6px;}
.highlight-def .def-text{font-size:1.1rem;font-weight:900;line-height:1.6;}
/* ── Element Grid ── */
.element-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:24px 0;}
.element-card{border-radius:18px;padding:18px 16px;border:2.5px solid;text-align:center;transition:transform .15s,box-shadow .15s;cursor:default;}
.element-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1);}
.el-symbol{font-size:2.2rem;font-weight:900;margin-bottom:2px;}
.el-name{font-size:11px;font-weight:900;letter-spacing:1px;opacity:.75;text-transform:uppercase;margin-bottom:6px;}
.el-num{font-size:13px;font-weight:900;opacity:.6;}
.el-config{font-size:10px;font-weight:800;opacity:.5;margin-top:4px;font-family:monospace;}
/* ── Data table ── */
.guide-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;border:2.5px solid #e5e5e5;margin:20px 0;font-size:.88rem;}
.guide-table thead th{background:#f7f7f7;padding:12px 16px;font-weight:900;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#777;border-bottom:2.5px solid #e5e5e5;text-align:right;}
.guide-table tbody tr{transition:background .12s;}
.guide-table tbody tr:hover{background:#fafafa;}
.guide-table tbody td{padding:12px 16px;border-bottom:1.5px solid #f0f0f0;font-weight:700;color:#444;text-align:right;vertical-align:top;}
.guide-table tbody tr:last-child td{border-bottom:none;}
/* ── Equation box ── */
.eq-box{background:#f8f8f8;border-radius:16px;padding:18px 22px;margin:14px 0;border:2px solid #e5e5e5;border-right:5px solid #1cb0f6;overflow:visible;text-align:center;direction:ltr;unicode-bidi:bidi-override;}
.eq-box .math-ltr-wrap--display{display:block !important;width:100%;text-align:center;margin:.35em 0;}
.eq-box .katex-display{display:block !important;width:100%;overflow:visible;margin:.35em 0;}
.eq-box .katex .tag{position:relative;right:auto;margin-right:0;padding-right:.5em;}
.eq-label{font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#afafaf;margin-bottom:8px;text-align:right;}
/* ── Comparison cards ── */
.compare-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;}
.compare-card{border-radius:16px;padding:20px;border:2.5px solid;text-align:center;}
.compare-card .cc-icon{font-size:2rem;margin-bottom:8px;}
.compare-card .cc-title,
.compare-card .compare-title{font-size:14px;font-weight:900;margin-bottom:6px;}
.compare-card .cc-body,
.compare-card .compare-body{font-size:12px;font-weight:700;line-height:1.6;opacity:.8;text-align:right;}
.callout-title{font-size:1rem;font-weight:900;color:#5a4200;margin-bottom:0;line-height:1.45;}
.callout-body{font-size:.93rem;font-weight:700;color:#5a4200;line-height:1.65;}
/* ── Step list ── */
.step-list{list-style:none;padding:0;margin:18px 0;}
.step-list li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1.5px solid #f0f0f0;}
.step-list li:last-child{border-bottom:none;}
.step-num{width:32px;height:32px;border-radius:10px;background:#1cb0f6;color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-text{font-size:.95rem;font-weight:700;color:#444;line-height:1.6;padding-top:4px;}
/* ── Callout ── */
.callout{display:flex;gap:16px;background:#fffbe8;border-radius:16px;padding:20px 24px;border:2px solid #ffe97a;margin:20px 0;align-items:flex-start;}
.callout:has(.callout-title){flex-direction:column;align-items:stretch;gap:10px;}
.callout:has(.callout-title) .callout-title{margin-bottom:4px;padding-bottom:6px;border-bottom:1px solid rgba(234,179,8,.35);}
.callout:has(.callout-title) .callout-body{width:100%;}
.callout-icon{font-size:1.8rem;flex-shrink:0;}
.callout-text{font-size:.93rem;font-weight:700;color:#5a4200;line-height:1.65;flex:1;min-width:0;}
/* ── Progress strip ── */
.lesson-strip{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;border:2px solid #e5e5e5;margin-bottom:10px;background:#fff;transition:background .12s;}
.lesson-strip:hover{background:#f9f9f9;}
.ls-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ls-title{font-size:.95rem;font-weight:900;color:#3c3c3c;flex:1;}
.ls-badge{padding:4px 12px;border-radius:99px;font-size:11px;font-weight:900;}
.guide-hero-inner{position:relative;z-index:2;}
.guide-hero--ch1{background:#1cb0f6;border-bottom-color:#0e88c0;}
.guide-hero--ch2{background:#4338CA;border-bottom-color:#312E81;}
.guide-hero--ch3{background:#ce82ff;border-bottom-color:#a855d4;}
.guide-hero--ch4{background:#0891B2;border-bottom-color:#0E7490;}
.guide-hero--ch5{background:#ff9600;border-bottom-color:#cc7700;}
.guide-hero--ch6{background:#ff4b4b;border-bottom-color:#cc2424;}
.guide-hero--ch7{background:#58cc02;border-bottom-color:#3d9a01;}
.guide-hero--ch8{background:#047857;border-bottom-color:#065F46;}
.section-num--green{background:#58cc02;}
.section-num--blue{background:#1cb0f6;}
.section-num--orange{background:#ff9600;}
.section-num--purple{background:#ce82ff;}
.section-num--red{background:#ff4b4b;}
.section-num--cyan{background:#06b6d4;}
.guide-obj-list{list-style:none;padding:0;margin:0;line-height:2;}
.guide-obj-item{display:flex;gap:8px;}
.guide-obj-check{color:#3d9a01;flex-shrink:0;}
.guide-review-list{list-style:none;padding:0;margin:0;line-height:2.2;}
.cv-guidebook-page .guide-wrap{max-width:100%;padding:0 0 8px;}
.cv-guidebook-page .guide-hero{margin-bottom:32px;}
.cv-guidebook-page .hero-title{font-size:1.75rem;}
/* ── Textbook figures ── */
.guide-figure{margin:20px 0;text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:16px;}
.guide-figure img{max-width:100%;height:auto;border-radius:10px;}
.guide-figure figcaption{margin-top:10px;font-size:.85rem;font-weight:800;color:#475569;}
@media(max-width:640px){.compare-row{grid-template-columns:1fr;}.element-grid{grid-template-columns:repeat(3,1fr);}.guide-hero{padding:28px 22px;}.hero-title{font-size:1.8rem;}}
/* ── KaTeX in RTL Arabic — flex row locks .base order; NO bidi-override ── */
.math-ltr-wrap{
  direction:ltr !important;
  unicode-bidi:isolate !important;
  display:inline-block !important;
  text-align:left !important;
  vertical-align:middle;
}
.math-ltr-wrap--display{display:block !important;text-align:center !important;margin:.45em 0;}
.math-ltr-wrap .katex,.math-ltr-wrap .katex-display{
  direction:ltr !important;
  unicode-bidi:isolate !important;
  display:inline-block !important;
  font-size:1.08em;
}
.math-ltr-wrap .katex .katex-html{
  direction:ltr !important;
  unicode-bidi:bidi-override !important;
  display:inline-block !important;
  font-weight:800;
}
.math-ltr-wrap .katex .textbf,
.math-ltr-wrap .katex .boldsymbol,
.math-ltr-wrap .katex .mord,
.math-ltr-wrap .katex .mrel,
.math-ltr-wrap .katex .mbin,
.math-ltr-wrap .katex .mopen,
.math-ltr-wrap .katex .mclose{
  font-weight:800;
}
.math-ltr-wrap .katex .katex-html > .base{
  direction:ltr !important;
  unicode-bidi:isolate !important;
  display:inline-block !important;
}
/* Block equations — RTL page, math sits on the right (start) side */
.math-step-eq{
  display:block;
  direction:rtl;
  unicode-bidi:isolate;
  text-align:right;
  margin:6px 0 10px;
  width:100%;
}
.math-step-eq .math-ltr-wrap{display:inline-block;direction:ltr;text-align:left;}
.math-inline{display:inline-block;direction:ltr;unicode-bidi:isolate;vertical-align:middle;}
.math-steps{direction:rtl;padding-right:1.5em;padding-left:0;list-style-position:outside;}
.math-steps li{margin-bottom:10px;line-height:2.2;text-align:right;}
.guide-table--math .math-cell{direction:rtl;text-align:right;unicode-bidi:isolate;}
.guide-table--math .math-cell .math-ltr-wrap{display:inline-block;direction:ltr;text-align:left;}
.guide-table--math thead th.math-cell{text-align:right;}
.mw-value-table--math th,.mw-value-table--math td{text-align:center;}
.mw-value-table--math th:first-child,.mw-value-table--math td:first-child{text-align:right;}
.mw-value-table--math .math-ltr-wrap{display:inline-block;direction:ltr;}
/* Arabic letters in \text{} only — do NOT override all .mord (breaks KaTeX digits) */
.cv-content-html .katex .mord.text,
.cv-content-html .katex .mord.text .mord,
.cv-content-html .katex .mtext{
  font-family:'Alexandria','KaTeX_Main',serif !important;
}
.cv-content-html .callout-body ol li,
.cv-content-html .info-card ol li{line-height:2.5;margin-bottom:8px;}
.cv-content-html .guide-table td .katex{font-size:.95em;}
.cv-content-html .guide-table td{vertical-align:middle;}

