
/* === MAIN CURRICULUM STYLES === */
@include('hubs.partials._atum-fonts')

  .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; }
  }


@include('tools.curriculum.partials.icons-script')


/* === WIDGET FILE: guide-arabic-widgets.blade.php === */

.ar-lab{background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);border:2px solid #F59E0B;border-radius:16px;padding:16px;margin:12px 0;}
.ar-lab-title{font-size:.9rem;font-weight:900;color:#92400E;margin-bottom:10px;}
.ar-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ar-btn{padding:8px 14px;border-radius:10px;border:2px solid #FCD34D;background:#fff;font-size:.78rem;font-weight:800;color:#78350F;cursor:pointer;transition:transform .1s,background .15s;}
.ar-btn:hover{transform:scale(1.03);}
.ar-btn.is-active{background:#F59E0B;color:#fff;border-color:#D97706;}
.ar-btn.is-done{background:#DCFCE7;border-color:#86EFAC;color:#166534;}
.ar-readout,.ar-panel{font-size:.85rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.8;}
.ar-panel h4{margin:0 0 6px;color:#B45309;font-size:.9rem;}
.ar-nasb-prompt,.ar-tabaq-prompt,.ar-jawab-prompt,.ar-friend-prompt,.ar-jinas-prompt,.ar-tawriya-prompt,.ar-masdar-prompt,.ar-ijaz-prompt{font-size:1rem;font-weight:900;color:#1E293B;text-align:center;padding:12px;background:#fff;border-radius:10px;border:2px dashed #F59E0B;margin:8px 0;}
.ar-pillar-row,.ar-matrix-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:10px 0;}
.ar-pillar-btn,.ar-matrix-btn,.ar-wave-btn{padding:10px 8px;border-radius:10px;border:2px solid #C4B5FD;background:#fff;font-size:.72rem;font-weight:800;color:#5B21B6;cursor:pointer;text-align:center;line-height:1.4;}
.ar-pillar-btn.is-active,.ar-matrix-btn.is-active,.ar-wave-btn.is-active{background:#7C3AED;color:#fff;border-color:#6D28D9;}
.ar-pillar-btn.is-done,.ar-matrix-btn.is-done{background:#EDE9FE;border-color:#A78BFA;}
.ar-wave-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.ar-wave-panel{font-size:.85rem;font-weight:800;color:#334155;padding:12px;background:#F5F3FF;border-radius:10px;border:2px solid #DDD6FE;margin-top:8px;line-height:1.8;}
.ar-wave-panel h4{margin:0 0 6px;color:#6D28D9;font-size:.9rem;}
.ar-verse-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin:10px 0;}
.ar-verse-btn{padding:8px 6px;border-radius:8px;border:2px solid #F9A8D4;background:#fff;font-size:.7rem;font-weight:800;color:#9D174D;cursor:pointer;text-align:center;}
.ar-verse-btn.is-active{background:#EC4899;color:#fff;border-color:#DB2777;}
.ar-ocr-prose{font-size:.88rem;line-height:2;font-weight:700;color:#334155;}
.ar-ocr-prose p{margin:0 0 12px;}
.ar-ladder-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:10px 0;}
.ar-ladder-btn{padding:10px 8px;border-radius:10px;border:2px solid #86EFAC;background:#fff;font-size:.75rem;font-weight:800;color:#166534;cursor:pointer;text-align:center;line-height:1.4;}
.ar-ladder-btn.is-done{background:#DCFCE7;}
.ar-ladder-btn.is-active{background:#059669;color:#fff;border-color:#047857;}
.guide-hero--ar-l01{background:linear-gradient(135deg,#92400E 0%,#D97706 45%,#FBBF24 100%);border-bottom-color:#78350F;}
.guide-hero--ar-l02{background:linear-gradient(135deg,#9A3412 0%,#EA580C 45%,#FDBA74 100%);border-bottom-color:#7C2D12;}
.guide-hero--ar-l03{background:linear-gradient(135deg,#854D0E 0%,#CA8A04 45%,#FDE047 100%);border-bottom-color:#713F12;}
.guide-hero--ar-l04{background:linear-gradient(135deg,#065F46 0%,#059669 45%,#34D399 100%);border-bottom-color:#064E3B;}
.guide-hero--ar-l05{background:linear-gradient(135deg,#1E40AF 0%,#3B82F6 45%,#93C5FD 100%);border-bottom-color:#1E3A8A;}
.guide-hero--ar-l06{background:linear-gradient(135deg,#6B21A8 0%,#A855F7 45%,#D8B4FE 100%);border-bottom-color:#581C87;}
.guide-hero--ar-l07{background:linear-gradient(135deg,#0F766E 0%,#14B8A6 45%,#5EEAD4 100%);border-bottom-color:#115E59;}
.guide-hero--ar-l08{background:linear-gradient(135deg,#BE185D 0%,#EC4899 45%,#F9A8D4 100%);border-bottom-color:#9D174D;}
.guide-hero--ar-l09{background:linear-gradient(135deg,#4338CA 0%,#6366F1 45%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.guide-hero--ar-g12-l01{background:linear-gradient(135deg,#78350F 0%,#D97706 48%,#FDE68A 100%);border-bottom-color:#92400E;}
.guide-hero--ar-g12-l02{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--ar-g12-l03{background:linear-gradient(135deg,#065F46 0%,#059669 45%,#6EE7B7 100%);border-bottom-color:#047857;}
.guide-hero--ar-g12-l04{background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 45%,#C4B5FD 100%);border-bottom-color:#6D28D9;}
.guide-hero--ar-g12-l05{background:linear-gradient(135deg,#BE185D 0%,#EC4899 45%,#FBCFE8 100%);border-bottom-color:#9D174D;}
.guide-hero--ar-g12-l06{background:linear-gradient(135deg,#92400E 0%,#F59E0B 45%,#FEF3C7 100%);border-bottom-color:#B45309;}
.guide-hero--ar-g12-l07{background:linear-gradient(135deg,#0F766E 0%,#14B8A6 45%,#99F6E4 100%);border-bottom-color:#115E59;}
.guide-hero--ar-g12-l08{background:linear-gradient(135deg,#4338CA 0%,#6366F1 45%,#E0E7FF 100%);border-bottom-color:#3730A3;}
.guide-hero--ar-g12-l09{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 45%,#FED7AA 100%);border-bottom-color:#9A3412;}
.guide-hero--ar-g12-l10{background:linear-gradient(135deg,#581C87 0%,#A855F7 45%,#E9D5FF 100%);border-bottom-color:#6B21A8;}
.ar-g12-flash-deck,.ar-g12-streak-path{margin:12px 0;text-align:center;}
.ar-g12-flash-scene{perspective:1200px;margin:0 auto 14px;max-width:420px;}
.ar-g12-flash-flipper{position:relative;width:100%;min-height:180px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);cursor:pointer;}
.ar-g12-flash-flipper.is-flipped{transform:rotateY(180deg);}
.ar-g12-flash-front,.ar-g12-flash-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px 18px;border-radius:18px;backface-visibility:hidden;font-weight:900;line-height:1.75;text-align:center;}
.ar-g12-flash-front{background:linear-gradient(145deg,#064E3B,#047857);color:#FDE68A;border:3px solid #F59E0B;font-size:1rem;}
.ar-g12-flash-back{background:linear-gradient(145deg,#1E293B,#334155);color:#FEF3C7;font-size:.88rem;transform:rotateY(180deg);border:3px solid #475569;}
.ar-g12-flash-item{display:none;}
.ar-g12-flash-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px;}
.ar-g12-flash-btn{padding:10px 16px;border-radius:12px;border:2px solid #F59E0B;background:#fff;color:#92400E;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;}
.ar-g12-flash-progress{font-size:.75rem;font-weight:900;color:#64748B;margin-top:10px;display:block;}
.ar-g12-story-prose{font-size:.88rem;line-height:2;font-weight:700;color:#334155;}
.ar-g12-def-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:12px 0;}
.ar-g12-def-card{padding:12px;border-radius:14px;border:2px solid #FCD34D;background:#FFFBEB;font-size:.78rem;font-weight:800;line-height:1.55;text-align:center;}
.ar-g12-num-list{counter-reset:arstep;margin:12px 0;padding:0;list-style:none;}
.ar-g12-num-list li{counter-increment:arstep;display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px 12px;margin:8px 0;border-radius:12px;background:#F8FAFC;border:2px solid #E2E8F0;font-size:.82rem;font-weight:700;line-height:1.65;}
.ar-g12-num-list li::before{content:counter(arstep);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#064E3B;color:#FDE68A;font-weight:900;}
.ar-g12-fig-inline{margin:12px 0;text-align:center;}
.ar-g12-fig-inline img{max-width:100%;height:auto;border-radius:14px;border:2px solid #F59E0B;box-shadow:0 8px 24px rgba(217,119,6,.15);}
.ar-g12-verse-grid{display:grid;gap:8px;margin:8px 0;}
.ar-g12-verse-line{padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#F5F3FF,#EDE9FE);border:2px solid #A78BFA;font-size:.9rem;font-weight:800;line-height:1.9;text-align:center;color:#4C1D95;}



/* === WIDGET FILE: guide-biology-widgets.blade.php === */

.bio-lab{background:linear-gradient(145deg,#ECFDF5 0%,#D1FAE5 45%,#F0FDF4 100%);border:3px solid #059669;border-radius:20px;padding:18px 20px;margin:16px 0;}
.bio-lab-title{font-size:.82rem;font-weight:900;color:#065F46;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.bio-lab-title::before{content:'🧬';}
.bio-readout,.bio-status{font-size:.88rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;text-align:center;line-height:1.7;}
.bio-status.is-ok{background:#DCFCE7;color:#166534;}
.bio-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.bio-btn{padding:8px 14px;border:2px solid #6EE7B7;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#065F46;transition:transform .12s,background .12s;}
.bio-btn:hover{background:#D1FAE5;transform:scale(1.02);}
.bio-btn.is-active{background:#059669;color:#fff;border-color:#047857;}
.bio-panel{background:#fff;border-radius:14px;padding:16px;border:2px solid #E2E8F0;min-height:80px;margin-top:10px;}
.bio-panel h4{margin:0 0 8px;font-size:.9rem;color:#047857;}
.bio-panel p{margin:0;font-size:.85rem;font-weight:700;color:#475569;line-height:1.7;}
.bio-g12-obj-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
.bio-g12-obj-pills span{padding:6px 12px;border-radius:99px;background:#ECFDF5;border:2px solid #6EE7B7;font-size:.75rem;font-weight:900;color:#065F46;}
.bio-g12-think-bubble{background:linear-gradient(135deg,#F0FDF4,#ECFDF5);border:2px solid #34D399;border-radius:16px;padding:16px 18px;font-weight:800;line-height:1.8;color:#065F46;}
.bio-g12-mat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0;}
.bio-g12-mat-card{padding:14px;border-radius:16px;border:2px solid #A7F3D0;background:#fff;transition:transform .15s;}
.bio-g12-mat-card:hover{transform:translateY(-2px);}
.bio-g12-mat-card strong{display:block;font-size:.88rem;color:#047857;margin-bottom:6px;}
.bio-g12-mat-card p{margin:0;font-size:.8rem;font-weight:700;color:#475569;line-height:1.65;}
.bio-g12-mat-card .bio-g12-tag{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:8px;background:#ECFDF5;font-size:.7rem;font-weight:900;color:#059669;}
.bio-g12-tissue-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
@media(max-width:640px){.bio-g12-tissue-row{grid-template-columns:1fr;}}
.bio-g12-tissue-card{padding:14px;border-radius:14px;border-left:5px solid #059669;background:#F0FDF4;}
.bio-g12-tissue-card h4{margin:0 0 8px;font-size:.85rem;color:#047857;}
.bio-g12-tissue-card p{margin:0;font-size:.8rem;font-weight:700;line-height:1.65;color:#475569;}
.bio-g12-skel-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
@media(max-width:640px){.bio-g12-skel-map{grid-template-columns:1fr;}}
.bio-g12-skel-zone{padding:14px;border-radius:16px;border:2px solid #6EE7B7;background:#fff;cursor:pointer;transition:border-color .15s,background .15s;}
.bio-g12-skel-zone.is-active{border-color:#047857;background:#ECFDF5;}
.bio-g12-skel-zone strong{display:block;font-size:.9rem;color:#047857;margin-bottom:6px;}
.bio-g12-vertebra-ladder{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.bio-g12-vertebra-chip{padding:8px 12px;border-radius:12px;border:2px solid #A7F3D0;background:#fff;font-size:.75rem;font-weight:900;color:#065F46;cursor:pointer;}
.bio-g12-vertebra-chip.is-active{background:#059669;color:#fff;border-color:#047857;}
.bio-g12-joint-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;}
@media(max-width:640px){.bio-g12-joint-deck{grid-template-columns:1fr;}}
.bio-g12-joint-card{padding:12px;border-radius:14px;text-align:center;border:2px solid #E2E8F0;background:#fff;}
.bio-g12-joint-card strong{display:block;font-size:.82rem;color:#047857;margin-bottom:4px;}
.bio-g12-joint-card span{font-size:.72rem;font-weight:700;color:#64748B;}
.bio-g12-motion-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.bio-g12-motion-chip{padding:10px 14px;border-radius:14px;border:2px solid #6EE7B7;background:#fff;font-weight:900;font-size:.78rem;color:#065F46;cursor:pointer;}
.bio-g12-motion-chip.is-active{background:#047857;color:#fff;border-color:#065F46;}
.bio-g12-sarcomere-stage{background:#0F172A;border-radius:16px;padding:16px;margin:12px 0;border:2px solid #334155;}
.bio-g12-sarcomere-bar{height:28px;background:linear-gradient(90deg,#F472B6 0%,#F472B6 35%,#64748B 35%,#64748B 65%,#F472B6 65%);border-radius:8px;margin:12px 0;position:relative;transition:background .35s;}
.bio-g12-z-mark{position:absolute;top:-18px;font-size:.65rem;font-weight:900;color:#94A3B8;}
.bio-g12-z-mark.z1{left:32%;}
.bio-g12-z-mark.z2{right:32%;}
.bio-g12-nerve-steps{counter-reset:step;margin:12px 0;}
.bio-g12-nerve-step{display:flex;gap:12px;padding:12px;border-radius:12px;background:#F0FDF4;border:2px solid #BBF7D0;margin-bottom:8px;}
.bio-g12-nerve-step span{flex:0 0 28px;height:28px;border-radius:50%;background:#059669;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900;}
.bio-g12-nerve-step p{margin:0;font-size:.82rem;font-weight:700;line-height:1.65;color:#475569;}
.bio-g12-compare-lane{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
@media(max-width:640px){.bio-g12-compare-lane{grid-template-columns:1fr;}}
.bio-g12-compare-box{padding:14px;border-radius:14px;border:2px solid #E2E8F0;}
.bio-g12-compare-box.plant{background:#F0FDF4;border-color:#6EE7B7;}
.bio-g12-compare-box.human{background:#EFF6FF;border-color:#93C5FD;}
.guide-hero--bio-g12-l01{background:linear-gradient(135deg,#065F46 0%,#059669 45%,#34D399 100%);border-bottom-color:#047857;}
.guide-hero--bio-g12-l02{background:linear-gradient(135deg,#134E4A 0%,#0D9488 45%,#5EEAD4 100%);border-bottom-color:#0F766E;}
.guide-hero--bio-g12-l03{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#86EFAC 100%);border-bottom-color:#15803D;}
.guide-hero--bio-g12-l04{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--bio-g12-l05{background:linear-gradient(135deg,#581C87 0%,#9333EA 45%,#E9D5FF 100%);border-bottom-color:#7E22CE;}
.guide-hero--bio-g12-l06{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--bio-g12-ch02-l01{background:linear-gradient(135deg,#064E3B 0%,#047857 40%,#10B981 75%,#6EE7B7 100%);border-bottom-color:#065F46;}
.guide-hero--bio-g12-ch03-l01{background:linear-gradient(135deg,#14532D 0%,#15803D 40%,#22C55E 75%,#86EFAC 100%);border-bottom-color:#166534;}
.guide-hero--bio-g12-ch03-l02{background:linear-gradient(135deg,#7C2D12 0%,#C2410C 40%,#F97316 75%,#FDBA74 100%);border-bottom-color:#9A3412;}
.guide-hero--bio-g12-ch03-l03{background:linear-gradient(135deg,#831843 0%,#DB2777 40%,#F472B6 75%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--bio-g12-ch03-l04{background:linear-gradient(135deg,#701A75 0%,#A21CAF 40%,#E879F9 75%,#FAE8FF 100%);border-bottom-color:#86198F;}
.guide-hero--bio-g12-ch04-l01{background:linear-gradient(135deg,#14532D 0%,#166534 40%,#4ADE80 75%,#BBF7D0 100%);border-bottom-color:#15803D;}
.guide-hero--bio-g12-ch04-l02{background:linear-gradient(135deg,#1E3A8A 0%,#1D4ED8 40%,#60A5FA 75%,#DBEAFE 100%);border-bottom-color:#1E40AF;}
.guide-hero--bio-g12-ch04-l03{background:linear-gradient(135deg,#7F1D1D 0%,#DC2626 35%,#F87171 70%,#FEE2E2 100%);border-bottom-color:#991B1B;}
.guide-hero--bio-g12-ch05-l01{background:linear-gradient(135deg,#312E81 0%,#4338CA 35%,#818CF8 70%,#E0E7FF 100%);border-bottom-color:#3730A3;}
.guide-hero--bio-g12-ch05-l02{background:linear-gradient(135deg,#134E4A 0%,#0F766E 35%,#2DD4BF 70%,#CCFBF1 100%);border-bottom-color:#115E59;}
.guide-hero--bio-g12-ch05-l03{background:linear-gradient(135deg,#78350F 0%,#D97706 35%,#FBBF24 70%,#FEF3C7 100%);border-bottom-color:#92400E;}
.guide-hero--bio-g12-ch05-l04{background:linear-gradient(135deg,#581C87 0%,#9333EA 35%,#C084FC 70%,#F3E8FF 100%);border-bottom-color:#6B21A8;}
.guide-hero--bio-g12-ch06-l01{background:linear-gradient(135deg,#1E3A5F 0%,#2563EB 35%,#60A5FA 70%,#DBEAFE 100%);border-bottom-color:#1D4ED8;}
.guide-hero--bio-g12-ch06-l02{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 35%,#FB923C 70%,#FFEDD5 100%);border-bottom-color:#C2410C;}
.guide-hero--bio-g12-ch06-l03{background:linear-gradient(135deg,#064E3B 0%,#059669 35%,#34D399 70%,#D1FAE5 100%);border-bottom-color:#047857;}
.bio-g12-repro-chip,.bio-g12-gen-chip,.bio-g12-flower-chip,.bio-g12-repro-phase-chip,.bio-g12-shield-chip,.bio-g12-immune-chip,.bio-g12-defense-chip,.bio-g12-dna-chip,.bio-g12-helix-chip,.bio-g12-repl-chip,.bio-g12-genome-chip,.bio-g12-rna-chip,.bio-g12-synth-chip,.bio-g12-biotech-chip{padding:.45rem .75rem;border-radius:999px;border:1px solid var(--guide-border,#d1d5db);background:#fff;cursor:pointer;font-size:.85rem;}
.bio-g12-repro-chip.is-active,.bio-g12-gen-chip.is-active,.bio-g12-flower-chip.is-active,.bio-g12-repro-phase-chip.is-active,.bio-g12-shield-chip.is-active,.bio-g12-immune-chip.is-active,.bio-g12-defense-chip.is-active,.bio-g12-dna-chip.is-active{background:#ecfdf5;border-color:#059669;}
.bio-g12-dna-chip.is-active{background:#eef2ff;border-color:#4338ca;}
.bio-g12-helix-chip.is-active{background:#ecfdf5;border-color:#0f766e;}
.bio-g12-repl-chip.is-active{background:#fffbeb;border-color:#d97706;}
.bio-g12-genome-chip.is-active{background:#faf5ff;border-color:#9333ea;}
.bio-g12-rna-chip.is-active{background:#eff6ff;border-color:#2563eb;}
.bio-g12-synth-chip.is-active{background:#fff7ed;border-color:#ea580c;}
.bio-g12-biotech-chip.is-active{background:#ecfdf5;border-color:#059669;}
.bio-g12-shield-chip.is-active{background:#f0fdf4;border-color:#16a34a;}
.bio-g12-immune-chip.is-active{background:#eff6ff;border-color:#2563eb;}
.bio-g12-defense-chip.is-active{background:#fef2f2;border-color:#dc2626;}
.guide-hero--bio-g12-ch02-l02{background:linear-gradient(135deg,#312E81 0%,#4338CA 40%,#6366F1 75%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.bio-g12-ocr-panel{padding:16px 18px;border-radius:16px;border-right:5px solid #059669;background:linear-gradient(135deg,#F0FDF4,#fff);margin:10px 0;line-height:1.85;font-weight:700;color:#334155;font-size:.86rem;}
.bio-g12-ocr-panel strong{color:#047857;display:block;margin-bottom:6px;font-size:.9rem;}
.bio-g12-flash-deck{margin:12px 0;text-align:center;}
.bio-g12-flash-scene{perspective:1200px;margin:0 auto 14px;max-width:420px;}
.bio-g12-flash-flipper{position:relative;width:100%;min-height:200px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);cursor:pointer;}
.bio-g12-flash-flipper.is-flipped{transform:rotateY(180deg);}
.bio-g12-flash-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 20px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 18px 40px rgba(15,23,42,.22),0 4px 12px rgba(5,150,105,.15);font-weight:900;line-height:1.75;text-align:center;}
.bio-g12-flash-front{background:linear-gradient(145deg,#059669 0%,#047857 55%,#065F46 100%);color:#fff;font-size:1.05rem;border:3px solid #34D399;}
.bio-g12-flash-back{background:linear-gradient(145deg,#1E293B 0%,#334155 100%);color:#ECFDF5;font-size:.88rem;transform:rotateY(180deg);border:3px solid #475569;}
.bio-g12-flash-deck::before{content:'';display:block;height:8px;width:72%;margin:0 auto 10px;border-radius:99px;background:linear-gradient(90deg,transparent,#059669,transparent);opacity:.35;}
.bio-g12-flash-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px;}
.bio-g12-flash-btn{padding:10px 18px;border-radius:12px;border:2px solid #6EE7B7;background:#fff;color:#065F46;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;transition:transform .12s,background .12s;box-shadow:0 2px 8px rgba(5,150,105,.12);}
.bio-g12-flash-btn:hover{background:#ECFDF5;transform:translateY(-1px);}
.bio-g12-flash-progress{font-size:.75rem;font-weight:900;color:#64748B;margin-top:10px;display:block;}
.bio-g12-flash-hint{font-size:.72rem;font-weight:700;color:#94A3B8;margin:0 0 12px;}
.bio-g12-flash-item{display:none;}
.bio-g12-streak-path{display:flex;flex-direction:column;gap:8px;margin:12px 0;}
.bio-g12-streak-step{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;border:2px solid #BBF7D0;background:#fff;cursor:pointer;transition:background .15s,border-color .15s;}
.bio-g12-streak-step.is-done{background:#ECFDF5;border-color:#059669;}
.bio-g12-streak-step span{flex:0 0 32px;height:32px;border-radius:50%;background:#E2E8F0;color:#64748B;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.8rem;}
.bio-g12-streak-step.is-done span{background:#059669;color:#fff;}
.bio-g12-streak-step p{margin:0;font-size:.82rem;font-weight:700;line-height:1.65;color:#475569;}
.bio-g12-wall-stack{position:relative;height:140px;margin:14px 0;border-radius:14px;overflow:hidden;background:#14532D;}
.bio-g12-wall-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:.85rem;text-shadow:0 1px 3px rgba(0,0,0,.4);opacity:0;transition:opacity .3s,transform .3s;transform:translateY(8px);}
.bio-g12-wall-layer.is-visible{opacity:1;transform:translateY(0);}
.bio-g12-wall-layer.l0{background:linear-gradient(180deg,#86EFAC,#22C55E);}
.bio-g12-wall-layer.l1{background:linear-gradient(180deg,#FDE68A,#D97706);}
.bio-g12-wall-layer.l2{background:linear-gradient(180deg,#A78BFA,#7C3AED);}
.bio-g12-wall-layer.l3{background:linear-gradient(180deg,#FCD34D,#92400E);}
.bio-g12-wall-layer.l4{background:linear-gradient(180deg,#64748B,#334155);}
.bio-g12-peel-row{display:flex;align-items:center;gap:12px;margin:10px 0;}
.bio-g12-peel-row input{flex:1;accent-color:#059669;}
.bio-g12-myth-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:12px 0;}
@media(max-width:640px){.bio-g12-myth-duel{grid-template-columns:1fr;}}
.bio-g12-myth-box{padding:14px;border-radius:14px;font-size:.82rem;font-weight:700;line-height:1.65;}
.bio-g12-myth-box--good{background:#ECFDF5;border:2px solid #6EE7B7;color:#065F46;}
.bio-g12-myth-box--bad{background:#FEF2F2;border:2px solid #FCA5A5;color:#991B1B;}
.bio-g12-myth-vs{font-weight:900;font-size:1.2rem;color:#64748B;text-align:center;}
.bio-g12-formula-deck{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;}
.bio-g12-formula-chip{padding:10px 16px;border-radius:12px;background:#ECFDF5;border:2px solid #6EE7B7;font-weight:900;font-size:.82rem;color:#047857;}
.bio-g12-bone-atlas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;}
@media(max-width:640px){.bio-g12-bone-atlas-grid{grid-template-columns:1fr 1fr;}}
.bio-g12-bone-zone{padding:12px;border-radius:14px;border:2px solid #6EE7B7;background:#fff;cursor:pointer;text-align:center;transition:transform .12s,background .12s;}
.bio-g12-bone-zone.is-active{background:#059669;color:#fff;border-color:#047857;transform:scale(1.03);}
.bio-g12-bone-zone strong{display:block;font-size:.78rem;margin-bottom:4px;}
.bio-g12-bone-zone span{font-size:.68rem;font-weight:700;opacity:.85;}
.bio-g12-hormone-stage{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.bio-g12-hormone-chip{padding:10px 14px;border-radius:12px;border:2px solid #A7F3D0;background:#fff;font-weight:900;font-size:.75rem;color:#065F46;cursor:pointer;}
.bio-g12-hormone-chip.is-active{background:#047857;color:#fff;border-color:#065F46;}
.bio-g12-gland-map{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;}
@media(max-width:640px){.bio-g12-gland-map{grid-template-columns:1fr 1fr;}}
.bio-g12-gland-node{padding:12px;border-radius:14px;border:2px solid #C4B5FD;background:#FAF5FF;cursor:pointer;text-align:center;font-weight:900;font-size:.76rem;color:#5B21B6;transition:transform .12s,background .12s;}
.bio-g12-gland-node.is-active{background:#7C3AED;color:#fff;border-color:#5B21B6;transform:scale(1.03);}
.bio-g12-motion-path{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;align-items:center;}
.bio-g12-motion-node{padding:10px 14px;border-radius:99px;border:2px solid #A7F3D0;background:#fff;font-weight:900;font-size:.75rem;color:#065F46;cursor:pointer;position:relative;}
.bio-g12-motion-node.is-active{background:#047857;color:#fff;border-color:#065F46;}
.bio-g12-motion-node.is-locked{opacity:.45;cursor:not-allowed;}
.bio-g12-motion-arrow{color:#059669;font-weight:900;font-size:1rem;}
.bio-g12-synapse-timeline{counter-reset:syn;margin:12px 0;}
.bio-g12-synapse-step{display:flex;gap:12px;padding:12px;border-radius:12px;background:#F8FAFC;border:2px solid #E2E8F0;margin-bottom:8px;cursor:pointer;transition:border-color .15s,background .15s;}
.bio-g12-synapse-step.is-active{border-color:#059669;background:#ECFDF5;}
.bio-g12-synapse-step::before{counter-increment:syn;content:counter(syn);flex:0 0 28px;height:28px;border-radius:50%;background:#059669;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;}
.bio-g12-synapse-step p{margin:0;font-size:.8rem;font-weight:700;line-height:1.65;color:#475569;}
.bio-g12-review-wrap{display:flex;flex-direction:column;gap:14px;}
.bio-g12-review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}
.bio-g12-review-card{padding:14px 16px;border-radius:16px;background:#fff;border:2px solid #A7F3D0;box-shadow:0 4px 14px rgba(5,150,105,.08);}
.bio-g12-review-card-kicker{font-size:.68rem;font-weight:900;color:#059669;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.bio-g12-review-card-val{font-size:.84rem;font-weight:800;color:#334155;line-height:1.65;}
.bio-g12-review-table{margin:4px 0;border:2px solid #6EE7B7;border-radius:16px;overflow:hidden;background:#fff;}
.bio-g12-review-table-head{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(90deg,#059669,#047857);color:#fff;font-weight:900;font-size:.78rem;padding:10px 14px;text-align:center;}
.bio-g12-review-table-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #D1FAE5;}
.bio-g12-review-table-row span{padding:10px 12px;font-size:.78rem;font-weight:700;color:#475569;line-height:1.6;}
.bio-g12-review-table-row span:first-child{background:#F0FDF4;border-left:1px solid #D1FAE5;}
.bio-g12-review-mat-grid{margin:4px 0;border:2px solid #A7F3D0;border-radius:16px;overflow:hidden;}
.bio-g12-review-mat-row{display:grid;grid-template-columns:1.1fr 1fr 1.4fr;gap:0;border-bottom:1px solid #D1FAE5;font-size:.76rem;font-weight:700;}
.bio-g12-review-mat-row:last-child{border-bottom:none;}
.bio-g12-review-mat-row--head{background:#047857;color:#fff;font-weight:900;font-size:.74rem;}
.bio-g12-review-mat-row span{padding:10px 12px;color:#475569;line-height:1.55;}
.bio-g12-review-mat-row--head span{color:#fff;}
.bio-g12-review-mat-row span:first-child{background:#ECFDF5;font-weight:900;color:#065F46;}
.bio-g12-review-explain{padding:14px 16px;border-radius:14px;border-right:4px solid #F59E0B;background:linear-gradient(135deg,#FFFBEB,#FFF7ED);font-size:.82rem;font-weight:700;line-height:1.75;color:#78350F;}
.bio-g12-review-explain strong{color:#B45309;display:block;margin-bottom:6px;font-size:.88rem;}
.bio-g12-practice{display:flex;flex-direction:column;gap:16px;margin-top:8px;}
.bio-g12-practice-item{background:#fff;border:2px solid #BBF7D0;border-radius:18px;padding:14px 16px;box-shadow:0 6px 20px rgba(5,150,105,.06);}
.bio-g12-practice-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed #D1FAE5;}
.bio-g12-practice-num{flex:0 0 36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#059669,#047857);color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.bio-g12-practice-label{font-size:.82rem;font-weight:900;color:#047857;}
.bio-g12-practice-item .mw-quiz{margin:0;border:none;padding:0;background:transparent;}
.bio-g12-practice-item .mw-quiz-card{margin:0;padding:0;background:transparent;border:none;}
.bio-g12-practice-item .mw-quiz-prompt p{margin:0 0 10px;font-size:.86rem;font-weight:800;color:#334155;}
.bio-g12-practice-item .mw-quiz-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;}
.bio-g12-practice-item .mw-quiz-opt{padding:12px 14px;border-radius:12px;border:2px solid #A7F3D0;background:#F8FAFC;font-size:.8rem;font-weight:800;color:#065F46;position:relative;overflow:hidden;}
.bio-g12-practice-item .mw-quiz-opt:hover{background:#ECFDF5;border-color:#059669;}
.bio-g12-quick-quiz .mw-quiz{background:linear-gradient(145deg,#F0FDF4,#ECFDF5);border:3px solid #059669;border-radius:20px;padding:18px;margin:0;}
.bio-g12-quick-quiz .mw-quiz-head h4{margin:0;font-size:1rem;font-weight:900;color:#047857;}
.bio-g12-quick-quiz .mw-quiz-score{background:#059669;color:#fff;}
.bio-g12-quick-quiz .mw-quiz-num{background:#047857;}
.bio-g12-quick-quiz .mw-quiz-card{background:#fff;border-color:#A7F3D0;}
.bio-g12-quick-quiz .mw-quiz-opt.is-picked{border-color:#059669;background:#ECFDF5;}
.bio-g12-quick-quiz .mw-quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bio-g12-quick-quiz .mw-quiz-opt{display:block;min-height:52px;padding:12px 14px;border-radius:14px;border:2px solid #A7F3D0;background:#F8FAFC;font-size:.82rem;font-weight:800;color:#065F46;text-align:right;line-height:1.45;position:relative;overflow:hidden;}
.bio-g12-quick-quiz .mw-quiz-opt:hover{background:#ECFDF5;border-color:#059669;}
@media(max-width:640px){.bio-g12-quick-quiz .mw-quiz-opts{grid-template-columns:1fr;}}
.bio-g12-concept-tree{position:relative;padding:20px 12px 8px;background:linear-gradient(180deg,#F0FDF4 0%,#fff 100%);border:2px solid #6EE7B7;border-radius:20px;overflow:hidden;}
.bio-g12-tree-root{display:flex;justify-content:center;margin-bottom:8px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;}
.bio-g12-tree-root.is-show{opacity:1;transform:translateY(0);}
.bio-g12-tree-root .bio-g12-tree-node{font-size:.95rem;padding:12px 22px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border-color:#047857;box-shadow:0 8px 24px rgba(5,150,105,.3);}
.bio-g12-tree-connector{width:2px;height:20px;background:#6EE7B7;margin:0 auto;opacity:0;transform:scaleY(0);transform-origin:top;transition:opacity .4s,transform .5s ease;}
.bio-g12-tree-connector.is-show{opacity:1;transform:scaleY(1);}
.bio-g12-tree-level{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0;opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease;}
.bio-g12-tree-level.is-show{opacity:1;transform:translateY(0);}
.bio-g12-tree-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:120px;}
.bio-g12-tree-node{padding:8px 14px;border-radius:12px;border:2px solid #A7F3D0;background:#fff;font-size:.76rem;font-weight:900;color:#065F46;text-align:center;line-height:1.45;box-shadow:0 2px 8px rgba(5,150,105,.08);}
.bio-g12-tree-node--sub{font-size:.7rem;font-weight:800;color:#475569;background:#ECFDF5;border-color:#BBF7D0;padding:6px 10px;}
.bio-g12-tree-caption{text-align:center;font-size:.72rem;font-weight:700;color:#64748B;margin:12px 0 0;min-height:1.2em;}
.bio-g12-exam-stem{padding:14px;border-radius:14px;border:2px dashed #F59E0B;background:#FFFBEB;margin:8px 0;font-size:.84rem;font-weight:700;line-height:1.7;color:#78350F;}
.bio-g12-exam-stem em{display:block;font-size:.72rem;color:#92400E;margin-top:6px;font-style:normal;}
.bio-g12-lab-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;}
.bio-g12-lab-tab{padding:8px 12px;border-radius:12px;border:2px solid #6EE7B7;background:#fff;font-weight:900;font-size:.72rem;color:#065F46;cursor:pointer;font-family:inherit;}
.bio-g12-lab-tab.is-active{background:#059669;color:#fff;border-color:#047857;}
.bio-g12-tab-panel.is-hidden{display:none;}
.bio-g12-fig-strip{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.bio-g12-fig-btn{padding:6px 10px;border-radius:10px;border:2px solid #A7F3D0;background:#fff;font-weight:900;font-size:.68rem;color:#065F46;cursor:pointer;font-family:inherit;}
.bio-g12-fig-btn.is-active{background:#047857;color:#fff;border-color:#065F46;}
.bio-g12-svg-stage{position:relative;background:#F0FDF4;border:2px solid #6EE7B7;border-radius:16px;padding:12px;margin:10px 0;overflow:hidden;}
.bio-g12-svg-stage img,.bio-g12-ws-img,.bio-g12-label-img{width:100%;max-height:320px;object-fit:contain;display:block;margin:0 auto;transition:transform .35s,filter .35s;}
.bio-g12-svg-pop{animation:bioSvgPop .45s ease;}
@keyframes bioSvgPop{0%{opacity:.6;transform:scale(.96)}100%{opacity:1;transform:scale(1)}}
.bio-g12-svg-caption{font-size:.78rem;font-weight:800;color:#047857;text-align:center;margin-top:8px;}
.bio-g12-hotspot-layer{position:absolute;inset:12px;pointer-events:none;}
.bio-g12-hotspot{position:absolute;width:28px;height:28px;border-radius:50%;border:3px solid #fff;background:#059669;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%);animation:bioPulse 1.6s infinite;}
.bio-g12-hotspot.is-picked{background:#F59E0B;animation:none;transform:translate(-50%,-50%) scale(1.15);}
.bio-g12-hotspot.is-done{background:#64748B;animation:none;opacity:.7;}
@keyframes bioPulse{0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,.5)}50%{box-shadow:0 0 0 10px rgba(5,150,105,0)}}
.bio-g12-label-choices,.bio-g12-ws-opts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.bio-g12-label-opt,.bio-g12-ws-opt{padding:10px 14px;border-radius:12px;border:2px solid #6EE7B7;background:#fff;font-weight:900;font-size:.78rem;color:#065F46;cursor:pointer;font-family:inherit;}
.bio-g12-label-opt.is-wrong,.bio-g12-ws-opt.is-bad{border-color:#FCA5A5;background:#FEF2F2;}
.bio-g12-ws-opt.is-ok{border-color:#6EE7B7;background:#ECFDF5;}
.bio-g12-label-score,.bio-g12-match-score{font-size:.8rem;font-weight:900;color:#047857;margin:8px 0;}
.bio-g12-turgor-row{display:flex;align-items:center;gap:12px;margin:10px 0;}
.bio-g12-turgor-row input{flex:1;accent-color:#059669;}
.bio-g12-turgor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;}
@media(max-width:640px){.bio-g12-turgor-grid{grid-template-columns:1fr;}}
.bio-g12-turgor-cell{position:relative;background:#ECFDF5;border-radius:14px;padding:8px;border:2px solid #A7F3D0;overflow:hidden;}
.bio-g12-turgor-badge{position:absolute;top:8px;left:8px;background:#059669;color:#fff;font-size:.65rem;font-weight:900;padding:4px 8px;border-radius:8px;}
.bio-g12-pressure-bar{height:14px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:10px 0;}
.bio-g12-pressure-fill{height:100%;width:85%;background:linear-gradient(90deg,#34D399,#059669);border-radius:99px;transition:width .25s;}
.bio-g12-pressure-label{text-align:center;font-size:.75rem;font-weight:900;color:#047857;margin:0;}
.bio-g12-match-mats,.bio-g12-match-targets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;}
.bio-g12-match-mat,.bio-g12-match-target{padding:12px;border-radius:12px;border:2px solid #6EE7B7;background:#fff;font-weight:900;font-size:.75rem;color:#065F46;cursor:pointer;font-family:inherit;text-align:center;}
.bio-g12-match-mat.is-picked,.bio-g12-match-target.is-picked{border-color:#F59E0B;background:#FFFBEB;}
.bio-g12-match-mat.is-done,.bio-g12-match-target.is-done{background:#ECFDF5;border-color:#059669;opacity:.85;cursor:default;}
.bio-g12-match-mat.is-wrong,.bio-g12-match-target.is-wrong{animation:bioShake .4s;}
@keyframes bioShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.bio-g12-ws-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.bio-g12-ws-tab{padding:8px 12px;border-radius:10px;border:2px solid #BBF7D0;background:#fff;font-weight:900;font-size:.72rem;cursor:pointer;font-family:inherit;color:#065F46;}
.bio-g12-ws-tab.is-active{background:#047857;color:#fff;border-color:#065F46;}
.bio-g12-ws-prompt{font-weight:800;font-size:.84rem;color:#334155;margin:10px 0;line-height:1.7;}
.bio-g12-ws-result{font-size:.8rem;font-weight:800;color:#047857;margin-top:8px;}
.bio-g12-ind-table{margin:12px 0;border:2px solid #A7F3D0;border-radius:14px;overflow:hidden;}
.bio-g12-ind-row{display:grid;grid-template-columns:1fr 2fr 1.5fr;gap:8px;padding:10px 12px;border-bottom:1px solid #D1FAE5;font-size:.78rem;font-weight:700;color:#475569;}
.bio-g12-ind-row:last-child{border-bottom:none;}
.bio-g12-ind-row--head{background:#059669;color:#fff;font-weight:900;}
.bio-g12-photo-frame{margin:12px 0;border-radius:16px;overflow:hidden;border:2px solid #6EE7B7;background:#F0FDF4;}
.bio-g12-photo-frame img{width:100%;display:block;max-height:280px;object-fit:cover;}
.bio-g12-photo-frame p{margin:0;padding:10px 14px;font-size:.78rem;font-weight:800;color:#047857;text-align:center;}
.bio-readout{padding:12px 14px;border-radius:12px;background:#ECFDF5;border:2px solid #A7F3D0;font-size:.8rem;font-weight:700;line-height:1.65;color:#065F46;margin:10px 0;}
.bio-g12-fig-block{margin:14px 0;border-radius:18px;border:2px solid #6EE7B7;background:#fff;overflow:hidden;}
.bio-g12-fig-visual{position:relative;background:#F0FDF4;padding:12px;}
.bio-g12-fig-visual img,.bio-g12-fig-visual svg.bio-g12-inline-svg{width:100%;max-height:340px;object-fit:contain;display:block;margin:0 auto;}
.bio-g12-hover-layer{position:absolute;inset:12px;pointer-events:none;}
.bio-g12-hover-zone{position:absolute;pointer-events:auto;border:2px solid transparent;border-radius:10px;background:rgba(5,150,105,.08);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;}
.bio-g12-hover-zone--full{inset:0;width:auto;height:auto;border-radius:14px;}
.bio-g12-hover-zone:hover,.bio-g12-hover-zone:focus,.bio-g12-hover-zone.is-active{border-color:#059669;background:rgba(5,150,105,.22);box-shadow:0 0 0 3px rgba(52,211,153,.35);outline:none;}
.bio-g12-inline-svg .folskab-hit{pointer-events:all;cursor:pointer;transition:filter .12s,stroke .12s;}
.bio-g12-inline-svg .folskab-hit.folskab-active{stroke:#dc2626!important;stroke-width:2.8px!important;paint-order:stroke fill markers;}
.bio-g12-inline-svg .folskab-hit.folskab-active:not([fill=none]){filter:drop-shadow(0 0 4px rgba(220,38,38,.55));}
.bio-g12-inline-svg .folskab-hit:focus{outline:none;}
.bio-g12-inline-svg .folskab-hit.folskab-active:focus{stroke:#b91c1c!important;}
.bio-g12-hover-tip{padding:12px 16px;background:#ECFDF5;border-top:2px solid #A7F3D0;}
.bio-g12-hover-tip-label{display:block;font-size:.88rem;font-weight:900;color:#047857;margin-bottom:4px;}
.bio-g12-hover-tip-body{display:block;font-size:.8rem;font-weight:700;line-height:1.65;color:#475569;}
.bio-g12-fig-caption{padding:14px 16px 16px;border-top:2px solid #D1FAE5;background:linear-gradient(180deg,#fff 0%,#F0FDF4 100%);}
.bio-g12-fig-caption-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.bio-g12-fig-caption-icon{font-size:1rem;line-height:1;}
.bio-g12-fig-caption-title{font-size:.88rem;font-weight:900;color:#047857;}
.bio-g12-fig-points{margin:0;padding:0 18px 0 0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.bio-g12-fig-points li{position:relative;padding-right:14px;font-size:.82rem;font-weight:700;line-height:1.75;color:#475569;}
.bio-g12-fig-points li::before{content:'';position:absolute;right:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#34D399;}
.bio-g12-fig-footnote{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#ECFDF5;border:1px solid #A7F3D0;font-size:.74rem;font-weight:800;color:#065F46;}
.bio-hl,.bio-g12-story-prose .bio-hl,.bio-g12-fig-points .bio-hl{display:inline;padding:1px 6px;border-radius:6px;background:linear-gradient(180deg,#FEF9C3 0%,#FDE047 100%);color:#713F12;font-weight:900;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.bio-g12-fig-body{padding:16px 18px;border-top:2px dashed #BBF7D0;line-height:1.85;font-weight:700;color:#334155;font-size:.86rem;}
.bio-g12-fig-body strong{color:#047857;}
.bio-g12-story-bridge{padding:12px 16px;margin:10px 0;border-radius:12px;background:linear-gradient(90deg,#ECFDF5,#F0FDF4);border-right:4px solid #059669;font-size:.82rem;font-weight:800;color:#065F46;}
.bio-g12-story-prose{margin:0 0 14px;padding:0 4px;line-height:1.9;font-size:.9rem;font-weight:700;color:#334155;}
.bio-g12-story-heading{margin:18px 0 8px;padding:0 4px;font-size:.95rem;font-weight:900;color:#5B21B6;line-height:1.6;}
.bio-g12-story-prose strong{color:#713F12;background:linear-gradient(180deg,#FEF9C3 0%,#FDE047 100%);padding:1px 6px;border-radius:6px;font-weight:900;}
.guide-section--story .bio-g12-fig-block{margin:18px 0;}
.guide-section--story .bio-g12-story-prose + .bio-g12-fig-block{margin-top:8px;}
/* Mind map — must ship with biology widgets (tools + learn) */
.bio-g12-mindmap{position:relative;min-height:380px;padding:16px 8px 12px;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(52,211,153,.12),transparent 70%),linear-gradient(180deg,#f0fdf4 0%,#fff 100%);border:2px solid #6ee7b7;border-radius:20px;overflow:hidden;max-width:100%;}
.bio-g12-mindmap svg.bio-g12-mindmap-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.bio-g12-mindmap-nodes{position:relative;z-index:1;width:100%;height:340px;min-height:340px;max-width:100%;contain:layout style;}
.bio-g12-mindmap-node{position:absolute;transform:translate(-50%,-50%) scale(.6);opacity:0;padding:8px 12px;border-radius:14px;border:2px solid #a7f3d0;background:#fff;font-size:.68rem;font-weight:900;color:#065f46;text-align:center;line-height:1.45;max-width:130px;box-shadow:0 4px 14px rgba(5,150,105,.12);transition:transform .45s cubic-bezier(.34,1.4,.64,1),opacity .4s,box-shadow .2s;cursor:pointer;}
.bio-g12-mindmap-node.is-show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.bio-g12-mindmap-node.is-root{font-size:.82rem;padding:12px 18px;max-width:160px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border-color:#047857;box-shadow:0 10px 28px rgba(5,150,105,.35);}
.bio-g12-mindmap-node.is-active{box-shadow:0 0 0 3px rgba(52,211,153,.45),0 8px 20px rgba(5,150,105,.2);transform:translate(-50%,-50%) scale(1.06);}
.bio-g12-mindmap-caption{position:relative;z-index:2;text-align:center;font-size:.72rem;font-weight:700;color:#64748b;margin:8px 0 0;min-height:1.4em;}
.bio-g12-mindmap-hint{text-align:center;font-size:.65rem;color:#94a3b8;margin:4px 0 0;}
.bio-g12-mindmap-ask{position:relative;z-index:2;display:flex;justify-content:center;margin:10px 0 0;}
.bio-g12-mindmap-ask-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:999px;background:linear-gradient(135deg,#586cff,#4338ca);color:#fff;font-family:inherit;font-size:.72rem;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(88,108,255,.28);}
.mermaid{margin:14px 0;padding:16px;border-radius:16px;border:2px solid #6EE7B7;background:#F0FDF4;overflow-x:auto;}
.mw-quiz-fig{margin:0 0 12px;border-radius:14px;border:2px solid #A7F3D0;background:#F0FDF4;padding:10px;text-align:center;}
.mw-quiz-fig img,.mw-quiz-fig svg{max-width:100%;max-height:220px;object-fit:contain;display:block;margin:0 auto;}
.bio-g12-fig-legend{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;}
.bio-g12-fig-legend span{font-size:.68rem;font-weight:800;padding:4px 8px;border-radius:8px;background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;}



/* === WIDGET FILE: guide-chemistry-widgets.blade.php === */

.ch-lab{background:linear-gradient(145deg,#F5F3FF 0%,#EDE9FE 45%,#F0FDFA 100%);border:3px solid #7C3AED;border-radius:20px;padding:18px 20px;margin:16px 0;}
.ch-lab-title{font-size:.82rem;font-weight:900;color:#5B21B6;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.ch-lab-title::before{content:'🧪';}
.ch-readout,.ch-status{font-size:.88rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;text-align:center;line-height:1.7;}
.ch-status.is-ok{background:#DCFCE7;color:#166534;}
.ch-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ch-btn{padding:8px 14px;border:2px solid #C4B5FD;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#5B21B6;transition:transform .12s,background .12s;}
.ch-btn:hover{background:#EDE9FE;transform:scale(1.02);}
.ch-btn.is-active{background:#7C3AED;color:#fff;border-color:#6D28D9;}
.ch-panel{background:#fff;border-radius:14px;padding:16px;border:2px solid #E2E8F0;min-height:80px;margin-top:10px;}
.ch-panel h4{margin:0 0 8px;font-size:.9rem;color:#5B21B6;}
.ch-panel p{margin:0;font-size:.85rem;font-weight:700;color:#475569;line-height:1.7;}
.ch-slider{width:100%;margin:10px 0;}
.ch-meter{height:14px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:8px 0;}
.ch-meter-fill{height:100%;background:linear-gradient(90deg,#A78BFA,#7C3AED);border-radius:99px;transition:width .3s;}
.ch-sort-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.ch-sort-wrap.ch-sort-3{grid-template-columns:repeat(3,1fr);}
.ch-sort-wrap.ch-sort-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:640px){.ch-sort-wrap,.ch-sort-wrap.ch-sort-3,.ch-sort-wrap.ch-sort-4{grid-template-columns:1fr;}}
.ch-sort-bin{min-height:72px;border:2px dashed #C4B5FD;border-radius:14px;padding:10px;background:rgba(255,255,255,.8);}
.ch-sort-bin h5{margin:0 0 6px;font-size:.72rem;font-weight:900;color:#5B21B6;}
.ch-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.ch-sort-card{padding:8px 12px;border:2px solid #8B5CF6;border-radius:12px;background:#fff;font-weight:900;font-size:.75rem;cursor:grab;}
.ch-sort-chip{display:inline-block;margin:3px;padding:5px 8px;border-radius:8px;font-size:.72rem;font-weight:900;background:#EDE9FE;color:#5B21B6;}
.ch-sort-chip.is-ok{background:#DCFCE7;color:#166534;}
.ch-sort-chip.is-wrong{background:#FEE2E2;color:#991B1B;}
.ch-timeline{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.ch-bar-row{display:flex;align-items:flex-end;gap:8px;height:100px;margin:12px 0;padding:8px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;}
.ch-bar{flex:1;border-radius:8px 8px 0 0;background:#C4B5FD;transition:height .35s,min-width .2s;}
.ch-bar.is-limit{background:#DC2626;}
.ch-bar.is-excess{background:#94A3B8;}
.ch-gas-vm{display:flex;gap:8px;margin:8px 0;}
.ch-pct-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0;}
.ch-pct-row label{font-size:.78rem;font-weight:800;color:#475569;}
.ch-pct-row input{width:72px;padding:6px 8px;border:2px solid #E2E8F0;border-radius:8px;font-weight:800;}
.ch-rutherford-stage{background:#0F172A;border-radius:14px;padding:8px;margin:10px 0;border:2px solid #334155;}
.ch-rutherford-stage canvas{display:block;margin:0 auto;border-radius:8px;width:100%;max-width:420px;height:auto;}
.ch-rutherford-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;}
.ch-stat{padding:10px;border-radius:10px;text-align:center;font-size:.75rem;font-weight:900;background:#fff;border:2px solid #E2E8F0;}
.ch-stat span{font-size:1.1rem;display:block;margin-top:4px;}
.ch-stat-pass{border-color:#86EFAC;color:#166534;}
.ch-stat-deflect{border-color:#FDE68A;color:#92400E;}
.ch-stat-bounce{border-color:#FCA5A5;color:#991B1B;}
.ch-foil-label{display:flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid #C4B5FD;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;color:#5B21B6;}
.ch-foil-label input{width:16px;height:16px;accent-color:#7C3AED;}
.ch-model-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;}
@media(max-width:640px){.ch-model-row{grid-template-columns:1fr 1fr;}}
.ch-model-card{padding:12px;border-radius:14px;border:2px solid #E2E8F0;background:#fff;text-align:center;cursor:pointer;transition:transform .12s,border-color .12s;}
.ch-model-card:hover{transform:scale(1.02);border-color:#A78BFA;}
.ch-model-card.is-active{border-color:#7C3AED;background:#EDE9FE;}
.ch-model-card strong{display:block;font-size:.82rem;color:#5B21B6;margin-bottom:6px;}
.ch-model-card span{font-size:.72rem;font-weight:700;color:#64748B;}
.ch-model-viz{min-height:120px;background:#F8FAFC;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;display:flex;align-items:center;justify-content:center;padding:12px;}
.ch-spectrum-bar{display:flex;align-items:flex-end;gap:6px;height:80px;margin:12px 0;padding:10px;background:#0F172A;border-radius:12px;}
.ch-spectrum-line{flex:1;border-radius:4px 4px 0 0;min-width:8px;transition:height .3s,opacity .3s;}
.ch-orbital-stage{background:#0F172A;border-radius:14px;padding:10px;margin:10px 0;border:2px solid #334155;}
.ch-orbital-stage canvas{display:block;margin:0 auto;border-radius:8px;max-width:100%;}
.ch-qn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;}
@media(max-width:640px){.ch-qn-grid{grid-template-columns:1fr 1fr;}}
.ch-qn-cell{padding:10px;border-radius:10px;background:#fff;border:2px solid #E2E8F0;text-align:center;font-size:.72rem;font-weight:800;color:#475569;}
.ch-qn-cell strong{display:block;font-size:1rem;color:#5B21B6;margin-bottom:4px;}
.ch-shell-wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:12px 0;}
.ch-shell-ring{border:3px solid #C4B5FD;border-radius:50%;padding:14px;position:relative;background:rgba(255,255,255,.9);}
.ch-shell-ring h5{position:absolute;top:-10px;left:50%;transform:translateX(-50%);margin:0;font-size:.65rem;font-weight:900;color:#5B21B6;background:#EDE9FE;padding:2px 8px;border-radius:8px;}
.ch-orbital-box{display:inline-flex;flex-direction:column;align-items:center;margin:4px;vertical-align:top;}
.ch-orbital-slot{width:36px;height:36px;border:2px dashed #94A3B8;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:900;margin:2px;background:#F8FAFC;}
.ch-orbital-slot.is-filled{background:#EDE9FE;border-color:#7C3AED;color:#5B21B6;}
.ch-orbital-slot.is-pair{background:#DDD6FE;}
.ch-orbital-label{font-size:.6rem;font-weight:900;color:#64748B;margin-top:2px;}
.ch-z-slider-row{display:flex;align-items:center;gap:12px;margin:10px 0;}
.ch-z-slider-row input[type=range]{flex:1;}
.ch-z-badge{min-width:52px;text-align:center;padding:8px 12px;border-radius:12px;background:#7C3AED;color:#fff;font-weight:900;font-size:.9rem;}
.ch-aufbau-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0;}
@media(max-width:640px){.ch-aufbau-grid{grid-template-columns:repeat(3,1fr);}}
.ch-aufbau-cell{padding:8px 6px;border-radius:10px;border:2px solid #E2E8F0;background:#fff;text-align:center;font-size:.68rem;font-weight:900;cursor:pointer;transition:background .15s,border-color .15s;}
.ch-aufbau-cell.is-filled{background:#EDE9FE;border-color:#7C3AED;color:#5B21B6;}
.ch-aufbau-cell.is-next{border-color:#F59E0B;background:#FEF3C7;}
.ch-aufbau-cell small{display:block;font-size:.58rem;color:#64748B;margin-top:3px;}
.ch-hund-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0;}
.ch-hund-orb{width:52px;height:52px;border:2px dashed #94A3B8;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;background:#fff;}
.ch-hund-orb.is-up{background:#EDE9FE;border-color:#7C3AED;color:#5B21B6;}
.ch-hund-orb.is-pair{background:#DDD6FE;}
.ch-ptable-wrap{overflow-x:auto;margin:12px 0;padding:8px;background:#F8FAFC;border-radius:14px;border:2px solid #E2E8F0;}
.ch-ptable{display:grid;grid-template-columns:repeat(18,minmax(28px,1fr));gap:3px;min-width:540px;}
.ch-pt-cell{aspect-ratio:1;border-radius:6px;border:2px solid transparent;font-size:.62rem;font-weight:900;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;transition:transform .1s,box-shadow .1s;line-height:1.1;}
.ch-pt-cell:hover{transform:scale(1.08);box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:2;}
.ch-pt-cell.is-selected{box-shadow:0 0 0 3px #7C3AED;z-index:3;}
.ch-pt-cell .ch-pt-z{font-size:.5rem;opacity:.8;}
.ch-pt-cell.is-s{background:#DBEAFE;border-color:#3B82F6;color:#1E40AF;}
.ch-pt-cell.is-p{background:#D1FAE5;border-color:#10B981;color:#065F46;}
.ch-pt-cell.is-d{background:#FEF3C7;border-color:#F59E0B;color:#92400E;}
.ch-pt-cell.is-f{background:#FCE7F3;border-color:#EC4899;color:#9D174D;}
.ch-pt-cell.is-empty{background:transparent;border:none;cursor:default;}
.ch-pt-cell.is-empty:hover{transform:none;box-shadow:none;}
.ch-pt-detail{background:#fff;border-radius:12px;border:2px solid #E2E8F0;padding:14px;margin-top:10px;font-size:.82rem;font-weight:700;color:#475569;line-height:1.7;}
.ch-pt-detail h4{margin:0 0 8px;color:#5B21B6;font-size:.95rem;}
.ch-pt-filter{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.ch-trend-map{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:12px 0;}
.ch-trend-cell{padding:8px 4px;border-radius:10px;border:2px solid #E2E8F0;background:#fff;text-align:center;font-size:.65rem;font-weight:900;cursor:pointer;transition:transform .1s;}
.ch-trend-cell:hover{transform:scale(1.05);}
.ch-trend-cell.is-active{border-color:#7C3AED;background:#EDE9FE;}
.ch-trend-bar-wrap{height:100px;display:flex;align-items:flex-end;gap:6px;margin:12px 0;padding:10px;background:#F8FAFC;border-radius:12px;border:2px solid #E2E8F0;}
.ch-trend-bar{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#A78BFA,#7C3AED);transition:height .35s;min-width:8px;}
.ch-titration-stage{background:linear-gradient(180deg,#F8FAFC 0%,#E2E8F0 100%);border-radius:14px;padding:16px;margin:10px 0;border:2px solid #CBD5E1;display:flex;gap:16px;align-items:flex-end;justify-content:center;min-height:180px;}
.ch-burette{width:36px;height:140px;border:3px solid #64748B;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(226,232,240,.5));position:relative;overflow:hidden;}
.ch-burette-fill{position:absolute;bottom:0;left:0;right:0;background:rgba(239,68,68,.35);transition:height .3s;}
.ch-flask{width:80px;height:90px;border:3px solid #64748B;border-radius:0 0 40px 40px;background:rgba(255,255,255,.6);position:relative;overflow:hidden;margin-bottom:0;}
.ch-flask-fill{position:absolute;bottom:0;left:0;right:0;transition:height .3s,background .3s;}
.ch-flask-fill.is-basic{background:rgba(236,72,153,.4);}
.ch-flask-fill.is-neutral{background:rgba(167,139,250,.35);}
.ch-flask-fill.is-acid{background:rgba(254,226,226,.6);}
.ch-redox-step{padding:10px;border-radius:10px;border:2px solid #E2E8F0;background:#fff;margin:6px 0;font-size:.78rem;font-weight:700;}
.ch-redox-step.is-ox{border-color:#FCA5A5;background:#FEF2F2;}
.ch-redox-step.is-red{border-color:#86EFAC;background:#F0FDF4;}
.guide-hero--chem-l01{background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 45%,#A78BFA 100%);border-bottom-color:#4C1D95;}
.guide-hero--chem-l02{background:linear-gradient(135deg,#312E81 0%,#4338CA 45%,#6366F1 100%);border-bottom-color:#1E1B4B;}
.guide-hero--chem-l03{background:linear-gradient(135deg,#0F766E 0%,#0D9488 45%,#2DD4BF 100%);border-bottom-color:#115E59;}
.guide-hero--chem-l04{background:linear-gradient(135deg,#B45309 0%,#D97706 45%,#FBBF24 100%);border-bottom-color:#92400E;}
.guide-hero--chem-l05{background:linear-gradient(135deg,#0E7490 0%,#0891B2 45%,#22D3EE 100%);border-bottom-color:#155E75;}
.guide-hero--chem-l06{background:linear-gradient(135deg,#1D4ED8 0%,#2563EB 45%,#60A5FA 100%);border-bottom-color:#1E3A8A;}
.guide-hero--chem-l07{background:linear-gradient(135deg,#047857 0%,#059669 45%,#34D399 100%);border-bottom-color:#065F46;}
.guide-hero--chem-l08{background:linear-gradient(135deg,#65A30D 0%,#84CC16 45%,#BEF264 100%);border-bottom-color:#4D7C0F;}
.guide-hero--chem-l09{background:linear-gradient(135deg,#BE185D 0%,#DB2777 45%,#F9A8D4 100%);border-bottom-color:#9D174D;}
.guide-hero--chem-g12-l01{background:linear-gradient(135deg,#4C1D95 0%,#6D28D9 45%,#A78BFA 100%);border-bottom-color:#3730A3;}
.guide-hero--chem-g12-l02{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#60A5FA 100%);border-bottom-color:#1E40AF;}
.guide-hero--chem-g12-l03{background:linear-gradient(135deg,#065F46 0%,#059669 45%,#34D399 100%);border-bottom-color:#047857;}
.guide-hero--chem-g12-l04{background:linear-gradient(135deg,#92400E 0%,#B45309 45%,#FCD34D 100%);border-bottom-color:#78350F;}
.guide-hero--chem-g12-l05{background:linear-gradient(135deg,#7F1D1D 0%,#DC2626 45%,#FCA5A5 100%);border-bottom-color:#991B1B;}
.guide-hero--chem-g12-l06{background:linear-gradient(135deg,#134E4A 0%,#0D9488 45%,#5EEAD4 100%);border-bottom-color:#0F766E;}
.guide-hero--chem-g12-l07{background:linear-gradient(135deg,#312E81 0%,#4F46E5 45%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.guide-hero--chem-g12-l08{background:linear-gradient(135deg,#581C87 0%,#9333EA 45%,#D8B4FE 100%);border-bottom-color:#6B21A8;}
.guide-hero--chem-g12-l09{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 45%,#7DD3FC 100%);border-bottom-color:#0369A1;}
.guide-hero--chem-g12-l10{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#F9A8D4 100%);border-bottom-color:#9D174D;}
.guide-hero--chem-g12-l11{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#86EFAC 100%);border-bottom-color:#15803D;}
.guide-hero--chem-g12-l12{background:linear-gradient(135deg,#1E1B4B 0%,#4338CA 45%,#A5B4FC 100%);border-bottom-color:#312E81;}
.guide-hero--chem-g12-l13{background:linear-gradient(135deg,#713F12 0%,#CA8A04 45%,#FDE047 100%);border-bottom-color:#854D0E;}
.guide-hero--chem-g12-l14{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 45%,#FDBA74 100%);border-bottom-color:#9A3412;}
.guide-hero--chem-g12-l15{background:linear-gradient(135deg,#0E7490 0%,#0891B2 45%,#67E8F9 100%);border-bottom-color:#0E7490;}
.guide-hero--chem-g12-l16{background:linear-gradient(135deg,#4C1D95 0%,#7C3AED 45%,#C4B5FD 100%);border-bottom-color:#5B21B6;}
.guide-hero--chem-g12-l17{background:linear-gradient(135deg,#14532D 0%,#15803D 45%,#86EFAC 100%);border-bottom-color:#166534;}
.guide-hero--chem-g12-l18{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--chem-g12-l19{background:linear-gradient(135deg,#86198F 0%,#C026D3 45%,#F0ABFC 100%);border-bottom-color:#A21CAF;}
.guide-hero--chem-g12-l20{background:linear-gradient(135deg,#991B1B 0%,#DC2626 45%,#FCA5A5 100%);border-bottom-color:#B91C1C;}
.guide-hero--chem-g12-l21{background:linear-gradient(135deg,#44403C 0%,#78716C 45%,#D6D3D1 100%);border-bottom-color:#57534E;}
.guide-hero--chem-g12-l22{background:linear-gradient(135deg,#0F766E 0%,#14B8A6 45%,#99F6E4 100%);border-bottom-color:#0D9488;}
.ch-g12-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin:10px 0;}
.ch-g12-btn{padding:8px 4px;border-radius:8px;border:2px solid #C4B5FD;background:#fff;font-size:.68rem;font-weight:800;color:#5B21B6;cursor:pointer;text-align:center;line-height:1.3;}
.ch-g12-btn.is-active{background:#7C3AED;color:#fff;border-color:#6D28D9;}
.ch-g12-btn.is-done{background:#EDE9FE;}
.ch-g12-step-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ch-g12-step-btn{padding:10px 12px;border-radius:10px;border:2px solid #FCD34D;background:#fff;font-size:.75rem;font-weight:800;color:#92400E;cursor:pointer;}
.ch-g12-step-btn.is-active{background:#F59E0B;color:#fff;border-color:#D97706;}
.ch-g12-oxide-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;}
.ch-g12-oxide-btn{padding:12px 8px;border-radius:10px;border:2px solid #FCA5A5;background:#fff;font-size:.78rem;font-weight:800;color:#991B1B;cursor:pointer;text-align:center;}
.ch-g12-oxide-btn.is-active{background:#DC2626;color:#fff;border-color:#B91C1C;}
.ch-g12-prompt{font-size:.95rem;font-weight:900;color:#1E293B;text-align:center;padding:12px;background:#fff;border-radius:10px;border:2px dashed #A78BFA;margin:8px 0;}
.ch-g12-crust-bars{display:flex;align-items:flex-end;gap:4px;height:160px;padding:12px;background:linear-gradient(180deg,#EDE9FE,#F5F3FF);border-radius:12px;border:2px solid #C4B5FD;}
.ch-g12-crust-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;border:none;background:transparent;cursor:pointer;padding:0;min-width:28px;}
.ch-g12-crust-fill{width:100%;background:linear-gradient(180deg,#A78BFA,#7C3AED);border-radius:4px 4px 0 0;min-height:4px;transition:height .3s;}
.ch-g12-crust-bar.is-mined .ch-g12-crust-fill{background:linear-gradient(180deg,#34D399,#059669);}
.ch-g12-crust-bar[data-el="fe"] .ch-g12-crust-fill{background:linear-gradient(180deg,#F59E0B,#DC2626);}
.ch-g12-crust-lbl{font-size:.65rem;font-weight:900;color:#5B21B6;margin-top:4px;}
.ch-g12-crust-pct{font-size:.55rem;color:#64748B;}
.ch-g12-dossier{margin-top:12px;padding:14px;background:#fff;border-radius:10px;border:2px solid #DDD6FE;min-height:80px;}
.ch-g12-crust-total{font-size:.8rem;font-weight:700;color:#6D28D9;margin-top:8px;}
.ch-g12-d-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;}
.ch-g12-d-orb{width:44px;height:44px;border-radius:50%;border:2px solid #93C5FD;background:#EFF6FF;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;}
.ch-g12-d-orb.is-single{border-color:#2563EB;background:#DBEAFE;}
.ch-g12-d-orb.is-pair{border-color:#64748B;background:#F1F5F9;}
.ch-g12-s-orb{padding:8px 14px;border-radius:8px;background:#FEF3C7;border:2px solid #F59E0B;font-weight:800;margin-left:8px;}
.ch-g12-exc-toggle{padding:8px 14px;border-radius:8px;border:2px solid #2563EB;background:#fff;font-weight:800;color:#1E40AF;cursor:pointer;margin:8px 0;}
.ch-g12-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ch-g12-sort-card{padding:10px 14px;border-radius:8px;background:#FEF9C3;border:2px solid #EAB308;font-weight:800;cursor:grab;}
.ch-g12-drop-bin{min-height:70px;padding:10px;border-radius:10px;border:2px dashed #94A3B8;margin:8px 0;}
.ch-g12-drop-bin[data-bin="para"]{border-color:#2563EB;background:#EFF6FF;}
.ch-g12-drop-bin[data-bin="dia"]{border-color:#64748B;background:#F8FAFC;}
.ch-g12-trend-row{display:grid;grid-template-columns:32px 1fr 48px;gap:6px;align-items:center;margin:4px 0;font-size:.72rem;font-weight:700;}
.ch-g12-trend-track{height:10px;background:#E2E8F0;border-radius:5px;overflow:hidden;}
.ch-g12-trend-fill{height:100%;background:linear-gradient(90deg,#059669,#34D399);border-radius:5px;}
.ch-g12-furnace-viz{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
.ch-g12-furnace-col{height:140px;border-radius:10px;border:3px solid #78350F;background:linear-gradient(180deg,#FEF3C7 60%,#92400E);position:relative;overflow:hidden;}
.ch-g12-co-fill,.ch-g12-fe-fill{position:absolute;bottom:0;left:0;right:0;transition:height .4s;}
.ch-g12-co-fill{background:rgba(100,116,139,.5);height:0;}
.ch-g12-fe-fill{background:rgba(220,38,38,.7);height:0;}
.ch-g12-furnace-log{max-height:100px;overflow-y:auto;font-size:.72rem;background:#FFFBEB;padding:8px;border-radius:8px;margin-top:8px;}
.ch-g12-log-line{padding:2px 0;border-bottom:1px solid #FDE68A;}
.ch-g12-vessel-inner{width:120px;height:120px;margin:16px auto;border-radius:50%;background:linear-gradient(135deg,#94A3B8,#64748B);border:4px solid #475569;transition:all .3s;}
.ch-g12-vessel-inner.is-hot{background:linear-gradient(135deg,#F87171,#DC2626);box-shadow:0 0 24px rgba(220,38,38,.5);}
.ch-g12-vessel-inner.has-magnetite{background:linear-gradient(135deg,#1E293B,#0F172A);}
.ch-g12-vessel-inner.has-h2{box-shadow:0 0 16px rgba(250,204,21,.6);}
/* ── G12 VISUAL NUCLEAR: element cards & section concepts ── */
.ch-g12-el-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin:16px 0;}
.ch-g12-el-card{position:relative;border-radius:20px;padding:16px 14px 14px;border:3px solid;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08);transition:transform .18s,box-shadow .18s;}
.ch-g12-el-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px rgba(15,23,42,.14);}
.ch-g12-el-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.ch-g12-el-z{font-size:.65rem;font-weight:900;opacity:.65;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.5);}
.ch-g12-el-emoji{font-size:1.5rem;line-height:1;}
.ch-g12-el-symbol{font-size:2.4rem;font-weight:900;line-height:1;margin:4px 0 2px;}
.ch-g12-el-name{font-size:.68rem;font-weight:900;letter-spacing:.5px;opacity:.75;margin-bottom:8px;}
.ch-g12-el-pct{font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:8px;display:inline-block;margin-bottom:10px;}
.ch-g12-el-body{font-size:.74rem;font-weight:700;line-height:1.55;color:#334155;text-align:right;margin-bottom:10px;}
.ch-g12-el-tags{display:flex;flex-wrap:wrap;gap:4px;}
.ch-g12-el-tags span{font-size:.62rem;font-weight:800;padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.06);}
.ch-g12-el-card--sc{border-color:#C4B5FD;background:linear-gradient(145deg,#F5F3FF,#EDE9FE);color:#5B21B6;}
.ch-g12-el-card--ti{border-color:#67E8F9;background:linear-gradient(145deg,#ECFEFF,#CFFAFE);color:#0E7490;}
.ch-g12-el-card--v{border-color:#A5B4FC;background:linear-gradient(145deg,#EEF2FF,#E0E7FF);color:#4338CA;}
.ch-g12-el-card--cr{border-color:#86EFAC;background:linear-gradient(145deg,#F0FDF4,#DCFCE7);color:#166534;}
.ch-g12-el-card--mn{border-color:#FCD34D;background:linear-gradient(145deg,#FFFBEB,#FEF3C7);color:#92400E;}
.ch-g12-el-card--fe{border-color:#FCA5A5;background:linear-gradient(145deg,#FEF2F2,#FEE2E2);color:#991B1B;}
.ch-g12-el-card--fe.ch-g12-el-card--hero{border-width:4px;box-shadow:0 0 0 4px rgba(220,38,38,.15);}
.ch-g12-el-card--co{border-color:#93C5FD;background:linear-gradient(145deg,#EFF6FF,#DBEAFE);color:#1D4ED8;}
.ch-g12-el-card--ni{border-color:#CBD5E1;background:linear-gradient(145deg,#F8FAFC,#E2E8F0);color:#475569;}
.ch-g12-el-card--cu{border-color:#FDBA74;background:linear-gradient(145deg,#FFF7ED,#FFEDD5);color:#C2410C;}
.ch-g12-el-card--zn{border-color:#A7F3D0;background:linear-gradient(145deg,#ECFDF5,#D1FAE5);color:#047857;}
.ch-g12-zone{border-radius:20px;padding:18px 16px 8px;margin:12px 0;border:2px dashed;}
.ch-g12-zone--sky{border-color:#7DD3FC;background:linear-gradient(135deg,#F0F9FF,#E0F2FE);}
.ch-g12-zone--steel{border-color:#94A3B8;background:linear-gradient(135deg,#F1F5F9,#E2E8F0);}
.ch-g12-zone--forge{border-color:#FB923C;background:linear-gradient(135deg,#FFF7ED,#FFEDD5);}
.ch-g12-zone--wire{border-color:#FBBF24;background:linear-gradient(135deg,#FFFBEB,#FEF9C3);}
.ch-g12-zone-head{font-size:.88rem;font-weight:900;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.ch-g12-orbit-strip{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;margin:16px 0;}
.ch-g12-orbit-block{border-radius:16px;padding:16px;text-align:center;font-weight:900;font-size:.8rem;border:3px solid;}
.ch-g12-orbit-block--s{background:#DBEAFE;border-color:#3B82F6;color:#1E40AF;}
.ch-g12-orbit-block--d{background:linear-gradient(135deg,#7C3AED,#A78BFA);border-color:#5B21B6;color:#fff;min-height:90px;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.ch-g12-orbit-block--p{background:#D1FAE5;border-color:#10B981;color:#065F46;}
.ch-g12-series-track{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
.ch-g12-series-lane{border-radius:14px;padding:12px 10px;border:2px solid;text-align:center;font-size:.72rem;font-weight:800;line-height:1.45;}
.ch-g12-series-lane strong{display:block;font-size:.85rem;margin-bottom:4px;}
.ch-g12-series-lane--1{background:#EDE9FE;border-color:#8B5CF6;color:#5B21B6;}
.ch-g12-series-lane--2{background:#DBEAFE;border-color:#3B82F6;color:#1E40AF;}
.ch-g12-series-lane--3{background:#CCFBF1;border-color:#14B8A6;color:#0F766E;}
.ch-g12-series-lane--4{background:#FEE2E2;border-color:#EF4444;color:#991B1B;}
.ch-g12-crust-heatmap{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:16px 0;}
.ch-g12-crust-cell{border-radius:10px;padding:8px 4px;text-align:center;font-size:.62rem;font-weight:900;border:2px solid rgba(0,0,0,.06);}
.ch-g12-crust-cell strong{display:block;font-size:.85rem;margin-bottom:2px;}
.ch-g12-crust-cell--mega{background:linear-gradient(180deg,#FCA5A5,#DC2626);color:#fff;}
.ch-g12-crust-cell--high{background:#FED7AA;color:#9A3412;}
.ch-g12-crust-cell--mid{background:#FDE68A;color:#854D0E;}
.ch-g12-crust-cell--low{background:#E2E8F0;color:#475569;}
.ch-g12-myth-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:16px 0;}
.ch-g12-myth-box{border-radius:16px;padding:16px;font-size:.8rem;font-weight:700;line-height:1.5;border:3px solid;}
.ch-g12-myth-box--bad{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B;}
.ch-g12-myth-box--good{background:#F0FDF4;border-color:#86EFAC;color:#166534;}
.ch-g12-myth-vs{font-size:1.8rem;font-weight:900;color:#64748B;display:flex;align-items:center;}
.ch-g12-obj-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.ch-g12-obj-pills span{font-size:.78rem;font-weight:800;padding:8px 14px;border-radius:99px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border:2px solid #6EE7B7;color:#047857;}
.ch-g12-think-bubble{background:linear-gradient(135deg,#FFF7ED,#FFEDD5);border:3px solid #FB923C;border-radius:24px 24px 8px 24px;padding:20px 22px;font-size:.88rem;font-weight:700;line-height:1.65;color:#9A3412;position:relative;}
.ch-g12-think-bubble::before{content:"💭";font-size:2rem;position:absolute;top:-14px;left:16px;}
.ch-g12-group-ladder{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0;}
.ch-g12-group-chip{font-size:.68rem;font-weight:900;padding:8px 12px;border-radius:10px;background:#F5F3FF;border:2px solid #C4B5FD;color:#6D28D9;}
.ch-g12-group-chip--warn{background:#FEF3C7;border-color:#FCD34D;color:#92400E;}
.ch-g12-config-row{display:grid;grid-template-columns:48px 1fr 1.2fr auto;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;margin:6px 0;font-size:.74rem;font-weight:700;border:2px solid #E2E8F0;background:#fff;}
.ch-g12-config-row--exc{background:linear-gradient(90deg,#FEF3C7,#FFFBEB);border-color:#F59E0B;}
.ch-g12-config-sym{font-size:1.1rem;font-weight:900;text-align:center;}
.ch-g12-ion-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;margin:16px 0;}
.ch-g12-ion-panel{border-radius:18px;padding:18px;border:3px solid;text-align:center;}
.ch-g12-ion-panel--fe{background:#FEE2E2;border-color:#EF4444;color:#991B1B;}
.ch-g12-ion-panel--mn{background:#FEF3C7;border-color:#F59E0B;color:#92400E;}
.ch-g12-prop-gauge{display:grid;gap:8px;margin:14px 0;}
.ch-g12-gauge-row{display:grid;grid-template-columns:64px 1fr 52px;gap:8px;align-items:center;font-size:.72rem;font-weight:800;}
.ch-g12-gauge-bar{height:12px;border-radius:99px;background:#E2E8F0;overflow:hidden;}
.ch-g12-gauge-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#059669,#34D399);}
.ch-g12-ore-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:14px 0;}
.ch-g12-ore-tile{border-radius:16px;padding:14px;border:3px solid;text-align:center;font-size:.72rem;font-weight:700;line-height:1.45;}
.ch-g12-ore-tile strong{display:block;font-size:.9rem;margin-bottom:6px;}
.ch-g12-ore-tile--hem{background:#FEE2E2;border-color:#DC2626;color:#991B1B;}
.ch-g12-ore-tile--lem{background:#FEF9C3;border-color:#EAB308;color:#854D0E;}
.ch-g12-ore-tile--mag{background:#1E293B;border-color:#475569;color:#F8FAFC;}
.ch-g12-ore-tile--sid{background:#F1F5F9;border-color:#94A3B8;color:#475569;}
.ch-g12-alloy-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;}
.ch-g12-alloy-card{border-radius:16px;padding:16px;border:3px solid;font-size:.74rem;font-weight:700;line-height:1.5;}
.ch-g12-alloy-card h4{margin:0 0 8px;font-size:.85rem;font-weight:900;}
.ch-g12-alloy-card--inter{background:#DBEAFE;border-color:#2563EB;color:#1E3A8A;}
.ch-g12-alloy-card--sub{background:#D1FAE5;border-color:#059669;color:#065F46;}
.ch-g12-alloy-card--interm{background:#FCE7F3;border-color:#DB2777;color:#9D174D;}
.ch-g12-oxide-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;}
.ch-g12-oxide-card{border-radius:18px;padding:16px;border:3px solid;text-align:center;}
.ch-g12-oxide-card .ox-sym{font-size:1.8rem;font-weight:900;}
.ch-g12-oxide-card--feo{background:#1E293B;border-color:#475569;color:#F8FAFC;}
.ch-g12-oxide-card--fe2o3{background:#FEE2E2;border-color:#DC2626;color:#991B1B;}
.ch-g12-oxide-card--fe3o4{background:#312E81;border-color:#6366F1;color:#E0E7FF;}
.ch-g12-bridge-card{background:linear-gradient(135deg,#FFF7ED,#FFEDD5);border:3px solid #FB923C;border-radius:18px;padding:18px 20px;font-size:.88rem;font-weight:800;color:#9A3412;display:flex;align-items:center;gap:12px;}
.ch-g12-bridge-card span{font-size:1.8rem;}
.ch-g12-app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0;}
.ch-g12-app-card{border-radius:18px;padding:16px;border:3px solid;font-size:.76rem;font-weight:700;line-height:1.6;}
.ch-g12-app-card strong{display:block;font-size:.88rem;margin-bottom:8px;}
.ch-g12-app-card--med{background:linear-gradient(145deg,#FEE2E2,#FECACA);border-color:#F87171;color:#991B1B;}
.ch-g12-app-card--agri{background:linear-gradient(145deg,#DCFCE7,#BBF7D0);border-color:#4ADE80;color:#166534;}
.ch-g12-app-card--ind{background:linear-gradient(145deg,#DBEAFE,#BFDBFE);border-color:#60A5FA;color:#1E40AF;}
.ch-g12-app-card--env{background:linear-gradient(145deg,#FEF3C7,#FDE68A);border-color:#FBBF24;color:#92400E;}
.ch-g12-anion-card{border-radius:16px;padding:14px;margin:10px 0;border:3px solid;background:#fff;}
.ch-g12-anion-card--hcl{border-color:#2563EB;background:linear-gradient(145deg,#EFF6FF,#DBEAFE);}
.ch-g12-anion-card--h2so4{border-color:#DC2626;background:linear-gradient(145deg,#FEF2F2,#FEE2E2);}
.ch-g12-anion-card--bacl2{border-color:#059669;background:linear-gradient(145deg,#ECFDF5,#D1FAE5);}
.ch-g12-anion-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:900;font-size:.9rem;}
.ch-g12-anion-badge{font-size:1.4rem;font-weight:900;padding:4px 10px;border-radius:10px;background:rgba(255,255,255,.7);}
.ch-g12-anion-body{font-size:.74rem;font-weight:700;line-height:1.65;color:#334155;}
.ch-g12-anion-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;}
.ch-g12-anion-tags span{font-size:.62rem;font-weight:800;padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.06);}
.ch-g12-cation-card{border-radius:16px;padding:14px;margin:10px 0;border:3px solid;}
.ch-g12-cation-card--cu{background:linear-gradient(145deg,#FFF7ED,#FFEDD5);border-color:#FB923C;}
.ch-g12-cation-card--al{background:linear-gradient(145deg,#F5F3FF,#EDE9FE);border-color:#A78BFA;}
.ch-g12-cation-card--fe2{background:linear-gradient(145deg,#F0FDF4,#DCFCE7);border-color:#86EFAC;}
.ch-g12-cation-card--fe3{background:linear-gradient(145deg,#FEF2F2,#FEE2E2);border-color:#FCA5A5;}
.ch-g12-cation-card--ca{background:linear-gradient(145deg,#FFFBEB,#FEF3C7);border-color:#FCD34D;}
.ch-g12-qual-bench{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
.ch-g12-qual-col{background:#fff;border-radius:14px;border:2px solid #E2E8F0;padding:12px;}
.ch-g12-qual-col h5{margin:0 0 8px;font-size:.78rem;font-weight:900;color:#0F766E;}
.ch-g12-qual-salt,.ch-g12-qual-reagent{padding:8px 10px;border-radius:10px;border:2px solid #99F6E4;background:#F0FDFA;font-size:.72rem;font-weight:800;cursor:pointer;margin:4px 0;width:100%;text-align:right;font-family:inherit;color:#115E59;}
.ch-g12-qual-salt.is-active,.ch-g12-qual-reagent.is-active{background:#0D9488;color:#fff;border-color:#0F766E;}
.ch-g12-qual-obs{grid-column:1/-1;background:linear-gradient(135deg,#134E4A,#0D9488);color:#fff;border-radius:14px;padding:16px;font-size:.8rem;font-weight:700;line-height:1.7;min-height:90px;}
.ch-g12-qual-obs strong{color:#99F6E4;display:block;margin-bottom:6px;font-size:.88rem;}
.ch-g12-review-ladder{display:grid;gap:6px;margin:12px 0;}
.ch-g12-review-step{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px 12px;border-radius:12px;background:#F0FDFA;border:2px solid #99F6E4;font-size:.72rem;font-weight:700;line-height:1.55;}
.ch-g12-review-step span:first-child{font-size:1.1rem;text-align:center;}
.ch-g12-ind-table{display:grid;gap:6px;margin:12px 0;}
.ch-g12-ind-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:6px;padding:10px;border-radius:10px;font-size:.7rem;font-weight:700;border:2px solid #E2E8F0;background:#fff;}
.ch-g12-ind-row--head{background:#EDE9FE;border-color:#A78BFA;font-weight:900;}
.ch-g12-titration-viz{display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:end;margin:12px 0;}
.ch-g12-burette{width:48px;height:160px;border:3px solid #6366F1;border-radius:8px 8px 4px 4px;margin:0 auto;position:relative;background:#EEF2FF;overflow:hidden;}
.ch-g12-burette-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#818CF8,#4F46E5);transition:height .3s;}
.ch-g12-flask-wrap{text-align:center;}
.ch-g12-flask{width:100px;height:90px;border:3px solid #6366F1;border-radius:0 0 50px 50px;margin:0 auto;position:relative;background:#F8FAFC;overflow:hidden;}
.ch-g12-flask-fill{position:absolute;bottom:0;left:0;right:0;transition:height .3s,background .3s;}
.ch-g12-flask-fill.is-basic{background:#F472B6;}
.ch-g12-flask-fill.is-neutral{background:#86EFAC;}
.ch-g12-flask-fill.is-acid{background:#FDE047;}
.ch-g12-formula-box{background:linear-gradient(135deg,#EEF2FF,#E0E7FF);border:3px solid #6366F1;border-radius:16px;padding:16px;margin:12px 0;text-align:center;font-weight:900;}
.ch-g12-grav-card{border-radius:16px;padding:14px;margin:10px 0;border:3px solid;}
.ch-g12-grav-card--vol{background:linear-gradient(145deg,#FEF3C7,#FDE68A);border-color:#F59E0B;}
.ch-g12-grav-card--precip{background:linear-gradient(145deg,#F0FDF4,#DCFCE7);border-color:#22C55E;}
.ch-g12-eq-vessel{background:linear-gradient(180deg,#BAE6FD 0%,#7DD3FC 40%,#0EA5E9 100%);border-radius:20px;border:4px solid #0284C7;height:140px;position:relative;margin:14px 0;overflow:hidden;}
.ch-g12-eq-steam{position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);animation:chEqSteam 2s ease-in-out infinite alternate;}
.ch-g12-eq-liquid{position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(180deg,#38BDF8,#0284C7);}
.ch-g12-eq-gauge{display:flex;gap:8px;margin:10px 0;}
.ch-g12-eq-gauge span{flex:1;padding:8px;border-radius:10px;text-align:center;font-size:.72rem;font-weight:900;background:#fff;border:2px solid #E2E8F0;}
.ch-g12-eq-gauge span.is-eq{background:#DCFCE7;border-color:#22C55E;}
@keyframes chEqSteam{from{opacity:.4;transform:translateY(0)}to{opacity:.9;transform:translateY(-8px)}}
.ch-g12-rx-track{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:14px 0;}
.ch-g12-rx-box{border-radius:14px;padding:14px;border:3px solid;font-size:.74rem;font-weight:700;line-height:1.55;}
.ch-g12-rx-box--fwd{background:#DCFCE7;border-color:#22C55E;}
.ch-g12-rx-box--rev{background:#FEE2E2;border-color:#EF4444;}
.ch-g12-rx-arrow{font-size:1.4rem;font-weight:900;text-align:center;color:#64748B;}
.ch-g12-rate-meter{height:16px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:10px 0;}
.ch-g12-rate-fill{height:100%;background:linear-gradient(90deg,#F59E0B,#DC2626);border-radius:99px;transition:width .4s;}
.ch-g12-kc-panel{background:#0F172A;color:#E2E8F0;border-radius:16px;padding:16px;margin:12px 0;font-size:.78rem;font-weight:700;line-height:1.7;}
.ch-g12-factor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0;}
.ch-g12-factor-btn{padding:12px;border-radius:14px;border:3px solid #E2E8F0;background:#fff;font-size:.72rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.4;}
.ch-g12-factor-btn.is-active{background:#DBEAFE;border-color:#2563EB;color:#1E40AF;}
.ch-g12-lc-vessel{--lc-intensity:65%;height:120px;border-radius:20px;border:4px solid #BE185D;margin:12px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,#FCE7F3,#F472B6);transition:background .4s;}
.ch-g12-lc-vessel[data-rx="no2"]{background:linear-gradient(180deg,rgba(254,243,199,.3),rgba(180,83,9,var(--lc-intensity)))}
.ch-g12-lc-vessel[data-rx="nh3"]{background:linear-gradient(180deg,#DBEAFE,#6366F1)}
.ch-g12-lc-vessel[data-rx="co"]{background:linear-gradient(180deg,#FEE2E2,#F97316)}
.ch-g12-lc-shift-wrap{height:14px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:8px 0;}
.ch-g12-lc-shift{height:100%;background:linear-gradient(90deg,#22C55E,#EF4444);border-radius:99px;transition:width .45s;width:50%;}
.ch-g12-lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:10px 0;}
.ch-g12-lc-rx,.ch-g12-lc-stress{padding:10px;border-radius:12px;border:3px solid #FBCFE8;background:#FFF1F2;font-size:.68rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.35;}
.ch-g12-lc-rx.is-active,.ch-g12-lc-stress.is-active{background:#DB2777;color:#fff;border-color:#9D174D;}
.ch-g12-ph-scale{height:28px;border-radius:99px;background:linear-gradient(90deg,#EF4444,#FDE047 50%,#3B82F6);position:relative;margin:14px 0;border:3px solid #334155;}
.ch-g12-ph-fill{position:absolute;top:-6px;width:20px;height:40px;border-radius:8px;border:3px solid #0F172A;background:#fff;transform:translateX(-50%);transition:left .25s;}
.ch-g12-ph-fill.is-acid{background:#FEE2E2;}
.ch-g12-ph-fill.is-neutral{background:#DCFCE7;}
.ch-g12-ph-fill.is-base{background:#DBEAFE;}
.ch-g12-ph-slider{width:100%;margin:10px 0;}
.ch-g12-ph-weak-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:10px 0;}
.ch-g12-ph-weak-row input{padding:8px;border-radius:10px;border:2px solid #86EFAC;font-family:inherit;font-size:.75rem;font-weight:700;}
.ch-g12-ph-weak-out{font-size:.72rem;font-weight:700;line-height:1.6;padding:10px;border-radius:12px;background:#ECFDF5;border:2px solid #86EFAC;margin-top:8px;}
.ch-g12-daniel-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:12px 0;}
.ch-g12-daniel-half{border-radius:16px;padding:14px;border:3px solid;font-size:.72rem;font-weight:700;line-height:1.55;text-align:center;}
.ch-g12-daniel-half.is-anode{background:#FEE2E2;border-color:#EF4444;}
.ch-g12-daniel-half.is-cathode{background:#DBEAFE;border-color:#3B82F6;}
.ch-g12-daniel-bridge{align-self:center;padding:10px;border-radius:12px;border:3px solid #6366F1;background:#EEF2FF;font-size:.68rem;font-weight:900;cursor:pointer;font-family:inherit;}
.ch-g12-daniel-bridge.is-active{background:#4338CA;color:#fff;}
.ch-g12-emf-badge{display:inline-block;padding:10px 18px;border-radius:14px;background:#312E81;color:#E0E7FF;font-size:1.1rem;font-weight:900;margin:8px 0;}
.ch-g12-emf-val{font-size:1.4rem;}
.ch-g12-elem-series{display:grid;gap:4px;margin:12px 0;max-height:220px;overflow:auto;}
.ch-g12-elem-row{display:grid;grid-template-columns:1fr 80px 80px;gap:6px;padding:6px 10px;border-radius:8px;font-size:.66rem;font-weight:700;border:1px solid #E2E8F0;background:#fff;}
.ch-g12-elem-row--head{background:#EEF2FF;font-weight:900;position:sticky;top:0;}
.ch-g12-elem-row--zn{background:#FEF9C3;}
.ch-g12-elem-row--cu{background:#FFEDD5;}
.ch-g12-bat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:10px 0;}
.ch-g12-bat-btn,.ch-g12-bat-mode{padding:10px;border-radius:12px;border:3px solid #FDE68A;background:#FFFBEB;font-size:.68rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.35;}
.ch-g12-bat-btn.is-active,.ch-g12-bat-mode.is-active{background:#CA8A04;color:#fff;border-color:#854D0E;}
.ch-g12-bat-card{border-radius:16px;padding:14px;margin:10px 0;border:3px solid #F59E0B;background:linear-gradient(145deg,#FFFBEB,#FEF3C7);}
.ch-g12-rust-meter-wrap{height:18px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:10px 0;border:2px solid #9A3412;}
.ch-g12-rust-meter{height:100%;background:linear-gradient(90deg,#F97316,#DC2626);border-radius:99px;transition:width .4s;width:85%;}
.ch-g12-guard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:10px 0;}
.ch-g12-guard-btn{padding:10px;border-radius:12px;border:3px solid #FDBA74;background:#FFF7ED;font-size:.68rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.35;}
.ch-g12-guard-btn.is-active{background:#EA580C;color:#fff;border-color:#9A3412;}
.ch-g12-far-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;}
.ch-g12-far-row input{padding:8px;border-radius:10px;border:2px solid #67E8F9;font-family:inherit;font-size:.75rem;font-weight:700;width:100%;}
.ch-g12-plate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;}
.ch-g12-plate-btn{padding:12px;border-radius:14px;border:3px solid #C4B5FD;background:#EDE9FE;font-size:.72rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.4;}
.ch-g12-plate-btn.is-active{background:#7C3AED;color:#fff;border-color:#5B21B6;}
.ch-g12-org-grid,.ch-g12-add-grid,.ch-g12-fg-grid,.ch-g12-bz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:10px 0;}
.ch-g12-org-btn,.ch-g12-add-btn,.ch-g12-fg-btn,.ch-g12-bz-btn,.ch-g12-c2h2-btn{padding:10px;border-radius:12px;border:3px solid #86EFAC;background:#ECFDF5;font-size:.68rem;font-weight:900;cursor:pointer;font-family:inherit;text-align:center;line-height:1.35;}
.ch-g12-org-btn.is-active,.ch-g12-add-btn.is-active,.ch-g12-fg-btn.is-active,.ch-g12-bz-btn.is-active,.ch-g12-c2h2-btn.is-active{background:#15803D;color:#fff;border-color:#14532D;}
.ch-g12-alk-slider{width:100%;margin:10px 0;}
.ch-g12-kw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;}
.ch-g12-kw-cell{padding:12px;border-radius:14px;text-align:center;font-size:.72rem;font-weight:800;border:3px solid;}
.ch-g12-kw-cell--acid{background:#FEE2E2;border-color:#EF4444;}
.ch-g12-kw-cell--neut{background:#DCFCE7;border-color:#22C55E;}
.ch-g12-kw-cell--base{background:#DBEAFE;border-color:#3B82F6;}
.ch-g12-cond-ladder{display:grid;gap:6px;margin:12px 0;}
.ch-g12-cond-step{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:10px 12px;border-radius:12px;background:#F8FAFC;border:2px solid #CBD5E1;font-size:.72rem;font-weight:700;line-height:1.55;}
.ch-g12-flash-deck,.ch-g12-streak-path{margin:12px 0;text-align:center;}
.ch-g12-flash-item{display:none;}
.ch-g12-flash-hint{font-size:.72rem;font-weight:700;color:#94A3B8;margin:0 0 12px;}
.ch-g12-flash-scene{perspective:1200px;margin:0 auto 14px;max-width:420px;}
.ch-g12-flash-flipper{position:relative;width:100%;min-height:200px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);cursor:pointer;}
.ch-g12-flash-flipper.is-flipped{transform:rotateY(180deg);}
.ch-g12-flash-front,.ch-g12-flash-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 20px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 18px 40px rgba(15,23,42,.22),0 4px 12px rgba(124,58,237,.15);font-weight:900;line-height:1.75;text-align:center;}
.ch-g12-flash-front{background:linear-gradient(145deg,#7C3AED 0%,#6D28D9 55%,#4C1D95 100%);color:#fff;font-size:1.05rem;border:3px solid #C4B5FD;}
.ch-g12-flash-back{background:linear-gradient(145deg,#1E293B 0%,#334155 100%);color:#F5F3FF;font-size:.88rem;transform:rotateY(180deg);border:3px solid #475569;}
.ch-g12-flash-deck::before{content:'';display:block;height:8px;width:72%;margin:0 auto 10px;border-radius:99px;background:linear-gradient(90deg,transparent,#7C3AED,transparent);opacity:.35;}
.ch-g12-flash-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px;}
.ch-g12-flash-btn{padding:10px 18px;border-radius:12px;border:2px solid #C4B5FD;background:#fff;color:#6D28D9;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;transition:transform .12s,background .12s;box-shadow:0 2px 8px rgba(124,58,237,.12);}
.ch-g12-flash-btn:hover{background:#EDE9FE;transform:translateY(-1px);}
.ch-g12-flash-progress{font-size:.75rem;font-weight:900;color:#64748B;margin-top:10px;display:block;}
.ch-g12-streak-step{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;margin:6px;border-radius:12px;border:2px dashed #A78BFA;background:#FAF5FF;cursor:pointer;font-size:.78rem;font-weight:800;}
.ch-g12-streak-step.is-done{background:#EDE9FE;border-style:solid;border-color:#7C3AED;}
.ch-g12-fig-block{display:grid;grid-template-columns:minmax(120px,1fr) 1.2fr;gap:14px;margin:14px 0;padding:14px;border-radius:16px;border:2px solid #E9D5FF;background:#FAF5FF;}
.ch-g12-fig-visual img{width:100%;height:auto;border-radius:12px;border:2px solid #C4B5FD;}
.ch-g12-fig-caption-head{display:flex;align-items:center;gap:8px;font-weight:900;color:#5B21B6;margin-bottom:8px;}
.ch-g12-fig-caption ul{margin:0;padding-right:18px;font-size:.78rem;line-height:1.6;}
.guide-section--story .ch-g12-story-beat{margin:0 0 18px;padding:14px 16px;border-radius:16px;border:2px solid #E9D5FF;background:linear-gradient(180deg,#fff,#FAF5FF);}
.ch-g12-story-lead,.ch-g12-story-note{font-size:.82rem;line-height:1.7;font-weight:700;color:#334155;margin:0 0 10px;}
.ch-g12-story-note{color:#64748B;font-weight:600;}
.ch-g12-fig-inline{margin:10px 0;text-align:center;}
.ch-g12-fig-inline img{max-width:100%;height:auto;border-radius:14px;border:2px solid #C4B5FD;box-shadow:0 8px 24px rgba(124,58,237,.12);}
.ch-g12-fig-inline-cap{margin-top:8px;font-size:.78rem;font-weight:900;color:#6D28D9;}
.ch-g12-zone--ocr{background:linear-gradient(180deg,#FAF5FF,#F5F3FF);border:2px solid #DDD6FE;border-radius:16px;padding:12px;margin:8px 0;}
.ch-g12-ocr-lane{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:8px 0;border-radius:12px;background:#fff;border:1px solid #E9D5FF;}
.ch-g12-ocr-lane--ministry{border:2px solid #7C3AED;background:#EDE9FE;}
.ch-g12-ocr-badge{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#7C3AED;color:#fff;font-size:.85rem;}
.ch-g12-ocr-text{font-size:.82rem;line-height:1.65;font-weight:700;color:#1E293B;}
.ch-g12-step-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0;}
.ch-g12-step-card{padding:12px;border-radius:12px;background:#FFFBEB;border:2px solid #FCD34D;font-size:.72rem;font-weight:800;line-height:1.5;text-align:center;}
.ch-g12-step-card span{display:block;font-size:1.1rem;margin-bottom:4px;color:#92400E;}
@media(max-width:640px){.ch-g12-orbit-strip,.ch-g12-series-track,.ch-g12-alloy-trio,.ch-g12-oxide-trio,.ch-g12-myth-duel,.ch-g12-ion-duel,.ch-g12-app-grid,.ch-g12-qual-bench,.ch-g12-ind-row,.ch-g12-titration-viz,.ch-g12-rx-track,.ch-g12-factor-grid,.ch-g12-lc-grid,.ch-g12-kw-grid,.ch-g12-ph-weak-row,.ch-g12-daniel-wrap,.ch-g12-bat-grid,.ch-g12-elem-row,.ch-g12-guard-grid,.ch-g12-far-row,.ch-g12-plate-grid,.ch-g12-org-grid,.ch-g12-add-grid,.ch-g12-fg-grid,.ch-g12-bz-grid,.ch-g12-fig-block{grid-template-columns:1fr;}.ch-g12-crust-heatmap{grid-template-columns:repeat(5,1fr);}}



/* === WIDGET FILE: guide-english-widgets.blade.php === */

/* ══ English L1 — Alexandria (same family as Arabic UI) ══ */
.cv-viewport .cv-content-html.cv-guidebook-page--en,
.cv-viewport .cv-content-html.cv-guidebook-page--en *:not(.katex):not(.katex *):not(.guide-section--ar):not(.guide-section--ar *):not(.info-card.green):not(.info-card.green *):not(.guide-obj-list):not(.guide-obj-list *):not(.ph-g12-bridge-card):not(.ph-g12-bridge-card *){
  font-family:'Alexandria','Inter',system-ui,sans-serif !important;
  letter-spacing:-0.01em;
}
.cv-guidebook-page--en{
  direction:ltr !important;
  text-align:left !important;
  font-family:'Alexandria','Inter',system-ui,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.cv-guidebook-page--en .guide-wrap{
  direction:ltr !important;
  text-align:left !important;
  max-width:760px;
  font-family:inherit !important;
}
.cv-guidebook-page--en input,
.cv-guidebook-page--en textarea,
.cv-guidebook-page--en select,
.cv-guidebook-page--en button{
  font-family:inherit !important;
}
.cv-viewport .cv-content-html.cv-guidebook-page--en .guide-section--ar,
.cv-viewport .cv-content-html.cv-guidebook-page--en .guide-section--ar *:not(.katex):not(.katex *),
.cv-viewport .cv-content-html.cv-guidebook-page--en .info-card.green,
.cv-viewport .cv-content-html.cv-guidebook-page--en .info-card.green *,
.cv-viewport .cv-content-html.cv-guidebook-page--en .ph-g12-bridge-card,
.cv-viewport .cv-content-html.cv-guidebook-page--en .ph-g12-bridge-card *{
  font-family:'Alexandria','Inter',sans-serif !important;
  letter-spacing:normal;
}

/* Section headings — English LEFT (icon → title), Arabic RIGHT */
.cv-guidebook-page--en .section-heading{
  direction:ltr;
  flex-direction:row;
  justify-content:flex-start;
  text-align:left;
}
.cv-guidebook-page--en .section-title{
  direction:ltr;
  text-align:left;
}
.cv-guidebook-page--en .guide-section--ar .section-heading,
.cv-guidebook-page--en .section-heading--ar{
  direction:rtl;
  flex-direction:row-reverse;
  text-align:right;
}
.cv-guidebook-page--en .guide-section--ar .section-title,
.cv-guidebook-page--en .section-title--ar{
  direction:rtl;
  text-align:right;
}
.cv-guidebook-page--en .info-card.green,
.cv-guidebook-page--en .guide-obj-list,
.cv-guidebook-page--en .guide-obj-item{
  direction:rtl;
  text-align:right;
}
.cv-guidebook-page--en .ph-g12-bridge-card{
  direction:rtl;
  text-align:right;
}

.en-g12-ltr{direction:ltr;text-align:left;unicode-bidi:isolate;}

.en-lab{background:linear-gradient(135deg,#EFF6FF 0%,#DBEAFE 100%);border:2px solid #3B82F6;border-radius:20px;padding:18px;margin:16px 0;}
.en-lab-title{font-size:.92rem;font-weight:900;color:#1E40AF;margin-bottom:12px;line-height:1.5;}

/* Reading passage card */
.en-g12-reading-card{background:linear-gradient(180deg,#F0F9FF 0%,#fff 100%);border:2px solid #0284C7;border-radius:18px;padding:0;margin:14px 0;overflow:hidden;box-shadow:0 6px 20px rgba(2,132,199,.14);}
.en-g12-reading-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(90deg,#0369A1,#0EA5E9);color:#fff;flex-wrap:wrap;}
.en-g12-reading-head h3{margin:0;font-size:1rem;font-weight:900;}
.en-g12-reading-body{padding:18px 20px;font-size:.88rem;line-height:2;color:#1E293B;}
.en-g12-reading-body p{margin:0 0 14px;}
.en-g12-tts-bar{display:flex;gap:8px;flex-wrap:wrap;}
.en-g12-tts-play.is-speaking{background:#FEF3C7;border-color:#F59E0B;}
.en-g12-tts-stop{padding:6px 14px;border-radius:999px;border:2px solid #CBD5E1;background:#F1F5F9;font-size:.72rem;font-weight:800;cursor:pointer;}
.en-g12-tts-stop:not(:disabled){border-color:#EF4444;background:#FEE2E2;color:#B91C1C;}

/* Listening lab — multi-track audio player */
.en-g12-listen-lab{background:linear-gradient(145deg,#F0FDF4 0%,#ECFDF5 50%,#fff 100%);border:2px solid #34D399;border-radius:20px;padding:18px;margin:14px 0;box-shadow:0 8px 24px rgba(16,185,129,.12);}
.en-g12-listen-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.en-g12-listen-head-icon{font-size:1.8rem;}
.en-g12-listen-head-text{font-size:.92rem;font-weight:900;color:#065F46;line-height:1.4;}
.en-g12-listen-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px;padding:12px 14px;background:#fff;border-radius:14px;border:2px solid #A7F3D0;}
.en-g12-voice-select{flex:1;min-width:180px;padding:8px 12px;border-radius:12px;border:2px solid #CBD5E1;font-size:.78rem;font-weight:700;background:#F8FAFC;}
.en-g12-listen-tracks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.en-g12-listen-track{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:2px solid #BBF7D0;background:#fff;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,transform .12s;}
.en-g12-listen-track:hover{border-color:#34D399;transform:translateY(-1px);}
.en-g12-listen-track.is-active{border-color:#059669;background:#ECFDF5;box-shadow:0 0 0 3px rgba(16,185,129,.15);}
.en-g12-listen-track.is-speaking{border-color:#EF4444;background:#FEF2F2;}
.en-g12-listen-track-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#10B981,#059669);color:#fff;font-size:.72rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.en-g12-listen-track-title{font-size:.82rem;font-weight:800;color:#064E3B;line-height:1.4;}
.en-g12-listen-transcript{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:4px 2px;}
.en-g12-listen-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px 14px;border-radius:14px;background:#fff;border:2px solid #E2E8F0;cursor:pointer;transition:border-color .15s,background .15s;}
.en-g12-listen-line.is-active{border-color:#34D399;background:#F0FDF4;}
.en-g12-listen-speaker{font-size:.72rem;font-weight:900;color:#059669;white-space:nowrap;padding-top:2px;}
.en-g12-listen-text{font-size:.82rem;font-weight:600;color:#334155;line-height:1.65;}
.en-g12-listen-play-all{padding:8px 16px;border-radius:999px;border:2px solid #10B981;background:#ECFDF5;font-size:.78rem;font-weight:900;color:#065F46;cursor:pointer;}
.en-g12-listen-play-all.is-speaking{border-color:#EF4444;background:#FEE2F2;color:#B91C1C;}

/* Prompt / discuss cards */
.en-g12-prompt-grid{display:grid;gap:12px;margin:12px 0;}
.en-g12-prompt-card{background:#fff;border:2px solid #E2E8F0;border-radius:16px;padding:14px 16px;box-shadow:0 2px 8px rgba(15,23,42,.04);}
.en-g12-prompt-card strong{display:block;color:#0369A1;font-size:.8rem;margin-bottom:8px;}
.en-g12-prompt-card p{margin:0 0 10px;font-size:.86rem;font-weight:600;color:#334155;}

/* Vocab flip deck */
.en-g12-vocab-deck{display:flex;gap:14px;overflow-x:auto;padding:18px 8px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.en-g12-vocab-deck-hint{text-align:center;font-size:.74rem;color:#64748B;margin:4px 0 0;font-weight:700;}

/* Vocab review grid cards — listen & review section */
.en-g12-vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:14px 0;padding:2px;}
.en-g12-vocab-card{background:linear-gradient(145deg,#fff 0%,#EFF6FF 100%);border:2px solid #BFDBFE;border-radius:18px;padding:18px 16px;box-shadow:0 6px 20px rgba(37,99,235,.14);display:flex;flex-direction:column;gap:8px;transition:transform .15s ease,border-color .15s,box-shadow .15s;}
.en-g12-vocab-card:hover{transform:translateY(-2px);border-color:#60A5FA;box-shadow:0 10px 28px rgba(37,99,235,.2);}
.en-g12-vocab-word{font-size:1.02rem;font-weight:900;color:#1D4ED8;line-height:1.3;letter-spacing:-0.02em;}
.en-g12-vocab-defn{font-size:.8rem;font-weight:700;color:#475569;line-height:1.55;}
.en-g12-vocab-ex{font-size:.78rem;font-weight:600;color:#64748B;font-style:italic;line-height:1.55;padding:10px 12px;background:#F8FAFC;border-radius:12px;border:1px solid #E2E8F0;margin:2px 0;}
.en-g12-vocab-card .en-g12-speak-btn{align-self:flex-start;margin-top:2px;}

.en-g12-flip-card{flex:0 0 210px;height:240px;perspective:900px;scroll-snap-align:center;cursor:pointer;}
.en-g12-flip-inner{position:relative;width:100%;height:100%;transition:transform .45s ease;transform-style:preserve-3d;}
.en-g12-flip-card.is-flipped .en-g12-flip-inner{transform:rotateY(180deg);}
.en-g12-flip-front,.en-g12-flip-back{position:absolute;inset:0;border-radius:18px;padding:18px 16px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 24px rgba(37,99,235,.18);}
.en-g12-flip-front{background:linear-gradient(145deg,#2563EB 0%,#7C3AED 100%);color:#fff;border:2px solid #1D4ED8;}
.en-g12-flip-back{background:#fff;border:2px solid #BFDBFE;transform:rotateY(180deg);gap:8px;}
.en-g12-flip-icon{font-size:2rem;margin-bottom:8px;}
.en-g12-flip-word{font-size:1.05rem;font-weight:900;line-height:1.2;}
.en-g12-flip-hint{font-size:.68rem;opacity:.85;margin-top:10px;font-weight:700;}
.en-g12-flip-defn{font-size:.82rem;font-weight:800;color:#1E40AF;line-height:1.45;}
.en-g12-flip-ex{font-size:.74rem;color:#475569;line-height:1.5;}

/* Exercise panels */
.en-g12-exercise-panel{background:#fff;border:2px solid #CBD5E1;border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 4px 14px rgba(15,23,42,.07);}
.en-g12-ex-badge{display:inline-block;background:linear-gradient(135deg,#2563EB,#1D4ED8);color:#fff;font-size:.72rem;font-weight:900;padding:5px 12px;border-radius:999px;margin-bottom:10px;}
.en-g12-ex-title{font-size:.9rem;font-weight:800;color:#1E293B;margin-bottom:14px;line-height:1.55;}

/* Match lab */
.en-g12-match-grid{display:flex;flex-direction:column;gap:10px;}
.en-g12-match-row{display:grid;grid-template-columns:minmax(100px,28%) 1fr;gap:12px;align-items:center;padding:12px;background:#F8FAFC;border-radius:14px;border:1px solid #E2E8F0;}
.en-g12-match-row.is-correct{border-color:#22C55E;background:#F0FDF4;}
.en-g12-match-row.is-wrong{border-color:#EF4444;background:#FEF2F2;}
.en-g12-match-word{font-weight:800;font-size:.84rem;color:#1E40AF;}
.en-g12-match-select{width:100%;padding:10px 12px;border-radius:12px;border:2px solid #CBD5E1;font-size:.8rem;font-weight:600;background:#fff;font-family:inherit;}

/* Fill lab — drag from bank */
.en-g12-word-bank{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:linear-gradient(135deg,#FFFBEB,#FEF3C7);border:2px dashed #F59E0B;border-radius:14px;margin-bottom:14px;}
.en-g12-bank-chip{padding:9px 16px;border-radius:999px;background:#fff;border:2px solid #FBBF24;font-weight:800;font-size:.8rem;cursor:grab;user-select:none;touch-action:none;box-shadow:0 2px 6px rgba(245,158,11,.2);}
.en-g12-bank-chip:active{cursor:grabbing;}
.en-g12-bank-chip.is-used{opacity:.35;pointer-events:none;}
.en-g12-fill-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #F1F5F9;font-size:.86rem;font-weight:600;line-height:1.75;}
.en-g12-fill-num{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#3B82F6;color:#fff;font-size:.74rem;font-weight:900;flex-shrink:0;}
.en-g12-fill-slot{min-width:110px;min-height:38px;padding:4px 10px;border-radius:12px;border:2px dashed #93C5FD;background:#F8FAFC;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;color:#1D4ED8;transition:border-color .15s,background .15s;}
.en-g12-fill-slot.is-over{border-color:#2563EB;background:#DBEAFE;}
.en-g12-fill-slot.is-filled{border-style:solid;background:#EFF6FF;}
.en-g12-fill-slot.is-correct{border-color:#22C55E;background:#F0FDF4;color:#15803D;}
.en-g12-fill-slot.is-wrong{border-color:#EF4444;background:#FEF2F2;color:#B91C1C;}

/* Open questions */
.en-g12-open-list{display:flex;flex-direction:column;gap:14px;}
.en-g12-open-item{background:#F8FAFC;border:2px solid #E2E8F0;border-radius:16px;padding:14px 16px;}
.en-g12-open-prompt{margin:0 0 10px;font-size:.86rem;font-weight:700;color:#334155;}
.en-g12-open-input{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #CBD5E1;font-size:.84rem;font-family:inherit;resize:vertical;min-height:60px;}

/* Idiom callout */
.en-g12-idiom-callout{background:linear-gradient(135deg,#FEF3C7 0%,#FFFBEB 100%);border:2px solid #F59E0B;border-radius:18px;padding:18px;margin:14px 0;}
.en-g12-idiom-callout h4{margin:0 0 10px;font-size:.92rem;color:#B45309;}
.en-g12-idiom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:14px 0;}
.en-g12-idiom-card{background:linear-gradient(145deg,#FFFBEB,#FEF3C7);border:2px solid #FBBF24;border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
.en-g12-idiom-card .en-g12-idiom-phrase{margin:0;}
.en-g12-idiom-meaning{font-size:.82rem;font-weight:700;color:#78350F;line-height:1.5;}
.en-g12-idiom-phrase{display:inline-block;background:#fff;border:2px solid #FBBF24;border-radius:999px;padding:7px 16px;font-weight:900;color:#92400E;margin:8px 0;}

/* Role-play stage */
.en-g12-role-panel{background:linear-gradient(135deg,#FDF2F8 0%,#FCE7F3 100%);border:2px solid #EC4899;border-radius:18px;padding:18px;margin:14px 0;}
.en-g12-role-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.en-g12-role-icon{font-size:2rem;}
.en-g12-role-header h4{margin:0;color:#BE185D;font-size:.95rem;}
.en-g12-role-sub{margin:4px 0 0;font-size:.76rem;color:#9D174D;font-weight:700;}
.en-g12-role-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.en-g12-role-actor{padding:12px;border-radius:14px;text-align:center;font-weight:900;font-size:.82rem;display:flex;flex-direction:column;align-items:center;gap:6px;}
.en-g12-role-actor--operator{background:#DBEAFE;color:#1E40AF;border:2px solid #93C5FD;}
.en-g12-role-actor--caller{background:#FEE2E2;color:#B91C1C;border:2px solid #FCA5A5;}
.en-g12-role-script{display:flex;flex-direction:column;gap:10px;}
.en-g12-role-line{display:flex;flex-direction:column;gap:4px;}
.en-g12-role-line[data-turn="operator"]{align-items:flex-start;}
.en-g12-role-line[data-turn="caller"]{align-items:flex-end;}
.en-g12-role-speaker{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#64748B;}
.en-g12-role-bubble{max-width:92%;padding:10px 14px;border-radius:16px;font-size:.82rem;font-weight:600;line-height:1.55;}
.en-g12-role-line[data-turn="operator"] .en-g12-role-bubble{background:#DBEAFE;border:2px solid #93C5FD;border-bottom-left-radius:4px;}
.en-g12-role-line[data-turn="caller"] .en-g12-role-bubble{background:#DCFCE7;border:2px solid #86EFAC;border-bottom-right-radius:4px;}
.en-g12-role-brief{padding:10px 14px;background:#fff;border-radius:12px;font-size:.82rem;font-weight:700;margin-bottom:6px;border:2px dashed #F9A8D4;}
.en-g12-role-tips{margin:12px 0 0;padding-left:18px;font-size:.78rem;color:#831843;font-weight:600;}
.en-g12-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;}
.en-g12-role-col{background:#fff;border:2px solid #E2E8F0;border-radius:16px;padding:14px;}
.en-g12-role-col h4{margin:0 0 10px;font-size:.82rem;font-weight:900;color:#BE185D;}
.en-g12-role-col .en-g12-role-line{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;border-radius:12px;border:2px solid #FBCFE8;background:#FDF2F8;font-size:.78rem;font-weight:700;color:#831843;cursor:pointer;font-family:inherit;}
.en-g12-role-col .en-g12-role-line:hover{border-color:#EC4899;background:#FCE7F3;}

/* T/F rows */
.en-g12-tf-list{display:flex;flex-direction:column;gap:8px;}
.en-g12-tf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#F8FAFC;border-radius:14px;font-size:.84rem;font-weight:600;border:1px solid #E2E8F0;}
.en-g12-tf-btns{display:flex;gap:8px;flex-shrink:0;}
.en-g12-tf-btn{padding:8px 16px;border-radius:999px;border:2px solid #CBD5E1;background:#fff;font-weight:800;font-size:.74rem;cursor:pointer;font-family:inherit;}
.en-g12-tf-btn.is-picked{border-color:#2563EB;background:#DBEAFE;}
.en-g12-tf-btn.is-correct{border-color:#22C55E;background:#DCFCE7;}
.en-g12-tf-btn.is-wrong{border-color:#EF4444;background:#FEE2E2;}

/* Emergency phone UI */
.en-g12-phone{background:#0F172A;border-radius:24px;padding:0;overflow:hidden;box-shadow:0 12px 32px rgba(15,23,42,.35);max-width:420px;margin:0 auto;}
.en-g12-phone-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(90deg,#7F1D1D,#DC2626);color:#fff;font-weight:800;font-size:.82rem;}
.en-g12-phone-live{font-size:.72rem;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:999px;}
.en-g12-call-chat{min-height:220px;max-height:280px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#1E293B,#0F172A);}
.en-g12-call-bubble{padding:10px 14px;border-radius:16px;font-size:.8rem;font-weight:600;line-height:1.55;max-width:88%;}
.en-g12-call-bubble--op{background:#334155;color:#F1F5F9;border-bottom-left-radius:4px;align-self:flex-start;}
.en-g12-call-bubble--you{background:#2563EB;color:#fff;border-bottom-right-radius:4px;align-self:flex-end;}
.en-g12-call-choices{padding:12px 14px 16px;background:#1E293B;display:flex;flex-wrap:wrap;gap:8px;}
.en-g12-call-choice{padding:9px 14px;border-radius:12px;border:2px solid #475569;background:#334155;color:#E2E8F0;font-size:.76rem;font-weight:800;cursor:pointer;font-family:inherit;}
.en-g12-call-choice:hover{border-color:#60A5FA;background:#1E40AF;color:#fff;}

/* Shared buttons */
.en-g12-check-btn,.en-g12-chat-next,.en-g12-report-check{padding:11px 20px;border-radius:14px;border:none;background:linear-gradient(135deg,#2563EB,#1D4ED8);color:#fff;font-weight:800;font-size:.82rem;cursor:pointer;margin-top:12px;font-family:inherit;}
.en-g12-result{font-size:.84rem;font-weight:800;margin-top:10px;padding:12px;border-radius:12px;}
.en-g12-result.is-ok{background:#DCFCE7;color:#15803D;}
.en-g12-result.is-bad{background:#FEE2E2;color:#B91C1C;}

.en-g12-speak-btn,.en-g12-speak-inline{padding:7px 14px;border-radius:999px;border:2px solid #F59E0B;background:#FFFBEB;font-size:.74rem;font-weight:800;cursor:pointer;font-family:inherit;}
.en-g12-speak-btn.is-speaking,.en-g12-tts-play.is-speaking{border-color:#EF4444;background:#FEE2E2;color:#B91C1C;}
.en-g12-role-line.is-active .en-g12-role-bubble{box-shadow:0 0 0 3px rgba(236,72,153,.35);}
.en-g12-readout,.en-g12-tap-prompt{font-size:.86rem;font-weight:700;padding:16px;background:#fff;border-radius:14px;border:2px solid #E2E8F0;margin-top:12px;line-height:1.75;}
.en-g12-marker-grid,.en-g12-flow-row,.en-g12-tap-opts{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;}
.en-g12-shift-step,.en-g12-era-tab,.en-g12-idiom-tab,.en-g12-climate-tab,.en-g12-weather-tab,.en-g12-modal-tab,.en-g12-sea-tab,.en-g12-reef-tab,.en-g12-whale-tab,.en-g12-ladder-tab,.en-g12-flow-btn,.en-g12-tap-opt{padding:10px 16px;border-radius:14px;border:2px solid #93C5FD;background:#fff;font-size:.8rem;font-weight:800;color:#1E40AF;cursor:pointer;font-family:inherit;}
.en-g12-shift-step.is-active,.en-g12-era-tab.is-active,.en-g12-idiom-tab.is-active,.en-g12-climate-tab.is-active,.en-g12-weather-tab.is-active,.en-g12-modal-tab.is-active,.en-g12-sea-tab.is-active,.en-g12-reef-tab.is-active,.en-g12-whale-tab.is-active,.en-g12-ladder-tab.is-active,.en-g12-flow-btn:hover{background:#2563EB;color:#fff;border-color:#1D4ED8;}
.en-g12-order-pool{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:linear-gradient(135deg,#F5F3FF,#EDE9FE);border:2px dashed #A78BFA;border-radius:14px;margin:12px 0;}
.en-g12-order-slot{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:12px;border:2px dashed #93C5FD;background:#F8FAFC;font-weight:900;font-size:1rem;color:#1D4ED8;vertical-align:middle;margin:0 4px;cursor:pointer;}
.en-g12-order-slot.is-filled{border-style:solid;background:#EFF6FF;}
.en-g12-order-slot.is-correct{border-color:#22C55E;background:#F0FDF4;color:#15803D;}
.en-g12-order-slot.is-wrong{border-color:#EF4444;background:#FEF2F2;color:#B91C1C;}
.en-g12-order-passage{font-size:.88rem;font-weight:600;line-height:2.1;color:#334155;padding:16px 18px;background:#fff;border:2px solid #E2E8F0;border-radius:16px;margin:12px 0;}
.en-g12-order-key{display:grid;gap:8px;margin:12px 0;}
.en-g12-order-key-item{padding:10px 14px;background:#F8FAFC;border-radius:12px;border:1px solid #E2E8F0;font-size:.78rem;font-weight:700;color:#475569;}
.en-g12-tap-opt.is-hit{background:#DCFCE7;border-color:#22C55E;}
.en-g12-tap-opt.is-miss{background:#FEE2E2;border-color:#FCA5A5;}
.en-g12-shift-bar-wrap{height:10px;background:#E2E8F0;border-radius:999px;margin:12px 0;overflow:hidden;}
.en-g12-shift-bar{height:100%;background:linear-gradient(90deg,#3B82F6,#22C55E);width:25%;transition:width .35s;}
.en-g12-blog-parts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:14px 0;}
.en-g12-blog-part-card{background:linear-gradient(145deg,#EFF6FF,#DBEAFE);border:2px solid #93C5FD;border-radius:18px;padding:16px 18px;}
.en-g12-blog-part-num{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#2563EB;color:#fff;font-weight:900;font-size:.85rem;margin-bottom:8px;}
.en-g12-blog-part-card h4{margin:0 0 8px;font-size:.9rem;color:#1E40AF;}
.en-g12-blog-part-ex{font-size:.78rem;color:#475569;line-height:1.6;margin:8px 0 0;}
.en-g12-blog-draft-title{font-size:.92rem;font-weight:800;color:#1E40AF;padding:12px;background:#EFF6FF;border-radius:12px;}
/* Ministry book header strip */
.en-g12-ministry-header{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 55%,#3B82F6 100%);border-radius:18px;padding:16px 18px;margin:12px 0;box-shadow:0 8px 24px rgba(37,99,235,.22);}
.en-g12-ministry-header .en-g12-ocr-block{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-left:3px solid #FBBF24;color:#F8FAFC;margin:8px 0 0;font-size:.82rem;font-weight:700;line-height:1.65;}
.en-g12-ministry-header .en-g12-ocr-block:first-child{margin-top:0;}

/* Ministry answer-key table */
.en-g12-ministry-ref{background:#fff;border:2px solid #E2E8F0;border-radius:18px;overflow:hidden;margin:16px 0;box-shadow:0 4px 16px rgba(15,23,42,.08);}
.en-g12-ministry-ref-head{padding:14px 18px;background:linear-gradient(90deg,#0369A1,#0EA5E9);color:#fff;font-size:.84rem;font-weight:900;}
.en-g12-ministry-ref-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 18px;border-bottom:1px solid #F1F5F9;align-items:start;}
.en-g12-ministry-ref-row:last-child{border-bottom:none;}
.en-g12-ministry-ref-row:nth-child(even){background:#F8FAFC;}
.en-g12-ministry-ref-text{font-size:.8rem;font-weight:600;color:#334155;line-height:1.65;}
.en-g12-ministry-ref-label{font-size:.7rem;font-weight:900;padding:6px 14px;border-radius:999px;white-space:nowrap;align-self:start;}
.en-g12-ministry-ref-label--title{background:#EDE9FE;color:#5B21B6;}
.en-g12-ministry-ref-label--intro{background:#DBEAFE;color:#1D4ED8;}
.en-g12-ministry-ref-label--body{background:#D1FAE5;color:#065F46;}
.en-g12-ministry-ref-label--conclusion{background:#FEF3C7;color:#92400E;}

/* Vocab A/B reference grid */
.en-g12-vocab-ref{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:12px 0;}
.en-g12-vocab-ref-item{padding:12px 14px;background:#F8FAFC;border:2px solid #E2E8F0;border-radius:14px;font-size:.78rem;font-weight:700;color:#475569;line-height:1.5;}
.en-g12-vocab-ref-item strong{color:#1E40AF;display:block;margin-bottom:4px;font-size:.8rem;}

/* OCR inside styled panels — not naked walls */
.en-g12-exercise-panel .en-g12-ocr-block--ministry,
.en-g12-reading-body .en-g12-ocr-block--ministry,
.en-g12-grammar-panel .en-g12-ocr-block--ministry{margin:0 0 14px;background:linear-gradient(135deg,#EFF6FF,#F8FAFC);border:1px solid #BFDBFE;border-left:4px solid #2563EB;border-radius:12px;padding:12px 14px;font-size:.82rem;}
.en-g12-discuss-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#FEF3C7,#FFFBEB);border:2px solid #FBBF24;border-radius:16px;margin:12px 0;}
.en-g12-discuss-banner-icon{font-size:1.6rem;}
.en-g12-discuss-banner-text{font-size:.86rem;font-weight:800;color:#92400E;line-height:1.5;}
.en-g12-blog-slots,.en-g12-blog-pool{display:flex;flex-direction:column;gap:10px;margin:12px 0;}
.en-g12-blog-chip,.en-g12-essay-chip{padding:10px;border-radius:12px;border:2px dashed #60A5FA;background:#fff;font-weight:800;cursor:grab;font-family:inherit;}
.en-g12-blog-slot{padding:14px;border-radius:14px;border:2px solid #CBD5E1;min-height:52px;}
.en-g12-blog-slot.is-correct{border-color:#22C55E;background:#F0FDF4;}
.en-g12-blog-num{display:inline-block;width:26px;height:26px;line-height:26px;text-align:center;border-radius:50%;background:#3B82F6;color:#fff;font-size:.72rem;margin-right:8px;}
.en-g12-chat{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin:12px 0;}
.en-g12-chat-bubble{padding:10px 14px;border-radius:16px;font-size:.82rem;font-weight:600;max-width:90%;}
.en-g12-chat-bubble--tech{background:#DBEAFE;align-self:flex-start;}
.en-g12-chat-bubble--user{background:#DCFCE7;align-self:flex-end;}
.en-g12-report-input,.en-g12-essay-area{width:100%;padding:12px;border-radius:12px;border:2px solid #CBD5E1;font-size:.86rem;font-family:inherit;}
.en-g12-essay-area{min-height:130px;}
.en-g12-era-slider{width:100%;margin:12px 0;}
.en-g12-win{color:#15803D;font-weight:900;margin-top:10px;}
.en-g12-ocr-block{padding:12px 14px;border-radius:12px;background:#F8FAFC;border-left:4px solid #94A3B8;font-size:.82rem;font-weight:600;line-height:1.7;color:#334155;margin:8px 0;}
.en-g12-ocr-block--ministry{border-left-color:#2563EB;background:linear-gradient(135deg,#EFF6FF,#F8FAFC);border:1px solid #BFDBFE;}
.en-g12-match-row .en-g12-match-word{font-weight:600;font-size:.78rem;color:#334155;line-height:1.55;}
.en-g12-match-row--para{grid-template-columns:1fr minmax(140px,22%);align-items:start;}
.en-g12-match-row--para .en-g12-match-word{padding:4px 0;}

/* Tips panel — English lesson */
.en-g12-tips-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:8px 0 4px;}
.en-g12-tip-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;border:2px solid;box-shadow:0 4px 16px rgba(15,23,42,.06);}
.en-g12-tip-card--red{background:linear-gradient(135deg,#FEF2F2,#FFF);border-color:#FCA5A5;}
.en-g12-tip-card--pink{background:linear-gradient(135deg,#FDF2F8,#FFF);border-color:#F9A8D4;}
.en-g12-tip-card--blue{background:linear-gradient(135deg,#EFF6FF,#FFF);border-color:#93C5FD;}
.en-g12-tip-card--green{background:linear-gradient(135deg,#ECFDF5,#FFF);border-color:#6EE7B7;}
.en-g12-tip-card--amber{background:linear-gradient(135deg,#FFFBEB,#FFF);border-color:#FCD34D;}
.en-g12-tip-icon{font-size:1.8rem;line-height:1;flex-shrink:0;}
.en-g12-tip-body h4{margin:0 0 6px;font-size:.88rem;font-weight:900;color:#1E293B;}
.en-g12-tip-body p{margin:0;font-size:.82rem;font-weight:600;line-height:1.65;color:#475569;}

/* Grammar reference cards */
.en-g12-grammar-panel{background:linear-gradient(135deg,#EFF6FF 0%,#F0F9FF 100%);border:2px solid #3B82F6;border-radius:18px;padding:18px;margin:14px 0;}
.en-g12-grammar-panel h4{margin:0 0 10px;font-size:.95rem;font-weight:900;color:#1E40AF;}
.en-g12-grammar-formula{display:inline-block;background:#fff;border:2px solid #93C5FD;border-radius:12px;padding:8px 14px;font-weight:800;font-size:.84rem;color:#1D4ED8;margin:6px 0;}
.en-g12-grammar-list{margin:10px 0 0;padding-left:18px;font-size:.82rem;font-weight:600;line-height:1.7;color:#334155;}
.en-g12-grammar-example{margin-top:10px;padding:10px 14px;background:#fff;border-radius:12px;border-left:4px solid #2563EB;font-size:.82rem;font-weight:600;font-style:italic;color:#475569;}

/* MCQ exercise rows */
.en-g12-mcq-list{display:flex;flex-direction:column;gap:14px;}
.en-g12-mcq-row{padding:14px;background:#F8FAFC;border:2px solid #E2E8F0;border-radius:16px;}
.en-g12-mcq-stem{margin:0 0 10px;font-size:.86rem;font-weight:700;color:#1E293B;line-height:1.55;}
.en-g12-mcq-opts{display:flex;flex-direction:column;gap:8px;}
.en-g12-mcq-btn{padding:10px 14px;border-radius:12px;border:2px solid #CBD5E1;background:#fff;font-size:.82rem;font-weight:700;text-align:left;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s;}
.en-g12-mcq-btn:hover{border-color:#93C5FD;background:#EFF6FF;}
.en-g12-mcq-btn.is-picked{border-color:#2563EB;background:#DBEAFE;}
.en-g12-mcq-btn.is-correct{border-color:#22C55E;background:#DCFCE7;}
.en-g12-mcq-btn.is-wrong{border-color:#EF4444;background:#FEE2E2;}

.guide-section{margin-bottom:8px;}
.guide-lesson-content--en .guide-section .en-g12-ltr{padding:4px 0 8px;}

.guide-hero--en-g12-l01{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 45%,#BAE6FD 100%);border-bottom-color:#0369A1;}
.guide-hero--en-g12-l02{background:linear-gradient(135deg,#7F1D1D 0%,#DC2626 45%,#FECACA 100%);border-bottom-color:#B91C1C;}
.guide-hero--en-g12-l03{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#BBF7D0 100%);border-bottom-color:#15803D;}
.guide-hero--en-g12-l04{background:linear-gradient(135deg,#312E81 0%,#6366F1 45%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g12-l05{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--en-g12-l06{background:linear-gradient(135deg,#78350F 0%,#D97706 45%,#FDE68A 100%);border-bottom-color:#B45309;}
.guide-hero--en-g12-l07{background:linear-gradient(135deg,#1E3A8A 0%,#3B82F6 45%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--en-g12-l08{background:linear-gradient(135deg,#134E4A 0%,#0D9488 45%,#99F6E4 100%);border-bottom-color:#0F766E;}
.guide-hero--en-g12-l09{background:linear-gradient(135deg,#44403C 0%,#78716C 45%,#E7E5E4 100%);border-bottom-color:#57534E;}
.guide-hero--en-g12-l10{background:linear-gradient(135deg,#4C1D95 0%,#7C3AED 45%,#DDD6FE 100%);border-bottom-color:#6D28D9;}
.guide-hero--en-g12-l11{background:linear-gradient(135deg,#064E3B 0%,#059669 45%,#A7F3D0 100%);border-bottom-color:#047857;}
.guide-hero--en-g12-l12{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 50%,#7DD3FC 100%);border-bottom-color:#0369A1;}
.guide-hero--en-g12-l13{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 50%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--en-g12-l14{background:linear-gradient(135deg,#0E7490 0%,#06B6D4 50%,#A5F3FC 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g12-l15{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 50%,#FED7AA 100%);border-bottom-color:#C2410C;}
.guide-hero--en-g12-l16{background:linear-gradient(135deg,#134E4A 0%,#14B8A6 50%,#99F6E4 100%);border-bottom-color:#0F766E;}
.guide-hero--en-g12-l17{background:linear-gradient(135deg,#1E1B4B 0%,#4338CA 50%,#C7D2FE 100%);border-bottom-color:#3730A3;}
.guide-hero--en-g12-l18{background:linear-gradient(135deg,#155E75 0%,#0891B2 50%,#A5F3FC 100%);border-bottom-color:#0E7490;}
.guide-hero--en-g12-l19{background:linear-gradient(135deg,#1E3A5F 0%,#1D4ED8 50%,#BFDBFE 100%);border-bottom-color:#1E40AF;}
.guide-hero--en-g12-l20{background:linear-gradient(135deg,#581C87 0%,#A855F7 50%,#E9D5FF 100%);border-bottom-color:#7E22CE;}
.guide-hero--en-g12-l21{background:linear-gradient(135deg,#713F12 0%,#CA8A04 50%,#FEF08A 100%);border-bottom-color:#A16207;}
.guide-hero--en-g12-l22{background:linear-gradient(135deg,#0F172A 0%,#334155 50%,#CBD5E1 100%);border-bottom-color:#1E293B;}
.guide-hero--en-g12-l23{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 50%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--en-g12-l24{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 50%,#FED7AA 100%);border-bottom-color:#C2410C;}
.guide-hero--en-g12-l25{background:linear-gradient(135deg,#312E81 0%,#6366F1 50%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g12-l26{background:linear-gradient(135deg,#BE123C 0%,#FB7185 50%,#FECDD3 100%);border-bottom-color:#E11D48;}
.guide-hero--en-g12-l27{background:linear-gradient(135deg,#065F46 0%,#10B981 50%,#A7F3D0 100%);border-bottom-color:#059669;}
.guide-hero--en-g12-l28{background:linear-gradient(135deg,#0E7490 0%,#06B6D4 50%,#A5F3FC 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g12-l29{background:linear-gradient(135deg,#92400E 0%,#F59E0B 50%,#FDE68A 100%);border-bottom-color:#D97706;}
.guide-hero--en-g12-l30{background:linear-gradient(135deg,#581C87 0%,#C026D3 50%,#F5D0FE 100%);border-bottom-color:#A21CAF;}
.guide-hero--en-g12-l31{background:linear-gradient(135deg,#0C4A6E 0%,#0EA5E9 50%,#BAE6FD 100%);border-bottom-color:#0284C7;}
.guide-hero--en-g12-l32{background:linear-gradient(135deg,#1E3A8A 0%,#3B82F6 50%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--en-g12-l33{background:linear-gradient(135deg,#7C2D12 0%,#F97316 50%,#FED7AA 100%);border-bottom-color:#EA580C;}
.guide-hero--en-g12-l34{background:linear-gradient(135deg,#BE123C 0%,#F43F5E 50%,#FECDD3 100%);border-bottom-color:#E11D48;}
.guide-hero--en-g12-l35{background:linear-gradient(135deg,#134E4A 0%,#14B8A6 50%,#99F6E4 100%);border-bottom-color:#0F766E;}
.guide-hero--en-g12-l36{background:linear-gradient(135deg,#78350F 0%,#D97706 50%,#FDE68A 100%);border-bottom-color:#B45309;}
.guide-hero--en-g12-l37{background:linear-gradient(135deg,#44403C 0%,#78716C 50%,#D6D3D1 100%);border-bottom-color:#57534E;}
.guide-hero--en-g12-l38{background:linear-gradient(135deg,#1E3A8A 0%,#6366F1 50%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g12-l39{background:linear-gradient(135deg,#991B1B 0%,#EF4444 50%,#FECACA 100%);border-bottom-color:#DC2626;}
.guide-hero--en-g12-l40{background:linear-gradient(135deg,#0E7490 0%,#22D3EE 50%,#CFFAFE 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g12-l41{background:linear-gradient(135deg,#09090B 0%,#312E81 50%,#6366F1 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g12-l42{background:linear-gradient(135deg,#134E4A 0%,#0D9488 50%,#5EEAD4 100%);border-bottom-color:#0F766E;}
.guide-hero--en-g12-l43{background:linear-gradient(135deg,#581C87 0%,#A855F7 50%,#E9D5FF 100%);border-bottom-color:#7E22CE;}
.guide-hero--en-g12-l44{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 50%,#BAE6FD 100%);border-bottom-color:#0369A1;}
.guide-hero--en-g12-l45{background:linear-gradient(135deg,#713F12 0%,#CA8A04 50%,#FEF08A 100%);border-bottom-color:#A16207;}
.guide-hero--en-g12-l46{background:linear-gradient(135deg,#831843 0%,#EC4899 50%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--en-g12-l47{background:linear-gradient(135deg,#14532D 0%,#22C55E 50%,#BBF7D0 100%);border-bottom-color:#15803D;}
.guide-hero--en-g12-l48{background:linear-gradient(135deg,#312E81 0%,#6366F1 50%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g12-l49{background:linear-gradient(135deg,#92400E 0%,#F59E0B 50%,#FDE68A 100%);border-bottom-color:#D97706;}
.guide-hero--en-g12-l50{background:linear-gradient(135deg,#164E63 0%,#06B6D4 50%,#A5F3FC 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g12-l51{background:linear-gradient(135deg,#4C1D95 0%,#8B5CF6 50%,#DDD6FE 100%);border-bottom-color:#6D28D9;}
.guide-hero--en-g12-l52{background:linear-gradient(135deg,#1C1917 0%,#57534E 50%,#D6D3D1 100%);border-bottom-color:#44403C;}
.guide-hero--en-g12-l53{background:linear-gradient(135deg,#0F766E 0%,#2DD4BF 50%,#CCFBF1 100%);border-bottom-color:#0D9488;}
.guide-hero--en-g12-l54{background:linear-gradient(135deg,#BE185D 0%,#F472B6 50%,#FCE7F3 100%);border-bottom-color:#DB2777;}
.guide-hero--en-g12-l55{background:linear-gradient(135deg,#854D0E 0%,#EAB308 50%,#FEF9C3 100%);border-bottom-color:#CA8A04;}
.guide-hero--en-g12-l56{background:linear-gradient(135deg,#1E40AF 0%,#3B82F6 50%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--en-g12-l57{background:linear-gradient(135deg,#7F1D1D 0%,#DC2626 50%,#FECACA 100%);border-bottom-color:#B91C1C;}
.guide-hero--en-g12-l58{background:linear-gradient(135deg,#065F46 0%,#10B981 50%,#A7F3D0 100%);border-bottom-color:#059669;}
.guide-hero--en-g12-l59{background:linear-gradient(135deg,#312E81 0%,#818CF8 50%,#E0E7FF 100%);border-bottom-color:#4338CA;}
.en-g12-compare-stem,.en-g12-tag-stem{font-weight:700;padding:12px;background:#F0FDF4;border-radius:12px;margin:10px 0;line-height:1.5;}
.en-g12-compare-opts,.en-g12-tag-opts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g12-poem-bank,.en-g12-bio-bank{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g12-relative-stem{font-weight:700;padding:12px;background:#EEF2FF;border-radius:12px;margin:10px 0;line-height:1.5;}
.en-g12-relative-opts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g12-hospitality-table{margin:12px 0;overflow-x:auto;}
.en-g12-diary-bank{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g12-voice-src{font-weight:700;font-size:.9rem;padding:12px;background:#EEF2FF;border-radius:12px;margin:10px 0;}
.en-g12-myth-stmt{font-weight:700;font-size:.88rem;padding:14px;background:#F0FDF4;border-radius:12px;margin:10px 0;line-height:1.5;}
.en-g12-myth-btns{display:flex;gap:10px;margin:10px 0;}
.en-g12-myth-btn{padding:10px 18px;border-radius:12px;border:2px solid #94A3B8;background:#fff;font-weight:800;cursor:pointer;font-family:inherit;}
.en-g12-myth-btn:hover{border-color:#10B981;background:#DCFCE7;}
.en-g12-gerund-stem{font-weight:700;padding:12px;background:#FAF5FF;border-radius:12px;margin:10px 0;}
.en-g12-gerund-opts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g12-mystery-pool,.en-g12-mystery-slots{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g12-mystery-slots{flex-direction:column;}
.en-g12-advice-chip{padding:10px 14px;border-radius:12px;border:2px solid #94A3B8;background:#fff;font-size:.8rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.en-g12-advice-chip:hover,.en-g12-advice-chip.is-active{border-color:#0EA5E9;background:#E0F2FE;color:#0369A1;}
.en-g12-expo-slots{display:flex;flex-direction:column;gap:8px;margin:12px 0;}
.en-g12-expo-pool{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g12-pp-pairs{margin:12px 0;display:flex;flex-direction:column;gap:8px;}
.en-g12-skill-chip{padding:10px 14px;border-radius:12px;border:2px solid #94A3B8;background:#fff;font-size:.8rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.en-g12-skill-chip:hover{border-color:#3B82F6;background:#EFF6FF;}
.en-g12-skill-chip.is-picked{border-color:#22C55E;background:#DCFCE7;color:#166534;}
.en-g12-skills-list{margin:12px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.en-g12-skills-list li{padding:12px 14px;border-radius:12px;background:#F8FAFC;border:2px solid #E2E8F0;font-size:.84rem;font-weight:600;line-height:1.5;}
.en-g12-skill-remove{margin-left:8px;border:none;background:#FEE2E2;color:#B91C1C;border-radius:6px;padding:2px 8px;cursor:pointer;font-weight:800;}
.en-g12-review-slots{display:flex;flex-direction:column;gap:8px;margin:12px 0;}
.en-g12-review-pool{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.guide-hero--en-g12-l01 .guide-hero-inner,.guide-hero--en-g12-l02 .guide-hero-inner,.guide-hero--en-g12-l03 .guide-hero-inner,
.guide-hero--en-g12-l04 .guide-hero-inner,.guide-hero--en-g12-l05 .guide-hero-inner,.guide-hero--en-g12-l06 .guide-hero-inner,
.guide-hero--en-g12-l07 .guide-hero-inner,.guide-hero--en-g12-l08 .guide-hero-inner,.guide-hero--en-g12-l09 .guide-hero-inner,
.guide-hero--en-g12-l10 .guide-hero-inner,.guide-hero--en-g12-l11 .guide-hero-inner,.guide-hero--en-g12-l12 .guide-hero-inner,
.guide-hero--en-g12-l13 .guide-hero-inner,.guide-hero--en-g12-l14 .guide-hero-inner,.guide-hero--en-g12-l15 .guide-hero-inner,
.guide-hero--en-g12-l16 .guide-hero-inner,.guide-hero--en-g12-l17 .guide-hero-inner,.guide-hero--en-g12-l18 .guide-hero-inner,
.guide-hero--en-g12-l19 .guide-hero-inner,.guide-hero--en-g12-l20 .guide-hero-inner,.guide-hero--en-g12-l21 .guide-hero-inner,
.guide-hero--en-g12-l22 .guide-hero-inner,.guide-hero--en-g12-l23 .guide-hero-inner,.guide-hero--en-g12-l24 .guide-hero-inner,
.guide-hero--en-g12-l25 .guide-hero-inner,.guide-hero--en-g12-l26 .guide-hero-inner,.guide-hero--en-g12-l27 .guide-hero-inner,
.guide-hero--en-g12-l28 .guide-hero-inner,.guide-hero--en-g12-l29 .guide-hero-inner,.guide-hero--en-g12-l30 .guide-hero-inner,
.guide-hero--en-g12-l31 .guide-hero-inner,.guide-hero--en-g12-l32 .guide-hero-inner,.guide-hero--en-g12-l33 .guide-hero-inner,
.guide-hero--en-g12-l34 .guide-hero-inner,.guide-hero--en-g12-l35 .guide-hero-inner,
.guide-hero--en-g12-l36 .guide-hero-inner,.guide-hero--en-g12-l37 .guide-hero-inner,.guide-hero--en-g12-l38 .guide-hero-inner,
.guide-hero--en-g12-l39 .guide-hero-inner,.guide-hero--en-g12-l40 .guide-hero-inner,.guide-hero--en-g12-l41 .guide-hero-inner,
.guide-hero--en-g12-l42 .guide-hero-inner,.guide-hero--en-g12-l43 .guide-hero-inner,.guide-hero--en-g12-l44 .guide-hero-inner,
.guide-hero--en-g12-l59 .guide-hero-inner{direction:ltr;text-align:left;}
/* G11 English L1 heroes L01–L10 */
.guide-hero--en-g11-l01{background:linear-gradient(135deg,#14532D 0%,#CA8A04 45%,#FEF08A 100%);border-bottom-color:#15803D;}
.guide-hero--en-g11-l02{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 50%,#BAE6FD 100%);border-bottom-color:#0369A1;}
.guide-hero--en-g11-l03{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 50%,#FED7AA 100%);border-bottom-color:#C2410C;}
.guide-hero--en-g11-l04{background:linear-gradient(135deg,#166534 0%,#22C55E 50%,#BBF7D0 100%);border-bottom-color:#15803D;}
.guide-hero--en-g11-l05{background:linear-gradient(135deg,#312E81 0%,#6366F1 50%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g11-l06{background:linear-gradient(135deg,#78350F 0%,#F59E0B 50%,#FDE68A 100%);border-bottom-color:#D97706;}
.guide-hero--en-g11-l07{background:linear-gradient(135deg,#BE123C 0%,#FB7185 50%,#FECDD3 100%);border-bottom-color:#E11D48;}
.guide-hero--en-g11-l08{background:linear-gradient(135deg,#134E4A 0%,#14B8A6 50%,#99F6E4 100%);border-bottom-color:#0F766E;}
.guide-hero--en-g11-l09{background:linear-gradient(135deg,#854D0E 0%,#A16207 50%,#FEF3C7 100%);border-bottom-color:#92400E;}
.guide-hero--en-g11-l10{background:linear-gradient(135deg,#1E3A8A 0%,#3B82F6 50%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--en-g11-l11{background:linear-gradient(135deg,#064E3B 0%,#10B981 50%,#A7F3D0 100%);border-bottom-color:#059669;}
.guide-hero--en-g11-l12{background:linear-gradient(135deg,#881337 0%,#F43F5E 50%,#FECDD3 100%);border-bottom-color:#E11D48;}
.guide-hero--en-g11-l13{background:linear-gradient(135deg,#1E3A8A 0%,#6366F1 50%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--en-g11-l14{background:linear-gradient(135deg,#0C4A6E 0%,#0EA5E9 50%,#BAE6FD 100%);border-bottom-color:#0284C7;}
.guide-hero--en-g11-l15{background:linear-gradient(135deg,#7F1D1D 0%,#EF4444 50%,#FECACA 100%);border-bottom-color:#DC2626;}
.guide-hero--en-g11-l16{background:linear-gradient(135deg,#365314 0%,#84CC16 50%,#D9F99D 100%);border-bottom-color:#65A30D;}
.guide-hero--en-g11-l17{background:linear-gradient(135deg,#374151 0%,#6B7280 50%,#E5E7EB 100%);border-bottom-color:#4B5563;}
.guide-hero--en-g11-l18{background:linear-gradient(135deg,#7C2D12 0%,#F97316 50%,#FED7AA 100%);border-bottom-color:#EA580C;}
.guide-hero--en-g11-l19{background:linear-gradient(135deg,#581C87 0%,#A855F7 50%,#E9D5FF 100%);border-bottom-color:#9333EA;}
.guide-hero--en-g11-l20{background:linear-gradient(135deg,#155E75 0%,#06B6D4 50%,#A5F3FC 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g11-l21{background:linear-gradient(135deg,#4C1D95 0%,#8B5CF6 50%,#DDD6FE 100%);border-bottom-color:#7C3AED;}
.guide-hero--en-g11-l22{background:linear-gradient(135deg,#92400E 0%,#D97706 50%,#FDE68A 100%);border-bottom-color:#B45309;}
.guide-hero--en-g11-l23{background:linear-gradient(135deg,#0E7490 0%,#22D3EE 50%,#CFFAFE 100%);border-bottom-color:#0891B2;}
.guide-hero--en-g11-l24{background:linear-gradient(135deg,#312E81 0%,#6366F1 50%,#E0E7FF 100%);border-bottom-color:#4F46E5;}
.guide-hero--en-g11-l25{background:linear-gradient(135deg,#14532D 0%,#22C55E 50%,#BBF7D0 100%);border-bottom-color:#16A34A;}
.guide-hero--en-g11-l26{background:linear-gradient(135deg,#9D174D 0%,#EC4899 50%,#FBCFE8 100%);border-bottom-color:#DB2777;}
.en-g11-career-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g11-career-tab{padding:10px 14px;border-radius:14px;border:2px solid #67E8F9;background:#ECFEFF;font-weight:800;cursor:pointer;transition:all .2s;}
.en-g11-career-tab.is-active{border-color:#0891B2;background:#CFFAFE;box-shadow:0 4px 14px rgba(8,145,178,.25);}
.en-g11-career-pool{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g11-career-score,.en-g11-balance-streak{font-weight:900;font-size:.85rem;color:#0891B2;margin:8px 0;}
.en-g11-clause-stem,.en-g11-balance-card{font-weight:700;padding:14px;background:linear-gradient(135deg,#EEF2FF,#E0E7FF);border-radius:14px;margin:10px 0;border:2px solid #818CF8;line-height:1.55;}
.en-g11-clause-opts,.en-g11-balance-bins{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g11-clause-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:800;margin:6px 0;}
.en-g11-clause-badge.is-core{background:#DCFCE7;color:#166534;}
.en-g11-clause-badge.is-extra{background:#FEF3C7;color:#92400E;}
.en-g11-clause-ring{font-size:.78rem;font-weight:800;color:#4F46E5;}
.en-g11-balance-card{min-height:64px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;background:linear-gradient(135deg,#F0FDF4,#DCFCE7);border-color:#4ADE80;}
.en-g11-balance-hard,.en-g11-balance-soft{flex:1;min-width:120px;padding:14px;border-radius:14px;border:3px solid;font-weight:900;cursor:pointer;transition:transform .15s;}
.en-g11-balance-hard{background:#EFF6FF;border-color:#3B82F6;color:#1D4ED8;}
.en-g11-balance-soft{background:#FFF7ED;border-color:#F97316;color:#C2410C;}
.en-g11-balance-hard:active,.en-g11-balance-soft:active{transform:scale(.96);}
.en-g11-sense-bank{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g12-essay-chip.is-on{background:#0891B2;color:#fff;border-color:#0E7490;}
.en-g11-advadj-src{font-weight:700;padding:14px;background:linear-gradient(135deg,#EEF2FF,#E0E7FF);border-radius:14px;margin:10px 0;border:2px solid #818CF8;}
.en-g11-super-stem,.en-g11-tag-stem{font-weight:700;padding:14px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border-radius:14px;margin:10px 0;border:2px solid #34D399;}
.en-g11-super-opts,.en-g11-tag-opts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g11-report-bank,.en-g11-opinion-bank,.en-g11-debate-bank{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g11-timeline{display:flex;flex-direction:column;gap:0;margin:12px 0;border-left:4px solid #CA8A04;padding-left:16px;}
.en-g11-timeline-step{padding:12px 14px;margin:4px 0;border-radius:14px;background:#FFFBEB;border:2px solid #FDE68A;cursor:pointer;transition:all .2s;}
.en-g11-timeline-step.is-active{border-color:#CA8A04;background:#FEF3C7;box-shadow:0 4px 16px rgba(202,138,4,.25);}
.en-g11-timeline-y{font-size:.72rem;font-weight:900;color:#92400E;display:block;margin-bottom:4px;}
.en-g11-timeline-step p{font-size:.8rem;margin:4px 0 0;color:#57534E;line-height:1.45;}
.en-g11-pitch-pool,.en-g11-pitch-slots{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g11-pitch-slots{flex-direction:column;}
.en-g11-pitch-slot{min-height:52px;background:linear-gradient(145deg,#FDF4FF,#FAE8FF)!important;border-color:#C026D3!important;}
.en-g11-pp-stem{font-weight:700;padding:14px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border-radius:14px;margin:10px 0;line-height:1.55;border:2px solid #34D399;}
.en-g11-pp-opts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.en-g11-phrase-bank,.en-g11-essay-bank,.en-g11-email-bank{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.en-g11-voice-src{font-weight:700;font-size:.9rem;padding:14px;background:linear-gradient(135deg,#FFF7ED,#FFEDD5);border-radius:14px;margin:10px 0;border:2px solid #FB923C;}
.en-g11-marker-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.guide-hero--en-g12-l45 .guide-hero-inner,.guide-hero--en-g12-l46 .guide-hero-inner,.guide-hero--en-g12-l47 .guide-hero-inner,.guide-hero--en-g12-l48 .guide-hero-inner,.guide-hero--en-g12-l49 .guide-hero-inner,.guide-hero--en-g12-l50 .guide-hero-inner,.guide-hero--en-g12-l51 .guide-hero-inner,.guide-hero--en-g12-l52 .guide-hero-inner,.guide-hero--en-g12-l53 .guide-hero-inner,.guide-hero--en-g12-l54 .guide-hero-inner,.guide-hero--en-g12-l55 .guide-hero-inner,.guide-hero--en-g12-l56 .guide-hero-inner,.guide-hero--en-g12-l57 .guide-hero-inner,.guide-hero--en-g12-l58 .guide-hero-inner,.guide-hero--en-g12-l59 .guide-hero-inner,.guide-hero--en-g11-l01 .guide-hero-inner,.guide-hero--en-g11-l02 .guide-hero-inner,.guide-hero--en-g11-l03 .guide-hero-inner,.guide-hero--en-g11-l04 .guide-hero-inner,.guide-hero--en-g11-l05 .guide-hero-inner,.guide-hero--en-g11-l06 .guide-hero-inner,.guide-hero--en-g11-l07 .guide-hero-inner,.guide-hero--en-g11-l08 .guide-hero-inner,.guide-hero--en-g11-l09 .guide-hero-inner,.guide-hero--en-g11-l10 .guide-hero-inner,.guide-hero--en-g11-l11 .guide-hero-inner,.guide-hero--en-g11-l12 .guide-hero-inner,.guide-hero--en-g11-l13 .guide-hero-inner,.guide-hero--en-g11-l14 .guide-hero-inner,.guide-hero--en-g11-l15 .guide-hero-inner,.guide-hero--en-g11-l16 .guide-hero-inner,.guide-hero--en-g11-l17 .guide-hero-inner,.guide-hero--en-g11-l18 .guide-hero-inner,.guide-hero--en-g11-l19 .guide-hero-inner,.guide-hero--en-g11-l20 .guide-hero-inner,.guide-hero--en-g11-l21 .guide-hero-inner,.guide-hero--en-g11-l22 .guide-hero-inner,.guide-hero--en-g11-l23 .guide-hero-inner,.guide-hero--en-g11-l24 .guide-hero-inner,.guide-hero--en-g11-l25 .guide-hero-inner,.guide-hero--en-g11-l26 .guide-hero-inner{direction:ltr;text-align:left;}
.en-g12-skills-pool{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.en-g12-advice-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}

/* Beat sitewide Inter override — English L1 uses Alexandria (rounded, same as Arabic UI) */
html body .cv-viewport .cv-content-html.cv-guidebook-page--en,
html body .cv-viewport .cv-content-html.cv-guidebook-page--en *:not(.katex):not(.katex *):not(.guide-section--ar):not(.guide-section--ar *):not(.info-card.green):not(.info-card.green *):not(.guide-obj-list):not(.guide-obj-list *):not(.ph-g12-bridge-card):not(.ph-g12-bridge-card *),
html body .cv-viewport .cv-content-html.cv-guidebook-page--en input,
html body .cv-viewport .cv-content-html.cv-guidebook-page--en textarea,
html body .cv-viewport .cv-content-html.cv-guidebook-page--en select,
html body .cv-viewport .cv-content-html.cv-guidebook-page--en button{
  font-family:'Alexandria',system-ui,sans-serif !important;
  letter-spacing:-0.01em;
}



/* === WIDGET FILE: guide-french-story-widgets.blade.php === */
@include('tools.curriculum.guides.partials.guide-french-widgets')

/* ══ French Story G11 — La Tulipe Noire · rich visual reading ══ */
.cv-guidebook-page--fr-story .guide-wrap{max-width:860px;}
.guide-lesson-content--fr-story .guide-hero-inner{direction:ltr;text-align:left;color:#fff;}
.guide-hero--fr-story-l01,.guide-hero--fr-story-l02,.guide-hero--fr-story-l03,
.guide-hero--fr-story-l04,.guide-hero--fr-story-l05,.guide-hero--fr-story-l06{color:#fff;}
.guide-hero--fr-story-l01{background:linear-gradient(135deg,#1c1917 0%,#78716c 40%,#b45309 100%);border-bottom-color:#92400e;}
.guide-hero--fr-story-l02{background:linear-gradient(135deg,#450a0a 0%,#7f1d1d 55%,#1c1917 100%);border-bottom-color:#991b1b;}
.guide-hero--fr-story-l03{background:linear-gradient(135deg,#134e4a 0%,#0f766e 50%,#115e59 100%);border-bottom-color:#0d9488;}
.guide-hero--fr-story-l04{background:linear-gradient(135deg,#312e81 0%,#6d28d9 55%,#1e1b4b 100%);border-bottom-color:#7c3aed;}
.guide-hero--fr-story-l05{background:linear-gradient(135deg,#14532d 0%,#166534 50%,#052e16 100%);border-bottom-color:#15803d;}
.guide-hero--fr-story-l06{background:linear-gradient(135deg,#831843 0%,#be185d 50%,#500724 100%);border-bottom-color:#db2777;}
.guide-hero--fr-story-l01 .hero-title,.guide-hero--fr-story-l02 .hero-title,.guide-hero--fr-story-l03 .hero-title,
.guide-hero--fr-story-l04 .hero-title,.guide-hero--fr-story-l05 .hero-title,.guide-hero--fr-story-l06 .hero-title{color:#fff;}

/* Intro profile cards (ch1) */
.fr-story-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.fr-story-profile-card{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #d97706;border-radius:16px;box-shadow:4px 4px 0 #92400e33;}
.fr-story-profile-icon{font-size:2rem;flex-shrink:0;}
.fr-story-profile-title{font-size:.85rem;font-weight:900;color:#92400e;margin-bottom:6px;}
.fr-story-profile-body p{margin:0 0 10px;font-size:.88rem;line-height:1.65;color:#292524;}

/* Characters */
.fr-story-char-grid{display:flex;flex-wrap:wrap;gap:10px;}
.fr-story-char-card{display:flex;flex-direction:column;padding:12px 16px;background:#fff;border:2px solid #d6d3d1;border-radius:14px;min-width:140px;box-shadow:3px 3px 0 #0000000d;}
.fr-story-char-card--hero{border-color:#b45309;background:linear-gradient(135deg,#fffbeb,#fef3c7);}
.fr-story-char-card--villain{border-color:#991b1b;background:linear-gradient(135deg,#fef2f2,#fee2e2);}
.fr-story-char-name{font-weight:900;font-size:.88rem;color:#1c1917;}
.fr-story-char-role{font-size:.75rem;color:#78716c;margin-top:4px;}

/* Book themes per chapter */
.fr-story-book-wrap{border-radius:6px 20px 20px 6px;padding:20px;margin:12px 0;position:relative;box-shadow:10px 10px 0 #00000012;}
.fr-story-theme-l01{background:linear-gradient(180deg,#fefce8,#fff7ed);border:3px solid #92400e;}
.fr-story-theme-l02{background:linear-gradient(180deg,#fef2f2,#fff1f2);border:3px solid #991b1b;}
.fr-story-theme-l03{background:linear-gradient(180deg,#ecfdf5,#f0fdfa);border:3px solid #0d9488;}
.fr-story-theme-l04{background:linear-gradient(180deg,#f5f3ff,#ede9fe);border:3px solid #7c3aed;}
.fr-story-theme-l05{background:linear-gradient(180deg,#f0fdf4,#ecfccb);border:3px solid #15803d;}
.fr-story-theme-l06{background:linear-gradient(180deg,#fdf2f8,#fce7f3);border:3px solid #db2777;}

/* Scenes */
.fr-story-scene{margin:20px 0;border-radius:16px;overflow:hidden;border:2px solid #00000010;background:#ffffffcc;}
.fr-story-scene-head{display:flex;align-items:center;gap:12px;padding:12px 16px;font-weight:900;}
.fr-story-theme-l01 .fr-story-scene-head{background:linear-gradient(90deg,#92400e,#b45309);color:#fef3c7;}
.fr-story-theme-l02 .fr-story-scene-head{background:linear-gradient(90deg,#991b1b,#dc2626);color:#fff;}
.fr-story-theme-l03 .fr-story-scene-head{background:linear-gradient(90deg,#0f766e,#14b8a6);color:#fff;}
.fr-story-theme-l04 .fr-story-scene-head{background:linear-gradient(90deg,#6d28d9,#8b5cf6);color:#fff;}
.fr-story-theme-l05 .fr-story-scene-head{background:linear-gradient(90deg,#15803d,#22c55e);color:#fff;}
.fr-story-theme-l06 .fr-story-scene-head{background:linear-gradient(90deg,#be185d,#ec4899);color:#fff;}
.fr-story-scene-num{background:rgba(255,255,255,.25);padding:4px 10px;border-radius:999px;font-size:.72rem;}
.fr-story-scene-title{font-size:.82rem;opacity:.95;flex:1;line-height:1.3;}
.fr-story-scene-body{padding:14px 16px 18px;}

/* Narration cards */
.fr-story-narration-card{position:relative;padding:16px 48px 16px 16px;margin:10px 0;background:#fff;border-left:5px solid #78716c;border-radius:0 12px 12px 0;box-shadow:0 2px 8px #0000000a;}
.fr-story-narration-label{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#78716c;margin-bottom:8px;}
.fr-story-narration-card p{margin:0;line-height:1.8;font-size:.94rem;color:#1c1917;}

/* Dialogue stage */
.fr-story-dialogue-stage{margin:12px 0;padding:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #94a3b8;border-radius:16px;}
.fr-story-dialogue-label{font-size:.68rem;font-weight:900;color:#475569;margin-bottom:10px;text-transform:uppercase;}
.fr-story-dialogue-line{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:10px 0;padding:12px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;}
.fr-story-speaker{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:900;background:#e2e8f0;color:#334155;}
.fr-story-speaker--known{background:#dbeafe;color:#1d4ed8;}
.fr-story-quote{flex:1;margin:0;font-style:italic;line-height:1.65;color:#1e293b;border-left:3px solid #cbd5e1;padding-left:12px;}

/* Letter */
.fr-story-letter-card{margin:14px 0;padding:20px;background:linear-gradient(135deg,#fffbeb,#fef9c3);border:2px dashed #ca8a04;border-radius:4px;position:relative;}
.fr-story-letter-seal{position:absolute;top:-12px;right:16px;font-size:1.5rem;}
.fr-story-letter-label{font-size:.72rem;font-weight:900;color:#a16207;text-transform:uppercase;margin-bottom:10px;}
.fr-story-letter-body p{margin:0 0 6px;line-height:1.7;font-family:Georgia,serif;}
.fr-story-signature{text-align:right;font-weight:900;font-style:italic;color:#92400e;margin:8px 16px 12px;}

/* Vocab strip */
.fr-story-vocab-strip{margin:10px 0;padding:12px;background:#eff6ff;border-radius:12px;border:1px solid #93c5fd;}
.fr-story-vocab-label{font-size:.68rem;font-weight:900;color:#1d4ed8;margin-bottom:8px;}
.fr-story-vocab-chips{display:flex;flex-wrap:wrap;gap:8px;}
.fr-story-vocab-chip{padding:6px 12px;background:#fff;border-radius:999px;font-size:.78rem;border:1px solid #bfdbfe;}

/* Speak buttons */
.fr-story-speak,.fr-story-para-speak{position:absolute;top:12px;right:12px;border:none;background:#fef3c7;border:2px solid #f59e0b;border-radius:10px;padding:6px 10px;cursor:pointer;font-size:1rem;transition:transform .15s;}
.fr-story-speak:hover,.fr-story-para-speak:hover{transform:scale(1.08);}
.fr-story-speak.is-speaking,.fr-story-para-speak.is-speaking{background:#fecaca;border-color:#ef4444;}
.fr-story-profile-card .fr-story-speak{position:static;margin-top:8px;}

/* Ch2+ unique elements */
.fr-story-recap-strip{display:flex;flex-direction:column;gap:10px;padding:16px;background:linear-gradient(135deg,#fef2f2,#fff7ed);border:2px solid #dc2626;border-radius:16px;}
.fr-story-recap-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:#fff;border-radius:12px;border:1px solid #fecaca;}
.fr-story-recap-item span{font-size:1.4rem;flex-shrink:0;}
.fr-story-recap-item p{margin:0;font-size:.88rem;line-height:1.6;color:#431407;}
.fr-story-quote-card{margin:12px 0;padding:18px 20px;background:linear-gradient(135deg,#1c1917,#44403c);color:#fef3c7;border-radius:16px;border-left:6px solid #dc2626;position:relative;padding-right:52px;}
.fr-story-quote-card-label{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:10px;}
.fr-story-quote-card blockquote{margin:0;font-style:italic;line-height:1.75;font-size:.95rem;}
.fr-story-narration-card,.fr-story-dialogue-line,.fr-story-letter-card,.fr-story-quote-card,.fr-story-guichet-card{position:relative;padding-right:52px;}
.fr-story-guichet-card{margin:14px 0;padding:20px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:3px solid #0d9488;border-radius:20px 20px 4px 20px;}
.fr-story-guichet-label{font-size:.72rem;font-weight:900;color:#0f766e;text-transform:uppercase;margin-bottom:10px;}
.fr-story-guichet-card::after{content:'🪟';position:absolute;top:-10px;right:16px;font-size:1.3rem;}
.fr-story-love-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.fr-story-love-chip{padding:8px 14px;background:#fff;border:2px solid #f472b6;border-radius:999px;font-size:.8rem;font-weight:800;color:#be185d;}

/* Scene map (replaces broken mermaid) */
.fr-story-scene-map{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;border:2px solid #cbd5e1;}
.fr-story-map-node{flex:1;min-width:120px;max-width:180px;padding:14px 12px;background:#fff;border-radius:14px;border:2px solid #94a3b8;text-align:center;}
.fr-story-map-node--l01{border-color:#b45309;}.fr-story-map-node--l02{border-color:#dc2626;}
.fr-story-map-node--l03{border-color:#14b8a6;}.fr-story-map-node--l04{border-color:#8b5cf6;}
.fr-story-map-node--l05{border-color:#22c55e;}.fr-story-map-node--l06{border-color:#ec4899;}
.fr-story-map-icon{font-size:1.4rem;display:block;margin-bottom:4px;}
.fr-story-map-num{font-size:.68rem;font-weight:900;color:#64748b;}
.fr-story-map-node p{margin:6px 0 0;font-size:.72rem;line-height:1.35;color:#334155;}
.fr-story-map-arrow{align-self:center;font-size:1.2rem;color:#94a3b8;font-weight:900;}

/* Exam panels */
.fr-story-exam-panel{display:flex;flex-direction:column;gap:12px;}
.fr-story-exam-num{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;background:#1e293b;color:#fff;border-radius:8px;font-size:.75rem;font-weight:900;margin-bottom:8px;}
.fr-story-vf-card{padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:14px;}
.fr-story-vf-stmt{margin:0 0 12px;font-weight:700;line-height:1.6;}
.fr-story-vf-btns{display:flex;gap:10px;}
.fr-story-vf-btn{flex:1;padding:10px;border:2px solid #cbd5e1;border-radius:10px;font-weight:900;cursor:pointer;background:#f8fafc;}
.fr-story-vf-btn.is-ok{background:#dcfce7;border-color:#22c55e;color:#166534;}
.fr-story-vf-btn.is-bad{background:#fee2e2;border-color:#ef4444;color:#991b1b;}
.fr-story-vf-result{font-size:.82rem;font-weight:800;margin-top:8px;}
.fr-story-qp-row{padding:16px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fb923c;border-radius:14px;}
.fr-story-qp-quote{margin:0 0 10px;font-style:italic;line-height:1.6;color:#431407;}
.fr-story-qp-select{width:100%;padding:10px;border:2px solid #fdba74;border-radius:10px;font-weight:700;}
.fr-story-qp-result{font-size:.82rem;font-weight:800;margin-top:8px;}
.fr-story-open-card,.fr-story-q-special{padding:16px;background:linear-gradient(135deg,#eff6ff,#fef3c7);border:2px solid #2563eb;border-radius:16px;margin:12px 0;}
.fr-story-theme-panel{padding:18px;background:linear-gradient(135deg,#faf5ff,#ede9fe);border:2px solid #a855f7;border-radius:16px;}
.fr-story-theme-q{font-weight:900;font-size:1rem;margin:0 0 12px;color:#581c87;}
.fr-story-theme-hints{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.fr-story-theme-chip{padding:6px 12px;background:#fff;border:2px solid #c084fc;border-radius:999px;font-size:.78rem;font-weight:800;color:#7e22ce;}

/* Labs */
.fr-story-lab{background:linear-gradient(135deg,#fef3c7 0%,#fce7f3 50%,#dbeafe 100%);border:2px solid #92400e;border-radius:20px;padding:18px;margin:16px 0;}
.fr-story-lab-title{font-size:.92rem;font-weight:900;color:#78350f;margin-bottom:12px;}
.fr-story-tl-row{display:flex;align-items:center;gap:10px;padding:8px;background:#fff;border-radius:10px;margin:6px 0;border:1px solid #e5e7eb;}
.fr-story-tl-text{flex:1;font-size:.88rem;}
.fr-story-end-bins{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;}
.fr-story-end-bin{min-width:140px;min-height:70px;border:2px dashed #94a3b8;border-radius:12px;padding:8px;background:#f8fafc;}
.fr-story-end-bin-title{font-size:.72rem;font-weight:900;color:#64748b;margin-bottom:4px;}

@media(max-width:640px){
  .fr-story-scene-map{flex-direction:column;}
  .fr-story-map-arrow{transform:rotate(90deg);align-self:center;}
  .fr-story-map-node{max-width:none;}
}



/* === WIDGET FILE: guide-french-widgets.blade.php === */
@include('tools.curriculum.guides.partials.guide-english-widgets')

/* ══ French L1 G11 — LTR French content + RTL Arabic UI blocks ══ */
.cv-viewport .cv-content-html.cv-guidebook-page--fr,
.cv-viewport .cv-content-html.cv-guidebook-page--fr *:not(.katex):not(.katex *):not(.guide-section--ar):not(.guide-section--ar *):not(.info-card.green):not(.info-card.green *):not(.guide-obj-list):not(.guide-obj-list *):not(.ph-g12-bridge-card):not(.ph-g12-bridge-card *){
  font-family:'Alexandria','Inter',system-ui,sans-serif !important;
  letter-spacing:-0.01em;
}
.cv-guidebook-page--fr{
  direction:ltr !important;
  text-align:left !important;
  font-family:'Alexandria','Inter',system-ui,sans-serif !important;
}
.cv-guidebook-page--fr .guide-wrap{direction:ltr !important;text-align:left !important;max-width:760px;}
.cv-guidebook-page--fr input,.cv-guidebook-page--fr textarea,.cv-guidebook-page--fr select,.cv-guidebook-page--fr button{font-family:inherit !important;}
.cv-viewport .cv-content-html.cv-guidebook-page--fr .guide-section--ar,
.cv-viewport .cv-content-html.cv-guidebook-page--fr .guide-section--ar *:not(.katex):not(.katex *),
.cv-viewport .cv-content-html.cv-guidebook-page--fr .info-card.green,
.cv-viewport .cv-content-html.cv-guidebook-page--fr .info-card.green *,
.cv-viewport .cv-content-html.cv-guidebook-page--fr .ph-g12-bridge-card,
.cv-viewport .cv-content-html.cv-guidebook-page--fr .ph-g12-bridge-card *{
  font-family:'Alexandria','Inter',sans-serif !important;
  direction:rtl;text-align:right;
}
.cv-guidebook-page--fr .section-heading{direction:ltr;flex-direction:row;justify-content:flex-start;text-align:left;}
.cv-guidebook-page--fr .section-title{direction:ltr;text-align:left;}
.cv-guidebook-page--fr .guide-section--ar .section-heading,.cv-guidebook-page--fr .section-heading--ar{direction:rtl;flex-direction:row-reverse;text-align:right;}
.cv-guidebook-page--fr .guide-section--ar .section-title,.cv-guidebook-page--fr .section-title--ar{direction:rtl;text-align:right;}

.fr-lab{background:linear-gradient(135deg,#EFF6FF 0%,#FEE2E2 50%,#DBEAFE 100%);border:2px solid #1D4ED8;border-radius:20px;padding:18px;margin:16px 0;}
.fr-lab-title{font-size:.92rem;font-weight:900;color:#1E3A8A;margin-bottom:12px;line-height:1.5;}
.fr-g11-score{font-size:.82rem;font-weight:900;color:#1D4ED8;margin:8px 0;}
.fr-g11-bin{display:min-height:80px;border:2px dashed #94A3B8;border-radius:14px;padding:12px;margin:8px 0;background:#F8FAFC;}
.fr-g11-bin.is-over{border-color:#3B82F6;background:#EFF6FF;}
.fr-g11-bin-title{font-size:.78rem;font-weight:900;color:#475569;margin-bottom:6px;}

.guide-lesson-content--fr .guide-hero-inner{direction:ltr;text-align:left;}
.guide-hero--fr-g11-l01{background:linear-gradient(135deg,#1E3A8A 0%,#fff 45%,#DC2626 100%);border-bottom-color:#1D4ED8;}
.guide-hero--fr-g11-l02{background:linear-gradient(135deg,#0F766E 0%,#5EEAD4 50%,#134E4A 100%);border-bottom-color:#0D9488;}
.guide-hero--fr-g11-l03{background:linear-gradient(135deg,#7F1D1D 0%,#FCA5A5 50%,#991B1B 100%);border-bottom-color:#DC2626;}
.guide-hero--fr-g11-l04{background:linear-gradient(135deg,#581C87 0%,#E9D5FF 50%,#6B21A8 100%);border-bottom-color:#7C3AED;}
.guide-hero--fr-g11-l05{background:linear-gradient(135deg,#1E40AF 0%,#BFDBFE 50%,#1D4ED8 100%);border-bottom-color:#2563EB;}
.guide-hero--fr-g11-l06{background:linear-gradient(135deg,#0369A1 0%,#7DD3FC 50%,#0EA5E9 100%);border-bottom-color:#0284C7;}
.guide-hero--fr-g11-l07{background:linear-gradient(135deg,#854D0E 0%,#FDE68A 50%,#B45309 100%);border-bottom-color:#D97706;}
.guide-hero--fr-g11-l08{background:linear-gradient(135deg,#BE185D 0%,#FBCFE8 50%,#DB2777 100%);border-bottom-color:#EC4899;}
.guide-hero--fr-g11-l09{background:linear-gradient(135deg,#B45309 0%,#FEF3C7 50%,#D97706 100%);border-bottom-color:#F59E0B;}
.guide-hero--fr-g11-l10{background:linear-gradient(135deg,#4338CA 0%,#C7D2FE 50%,#6366F1 100%);border-bottom-color:#4F46E5;}
.guide-hero--fr-g11-l11{background:linear-gradient(135deg,#991B1B 0%,#FECACA 50%,#EF4444 100%);border-bottom-color:#DC2626;}
.guide-hero--fr-g11-l12{background:linear-gradient(135deg,#065F46 0%,#A7F3D0 50%,#10B981 100%);border-bottom-color:#059669;}
.guide-hero--fr-g11-l13{background:linear-gradient(135deg,#312E81 0%,#E0E7FF 50%,#6366F1 100%);border-bottom-color:#4338CA;}
.guide-hero--fr-g11-l14{background:linear-gradient(135deg,#0C4A6E 0%,#BAE6FD 50%,#0284C7 100%);border-bottom-color:#0369A1;}
.guide-hero--fr-g11-l15{background:linear-gradient(135deg,#713F12 0%,#FDE68A 50%,#CA8A04 100%);border-bottom-color:#A16207;}
.guide-hero--fr-g11-l16{background:linear-gradient(135deg,#4C1D95 0%,#DDD6FE 50%,#7C3AED 100%);border-bottom-color:#6D28D9;}
.guide-hero--fr-g11-l17{background:linear-gradient(135deg,#14532D 0%,#BBF7D0 50%,#16A34A 100%);border-bottom-color:#15803D;}
.guide-hero--fr-g11-l18{background:linear-gradient(135deg,#7F1D1D 0%,#FECACA 50%,#DC2626 100%);border-bottom-color:#B91C1C;}
.guide-hero--fr-g11-l19{background:linear-gradient(135deg,#1E3A8A 0%,#BFDBFE 50%,#2563EB 100%);border-bottom-color:#1D4ED8;}
.guide-hero--fr-g11-l20{background:linear-gradient(135deg,#831843 0%,#FBCFE8 50%,#DB2777 100%);border-bottom-color:#BE185D;}
.guide-hero--fr-g11-l21{background:linear-gradient(135deg,#134E4A 0%,#99F6E4 50%,#0D9488 100%);border-bottom-color:#0F766E;}
.guide-hero--fr-g11-l22{background:linear-gradient(135deg,#3730A3 0%,#C7D2FE 50%,#4F46E5 100%);border-bottom-color:#4338CA;}
.guide-hero--fr-g11-l23{background:linear-gradient(135deg,#9A3412 0%,#FED7AA 50%,#EA580C 100%);border-bottom-color:#C2410C;}
.guide-hero--fr-g11-l24{background:linear-gradient(135deg,#450A0A 0%,#FCA5A5 50%,#EF4444 100%);border-bottom-color:#DC2626;}
.guide-hero--fr-g11-l25{background:linear-gradient(135deg,#164E63 0%,#A5F3FC 50%,#0891B2 100%);border-bottom-color:#0E7490;}
.guide-hero--fr-g11-l26{background:linear-gradient(135deg,#365314 0%,#D9F99D 50%,#65A30D 100%);border-bottom-color:#4D7C0F;}
.guide-hero--fr-g11-l27{background:linear-gradient(135deg,#581C87 0%,#E9D5FF 50%,#9333EA 100%);border-bottom-color:#7E22CE;}
.guide-hero--fr-g11-l28{background:linear-gradient(135deg,#78350F 0%,#FDE68A 50%,#D97706 100%);border-bottom-color:#B45309;}
.guide-hero--fr-g11-l29{background:linear-gradient(135deg,#1E40AF 0%,#93C5FD 50%,#3B82F6 100%);border-bottom-color:#2563EB;}
.guide-hero--fr-g11-l30{background:linear-gradient(135deg,#701A75 0%,#F5D0FE 50%,#C026D3 100%);border-bottom-color:#A21CAF;}
.guide-hero--fr-g11-l31{background:linear-gradient(135deg,#115E59 0%,#5EEAD4 50%,#14B8A6 100%);border-bottom-color:#0D9488;}
.guide-hero--fr-g11-l32{background:linear-gradient(135deg,#312E81 0%,#A5B4FC 50%,#6366F1 100%);border-bottom-color:#4F46E5;}
.guide-hero--fr-g11-l33{background:linear-gradient(135deg,#881337 0%,#FDA4AF 50%,#E11D48 100%);border-bottom-color:#BE123C;}
.guide-hero--fr-g11-l34{background:linear-gradient(135deg,#0F172A 0%,#FDE047 50%,#CA8A04 100%);border-bottom-color:#EAB308;}



/* === WIDGET FILE: guide-geography-widgets.blade.php === */

.geo-lab{background:linear-gradient(145deg,#ECFDF5 0%,#D1FAE5 50%,#F8FAFC 100%);border:3px solid #059669;border-radius:20px;padding:18px 20px;margin:16px 0;}
.geo-lab-title{font-size:.82rem;font-weight:900;color:#065F46;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.geo-lab-title::before{content:'🌍';}
.geo-readout,.geo-status{font-size:.88rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;text-align:center;line-height:1.7;}
.geo-status.is-ok{background:#DCFCE7;color:#166534;}
.geo-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.geo-btn,.geo-model-btn{padding:8px 14px;border:2px solid #A7F3D0;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#065F46;transition:transform .12s,background .12s;}
.geo-btn:hover,.geo-model-btn:hover{background:#ECFDF5;transform:scale(1.02);}
.geo-btn.is-active,.geo-model-btn.is-active{background:#059669;color:#fff;border-color:#047857;}
.geo-panel{background:#fff;border-radius:14px;padding:16px;border:2px solid #E2E8F0;min-height:80px;margin-top:10px;}
.geo-panel h4{margin:0 0 8px;font-size:.9rem;color:#065F46;}
.geo-panel p{margin:0;font-size:.85rem;font-weight:700;color:#475569;line-height:1.7;}
.geo-slider{width:100%;margin:12px 0;}
.geo-meter{height:12px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:10px 0;}
.geo-meter-fill{height:100%;background:linear-gradient(90deg,#34D399,#059669);border-radius:99px;transition:width .35s;}
.geo-sort-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.geo-sort-wrap.geo-sort-3{grid-template-columns:1fr 1fr 1fr;}
@media(max-width:640px){.geo-sort-wrap,.geo-sort-wrap.geo-sort-3{grid-template-columns:1fr;}}
.geo-sort-bin{min-height:80px;border:2px dashed #6EE7B7;border-radius:14px;padding:10px;background:rgba(255,255,255,.75);}
.geo-sort-bin h5{margin:0 0 6px;font-size:.72rem;font-weight:900;color:#065F46;}
.geo-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.geo-sort-card{padding:8px 12px;border:2px solid #34D399;border-radius:12px;background:#fff;font-weight:900;font-size:.75rem;cursor:grab;}
.geo-sort-chip{display:inline-block;margin:3px;padding:5px 8px;border-radius:8px;font-size:.72rem;font-weight:900;background:#ECFDF5;color:#065F46;}
.geo-sort-chip.is-ok{background:#DCFCE7;color:#166534;}
.geo-sort-chip.is-wrong{background:#FEE2E2;color:#991B1B;}
.geo-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;}
@media(max-width:640px){.geo-compare-row{grid-template-columns:1fr;}}
.geo-compare-col{background:#fff;border-radius:14px;padding:14px;border:2px solid #E2E8F0;}
.geo-compare-col h5{margin:0 0 8px;font-size:.82rem;color:#065F46;}
.geo-compare-body{font-size:.82rem;font-weight:700;color:#475569;line-height:1.6;min-height:48px;}
.geo-next-fact{margin-top:10px;}



/* === WIDGET FILE: guide-grammar-widgets.blade.php === */

.gr-lab{background:linear-gradient(135deg,#F0FDF4 0%,#DCFCE7 100%);border:2px solid #22C55E;border-radius:16px;padding:16px;margin:12px 0;}
.gr-lab-title{font-size:.9rem;font-weight:900;color:#166534;margin-bottom:10px;}
.gr-g12-marker-btn,.gr-g12-verb-tab,.gr-g12-test-btn,.gr-g12-word-chip,.gr-g12-harf-word,.gr-g12-number-tab,.gr-g12-ta3yin-btn,.gr-g12-shape-btn,.gr-g12-shape-word,.gr-g12-binyah-tab,.gr-g12-tasrif-tab,.gr-g12-ma3mol-tab,.gr-g12-tarkib-tab,.gr-g12-i3rab-tab,.gr-g12-bina-tab,.gr-g12-khamsa-chip,.gr-g12-kana-tab,.gr-g12-mqraba-tab,.gr-g12-inna-tab,.gr-g12-la-tab,.gr-g12-fa3il-tab,.gr-g12-na2ib-tab,.gr-g12-mf-tab,.gr-g12-zarf-tab,.gr-g12-hal-tab,.gr-g12-ist-tab,.gr-g12-nida-tab,.gr-g12-tamiz-tab,.gr-g12-idf-tab,.gr-g12-atf-tab,.gr-g12-twk-tab,.gr-g12-bdl-tab{padding:8px 12px;border-radius:10px;border:2px solid #86EFAC;background:#fff;font-size:.75rem;font-weight:800;color:#166534;cursor:pointer;font-family:inherit;margin:4px;}
.gr-g12-marker-btn.is-active,.gr-g12-verb-tab.is-active,.gr-g12-test-btn.is-active,.gr-g12-harf-word.is-active,.gr-g12-number-tab.is-active,.gr-g12-ta3yin-btn.is-active,.gr-g12-shape-btn.is-active,.gr-g12-binyah-tab.is-active,.gr-g12-tasrif-tab.is-active,.gr-g12-ma3mol-tab.is-active,.gr-g12-tarkib-tab.is-active,.gr-g12-i3rab-tab.is-active,.gr-g12-bina-tab.is-active,.gr-g12-khamsa-chip.is-active,.gr-g12-kana-tab.is-active,.gr-g12-mqraba-tab.is-active,.gr-g12-inna-tab.is-active,.gr-g12-la-tab.is-active,.gr-g12-fa3il-tab.is-active,.gr-g12-na2ib-tab.is-active,.gr-g12-mf-tab.is-active,.gr-g12-zarf-tab.is-active,.gr-g12-hal-tab.is-active,.gr-g12-ist-tab.is-active,.gr-g12-nida-tab.is-active,.gr-g12-tamiz-tab.is-active,.gr-g12-idf-tab.is-active,.gr-g12-atf-tab.is-active,.gr-g12-twk-tab.is-active,.gr-g12-bdl-tab.is-active{background:#16A34A;color:#fff;border-color:#15803D;}
.gr-g12-word-chip.is-hit{background:#DCFCE7;border-color:#22C55E;}
.gr-g12-word-chip.is-miss{background:#FEE2E2;border-color:#FCA5A5;}
.gr-g12-readout,.gr-g12-sample{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.75;}
.gr-g12-ocr-block{padding:14px 16px;border-radius:12px;background:#fff;border-right:4px solid #16A34A;font-size:.84rem;font-weight:700;line-height:1.85;color:#334155;margin:8px 0;}
.gr-g12-ocr-block--ministry{border-right-color:#059669;background:#F0FDF4;}
.gr-g12-marker-grid,.gr-g12-verb-tabs,.gr-g12-test-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.gr-g12-trio-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;}
.gr-g12-trio-card{padding:14px;border-radius:14px;text-align:center;font-weight:900;font-size:.82rem;border:2px solid #BBF7D0;}
.gr-g12-trio-card--ism{background:#ECFDF5;color:#047857;}
.gr-g12-trio-card--verb{background:#EFF6FF;color:#1D4ED8;}
.gr-g12-trio-card--harf{background:#FFF7ED;color:#C2410C;}
.guide-hero--gr-g12-l01{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#86EFAC 100%);border-bottom-color:#166534;}
.guide-hero--gr-g12-l02{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--gr-g12-l03{background:linear-gradient(135deg,#9A3412 0%,#EA580C 45%,#FDBA74 100%);border-bottom-color:#C2410C;}
.guide-hero--gr-g12-l04{background:linear-gradient(135deg,#581C87 0%,#7C3AED 45%,#C4B5FD 100%);border-bottom-color:#6D28D9;}
.guide-hero--gr-g12-l05{background:linear-gradient(135deg,#0F766E 0%,#14B8A6 45%,#99F6E4 100%);border-bottom-color:#0D9488;}
.guide-hero--gr-g12-l06{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--gr-g12-l07{background:linear-gradient(135deg,#1E40AF 0%,#3B82F6 45%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--gr-g12-l08{background:linear-gradient(135deg,#B45309 0%,#F59E0B 45%,#FDE68A 100%);border-bottom-color:#D97706;}
.guide-hero--gr-g12-l09{background:linear-gradient(135deg,#065F46 0%,#10B981 45%,#A7F3D0 100%);border-bottom-color:#059669;}
.guide-hero--gr-g12-l10{background:linear-gradient(135deg,#4C1D95 0%,#8B5CF6 45%,#DDD6FE 100%);border-bottom-color:#7C3AED;}
.gr-g12-compare-deck{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.gr-g12-compare-card{padding:14px;border-radius:14px;border:2px solid #E2E8F0;font-size:.8rem;font-weight:800;line-height:1.7;}
.gr-g12-compare-card--a{background:#ECFDF5;border-color:#22C55E;color:#166534;}
.gr-g12-compare-card--b{background:#EFF6FF;border-color:#3B82F6;color:#1E40AF;}
.gr-g12-step-ladder{display:flex;flex-direction:column;gap:8px;margin:12px 0;}
.gr-g12-step-ladder .gr-g12-step{padding:12px 14px;border-radius:12px;border:2px solid #E2E8F0;background:#fff;font-size:.78rem;font-weight:800;cursor:pointer;}
.gr-g12-step-ladder .gr-g12-step.is-active{background:#DCFCE7;border-color:#22C55E;}
.gr-g12-viz-table{width:100%;border-collapse:collapse;font-size:.75rem;margin:10px 0;}
.gr-g12-viz-table th,.gr-g12-viz-table td{padding:8px;border:1px solid #E2E8F0;text-align:right;}
.gr-g12-viz-table tr.is-active{background:#F0FDF4;}
.gr-g12-viz-table tr{cursor:pointer;}
.gr-g12-flip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0;}
.gr-g12-flip-card{padding:12px;border-radius:12px;border:2px solid #86EFAC;background:#fff;font-size:.75rem;font-weight:800;text-align:center;cursor:pointer;min-height:72px;}
.gr-g12-flip-card.is-flipped{background:#16A34A;color:#fff;border-color:#15803D;}
.gr-g12-viz-readout{font-size:.82rem;font-weight:800;padding:12px;background:#F8FAFC;border-radius:10px;border:2px solid #E2E8F0;margin-top:8px;line-height:1.7;}
.guide-hero--gr-g12-l11{background:linear-gradient(135deg,#134E4A 0%,#0D9488 45%,#99F6E4 100%);border-bottom-color:#0F766E;}
.guide-hero--gr-g12-l12{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 45%,#FDBA74 100%);border-bottom-color:#C2410C;}
.guide-hero--gr-g12-l13{background:linear-gradient(135deg,#312E81 0%,#6366F1 45%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--gr-g12-l14{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#FBCFE8 100%);border-bottom-color:#BE185D;}
.guide-hero--gr-g12-l15{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#BFDBFE 100%);border-bottom-color:#1D4ED8;}
.guide-hero--gr-g12-l16{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#BBF7D0 100%);border-bottom-color:#15803D;}
.guide-hero--gr-g12-l17{background:linear-gradient(135deg,#713F12 0%,#CA8A04 45%,#FEF08A 100%);border-bottom-color:#A16207;}
.guide-hero--gr-g12-l18{background:linear-gradient(135deg,#0C4A6E 0%,#0284C7 45%,#BAE6FD 100%);border-bottom-color:#0369A1;}
.guide-hero--gr-g12-l19{background:linear-gradient(135deg,#581C87 0%,#9333EA 45%,#E9D5FF 100%);border-bottom-color:#7E22CE;}
.guide-hero--gr-g12-l20{background:linear-gradient(135deg,#164E63 0%,#0891B2 45%,#A5F3FC 100%);border-bottom-color:#0E7490;}
.guide-hero--gr-g12-l21{background:linear-gradient(135deg,#365314 0%,#65A30D 45%,#D9F99D 100%);border-bottom-color:#4D7C0F;}
.guide-hero--gr-g12-l22{background:linear-gradient(135deg,#7F1D1D 0%,#DC2626 45%,#FECACA 100%);border-bottom-color:#B91C1C;}
.guide-hero--gr-g12-l23{background:linear-gradient(135deg,#44403C 0%,#78716C 45%,#E7E5E4 100%);border-bottom-color:#57534E;}
.guide-hero--gr-g12-l24{background:linear-gradient(135deg,#1D4ED8 0%,#60A5FA 45%,#DBEAFE 100%);border-bottom-color:#2563EB;}
.guide-hero--gr-g12-l25{background:linear-gradient(135deg,#92400E 0%,#D97706 45%,#FDE68A 100%);border-bottom-color:#B45309;}
.guide-hero--gr-g12-l26{background:linear-gradient(135deg,#701A75 0%,#C026D3 45%,#F5D0FE 100%);border-bottom-color:#A21CAF;}
.guide-hero--gr-g12-l27{background:linear-gradient(135deg,#115E59 0%,#2DD4BF 45%,#CCFBF1 100%);border-bottom-color:#0F766E;}
.guide-hero--gr-g12-l28{background:linear-gradient(135deg,#312E81 0%,#4F46E5 45%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--gr-g12-l29{background:linear-gradient(135deg,#9F1239 0%,#F43F5E 45%,#FECDD3 100%);border-bottom-color:#BE123C;}
.guide-hero--gr-g12-l30{background:linear-gradient(135deg,#854D0E 0%,#EAB308 45%,#FEF9C3 100%);border-bottom-color:#CA8A04;}
.guide-hero--gr-g12-l31{background:linear-gradient(135deg,#0F172A 0%,#334155 45%,#CBD5E1 100%);border-bottom-color:#1E293B;}
.guide-hero--gr-g12-l32{background:linear-gradient(135deg,#4C1D95 0%,#7C3AED 45%,#DDD6FE 100%);border-bottom-color:#6D28D9;}
.guide-hero--gr-g12-l33{background:linear-gradient(135deg,#065F46 0%,#10B981 45%,#A7F3D0 100%);border-bottom-color:#059669;}
.guide-hero--gr-g12-l34{background:linear-gradient(135deg,#9A3412 0%,#F97316 45%,#FED7AA 100%);border-bottom-color:#EA580C;}
.guide-hero--gr-g12-l35{background:linear-gradient(135deg,#1E40AF 0%,#3B82F6 45%,#BFDBFE 100%);border-bottom-color:#2563EB;}
.guide-hero--gr-g12-l36{background:linear-gradient(135deg,#831843 0%,#EC4899 45%,#FBCFE8 100%);border-bottom-color:#DB2777;}
.guide-hero--gr-g12-l37{background:linear-gradient(135deg,#134E4A 0%,#14B8A6 45%,#99F6E4 100%);border-bottom-color:#0D9488;}
.guide-hero--gr-g12-l38{background:linear-gradient(135deg,#422006 0%,#A16207 45%,#FEF3C7 100%);border-bottom-color:#92400E;}
.guide-hero--gr-g12-l39{background:linear-gradient(135deg,#1E3A5F 0%,#0EA5E9 45%,#BAE6FD 100%);border-bottom-color:#0284C7;}
.guide-hero--gr-g12-l40{background:linear-gradient(135deg,#3B0764 0%,#A855F7 45%,#E9D5FF 100%);border-bottom-color:#9333EA;}
.guide-hero--gr-g12-l41{background:linear-gradient(135deg,#14532D 0%,#22C55E 45%,#BBF7D0 100%);border-bottom-color:#16A34A;}
.guide-hero--gr-g12-l42{background:linear-gradient(135deg,#7C2D12 0%,#FB923C 45%,#FFEDD5 100%);border-bottom-color:#EA580C;}
.guide-hero--gr-g12-l43{background:linear-gradient(135deg,#0C4A6E 0%,#38BDF8 45%,#E0F2FE 100%);border-bottom-color:#0284C7;}
.guide-hero--gr-g12-l44{background:linear-gradient(135deg,#18181B 0%,#52525B 45%,#E4E4E7 100%);border-bottom-color:#3F3F46;}



/* === WIDGET FILE: guide-history-widgets.blade.php === */

.hist-lab{background:linear-gradient(145deg,#FFFBEB 0%,#FEF3C7 50%,#F8FAFC 100%);border:3px solid #D97706;border-radius:20px;padding:18px 20px;margin:16px 0;}
.hist-lab-title{font-size:.82rem;font-weight:900;color:#92400E;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.hist-lab-title::before{content:'📜';}
.hist-readout,.hist-status{font-size:.88rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;text-align:center;line-height:1.7;}
.hist-status.is-ok{background:#DCFCE7;color:#166534;}
.hist-status.is-bad{background:#FEE2E2;color:#991B1B;}
.hist-btn-row,.hist-region-btns,.hist-pillar-btns,.hist-era-btns,.hist-route-btns,.hist-caliph-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.hist-btn,.hist-region-btn,.hist-pillar-btn,.hist-era-btn,.hist-route-btn,.hist-caliph-btn,.hist-card-btn{padding:8px 14px;border:2px solid #FDE68A;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#92400E;transition:transform .12s,background .12s;}
.hist-btn:hover,.hist-region-btn:hover,.hist-pillar-btn:hover,.hist-era-btn:hover,.hist-route-btn:hover,.hist-caliph-btn:hover,.hist-card-btn:hover{background:#FEF3C7;transform:scale(1.02);}
.hist-region-btn.is-active,.hist-pillar-btn.is-active,.hist-era-btn.is-active,.hist-route-btn.is-active,.hist-caliph-btn.is-active,.hist-card-btn.is-active{background:#D97706;color:#fff;border-color:#B45309;}
.hist-panel{background:#fff;border-radius:14px;padding:16px;border:2px solid #E2E8F0;min-height:80px;margin-top:10px;}
.hist-panel h4{margin:0 0 8px;font-size:.9rem;color:#78350F;}
.hist-panel p{margin:0;font-size:.85rem;font-weight:700;color:#475569;line-height:1.7;}
.hist-meter{height:12px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin:10px 0;}
.hist-meter-fill{height:100%;background:linear-gradient(90deg,#F59E0B,#D97706);border-radius:99px;transition:width .35s;}
.hist-meter-label{font-size:.72rem;font-weight:900;color:#92400E;text-align:center;}
.hist-sort-wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px;}
@media(max-width:640px){.hist-sort-wrap{grid-template-columns:1fr;}}
.hist-sort-bin{min-height:80px;border:2px dashed #FCD34D;border-radius:14px;padding:10px;background:rgba(255,255,255,.75);}
.hist-sort-bin h5{margin:0 0 6px;font-size:.72rem;font-weight:900;color:#92400E;}
.hist-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.hist-sort-card{padding:8px 12px;border:2px solid #F59E0B;border-radius:12px;background:#fff;font-weight:900;font-size:.75rem;cursor:grab;}
.hist-sort-chip{display:inline-block;margin:3px;padding:5px 8px;border-radius:8px;font-size:.72rem;font-weight:900;background:#FEF3C7;color:#92400E;}
.hist-sort-chip.is-ok{background:#DCFCE7;color:#166534;}
.hist-sort-chip.is-wrong{background:#FEE2E2;color:#991B1B;}
.hist-timeline-slider{width:100%;margin:12px 0;}
.hist-map-stage{background:linear-gradient(180deg,#FEF9C3 0%,#FDE68A 100%);border-radius:16px;padding:12px;border:2px solid #F59E0B;margin:10px 0;}
.hist-gov-tree{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0;}
.hist-gov-node{padding:10px 16px;border:2px solid #D97706;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;min-width:140px;text-align:center;}
.hist-gov-node.is-active{background:#D97706;color:#fff;}
.hist-gov-arrow{font-size:1rem;color:#92400E;}
.hist-flip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px;}
.hist-flip-card{perspective:800px;min-height:100px;cursor:pointer;}
.hist-flip-inner{position:relative;width:100%;height:100%;min-height:100px;transition:transform .5s;transform-style:preserve-3d;}
.hist-flip-card.is-flipped .hist-flip-inner{transform:rotateY(180deg);}
.hist-flip-front,.hist-flip-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:.78rem;border:2px solid #F59E0B;}
.hist-flip-front{background:#FFFBEB;color:#92400E;}
.hist-flip-back{background:#D97706;color:#fff;transform:rotateY(180deg);font-size:.72rem;line-height:1.5;}
.hist-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;}
@media(max-width:640px){.hist-compare-row{grid-template-columns:1fr;}}
.hist-compare-col{background:#fff;border-radius:14px;padding:14px;border:2px solid #E2E8F0;}
.hist-compare-col h5{margin:0 0 8px;font-size:.82rem;color:#78350F;}



/* === WIDGET FILE: guide-math-widgets.blade.php === */

/* ══ MATH WIDGETS ══ */
.mw-widget{background:linear-gradient(145deg,#FAFAFF 0%,#F8FAFC 100%);border:2px solid #E9D5FF;border-radius:18px;padding:16px 18px;margin:18px 0;}
.mw-widget-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.mw-widget-title{font-size:.82rem;font-weight:900;color:#5B21B6;letter-spacing:.5px;}
.mw-widget-badge{font-size:.65rem;font-weight:900;padding:4px 10px;border-radius:99px;background:#EDE9FE;color:#6D28D9;}
.mw-widget canvas{display:block;margin:0 auto;border-radius:10px;background:#fff;}
.mw-widget-caption{font-size:.78rem;font-weight:700;color:#64748B;margin-top:10px;text-align:center;line-height:1.5;}

.mw-flip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0;}
.mw-flip{perspective:800px;min-height:120px;}
.mw-flip-inner{position:relative;width:100%;height:100%;min-height:120px;transition:transform .5s;transform-style:preserve-3d;cursor:pointer;}
.mw-flip:hover .mw-flip-inner,.mw-flip:focus-within .mw-flip-inner{transform:rotateY(180deg);}
.mw-flip-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px solid;}
.mw-flip-front{background:#FFF7ED;border-color:#FDBA74;color:#9A3412;}
.mw-flip-back{background:#F0FDF4;border-color:#86EFAC;color:#166534;transform:rotateY(180deg);}
.mw-flip-face strong{font-size:.75rem;font-weight:900;margin-bottom:6px;}
.mw-flip-face span{font-size:.7rem;font-weight:700;line-height:1.45;}

/* Legacy .mw-flip-card (chemistry) — must flip as a unit or back text mirrors in RTL */
.mw-flip-grid > .mw-flip-card{
  perspective:800px;min-height:120px;cursor:pointer;position:relative;
  transform-style:preserve-3d;transition:transform .5s;
}
.mw-flip-grid > .mw-flip-card:hover,
.mw-flip-grid > .mw-flip-card:focus-within{transform:rotateY(180deg);}
.mw-flip-grid > .mw-flip-card > .mw-flip-front,
.mw-flip-grid > .mw-flip-card > .mw-flip-back{
  position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;padding:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border:2px solid;font-size:.72rem;font-weight:900;line-height:1.45;
}
.mw-flip-grid > .mw-flip-card > .mw-flip-front{background:#FFF7ED;border-color:#FDBA74;color:#9A3412;}
.mw-flip-grid > .mw-flip-card > .mw-flip-back{background:#F0FDF4;border-color:#86EFAC;color:#166534;transform:rotateY(180deg);font-size:.7rem;font-weight:700;}

.mw-flow{display:flex;flex-direction:column;gap:0;margin:16px 0;border-radius:14px;overflow:hidden;border:2px solid #E2E8F0;}
.mw-flow-step{display:flex;align-items:stretch;background:#fff;}
.mw-flow-step + .mw-flow-step{border-top:1px solid #F1F5F9;}
.mw-flow-num{width:44px;background:#7C3AED;color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mw-flow-body{padding:12px 16px;font-size:.88rem;font-weight:700;color:#334155;line-height:1.55;flex:1;}

.mw-interval{margin:14px 0;}
.mw-interval-bar{position:relative;height:36px;background:#F1F5F9;border-radius:10px;border:2px solid #E2E8F0;margin:8px 0 20px;}
.mw-interval-shade{position:absolute;top:4px;bottom:4px;background:linear-gradient(90deg,#A78BFA,#7C3AED);border-radius:6px;opacity:.85;}
.mw-interval-tick{position:absolute;top:100%;margin-top:4px;font-size:.7rem;font-weight:800;color:#64748B;transform:translateX(-50%);}
.mw-interval-open::before,.mw-interval-open::after{content:'';position:absolute;top:50%;width:10px;height:10px;background:#fff;border:2px solid #7C3AED;border-radius:50%;transform:translate(-50%,-50%);}

.mw-radical-tree{border-right:3px solid #0891B2;padding-right:16px;margin:16px 0;}
.mw-radical-node{background:#ECFEFF;border:2px solid #67E8F9;border-radius:12px;padding:12px 16px;margin-bottom:10px;font-weight:800;font-size:.88rem;color:#0E7490;}
.mw-radical-node.mw-radical-result{background:#F0FDF4;border-color:#86EFAC;color:#166534;}
.mw-radical-arrow{text-align:center;color:#0891B2;font-size:1.2rem;font-weight:900;margin:4px 0;}

.mw-hex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0;}
.mw-hex-card{background:#fff;border:2px solid #E2E8F0;border-radius:16px;padding:16px;text-align:center;transition:transform .15s,box-shadow .15s;}
.mw-hex-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(8,145,178,.12);}
.mw-hex-icon{font-size:1.6rem;margin-bottom:6px;}
.mw-hex-label{font-size:.72rem;font-weight:900;color:#0891B2;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.mw-hex-formula{font-size:.8rem;font-weight:800;color:#334155;line-height:1.4;}

.mw-solver details{background:#fff;border:2px solid #E2E8F0;border-radius:12px;margin-bottom:8px;overflow:hidden;}
.mw-solver summary{padding:12px 16px;font-weight:900;font-size:.85rem;color:#4338CA;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;}
.mw-solver summary::-webkit-details-marker{display:none;}
.mw-solver summary::before{content:'▸';color:#7C3AED;font-size:.9rem;transition:transform .2s;}
.mw-solver details[open] summary::before{transform:rotate(90deg);}
.mw-solver .mw-solver-body{padding:0 16px 14px;font-size:.88rem;font-weight:700;color:#475569;line-height:1.7;}

.guide-hero--math-l05{background:linear-gradient(135deg,#D97706 0%,#F59E0B 45%,#FBBF24 100%);border-bottom-color:#B45309;}
.guide-hero--math-l05::before{background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);}
.guide-hero--math-l06{background:linear-gradient(135deg,#0E7490 0%,#0891B2 45%,#22D3EE 100%);border-bottom-color:#0E7490;}
.guide-hero--math-l07{background:linear-gradient(135deg,#047857 0%,#059669 45%,#34D399 100%);border-bottom-color:#065F46;}
.guide-hero--math-l08{background:linear-gradient(135deg,#312E81 0%,#4338CA 45%,#818CF8 100%);border-bottom-color:#312E81;}
.guide-hero--math-l09{background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 45%,#C4B5FD 100%);border-bottom-color:#5B21B6;}
.guide-hero--math-l10{background:linear-gradient(135deg,#9D174D 0%,#DB2777 45%,#F9A8D4 100%);border-bottom-color:#9D174D;}

.mw-formula-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:16px 0;}
.mw-formula-card{background:linear-gradient(135deg,#FDF4FF,#FAE8FF);border:2px solid #E9D5FF;border-radius:14px;padding:16px 18px;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:8px;}
.mw-formula-card strong{display:block;font-size:.82rem;color:#7E22CE;margin-bottom:0;line-height:1.45;padding-bottom:4px;}
.mw-formula-card span{font-size:.88rem;font-weight:800;color:#3B0764;line-height:1.55;direction:rtl;unicode-bidi:isolate;text-align:center;}
.mw-formula-card .katex{font-size:1.05em;font-weight:600;}
.mw-formula-card span .math-ltr-wrap,.mw-formula-card span .katex{direction:ltr;unicode-bidi:isolate;}

.mw-katex-block{margin:10px 0;text-align:center;overflow-x:auto;direction:ltr;unicode-bidi:bidi-override;}
.mw-fn-readout,.mw-inverse-readout,.mw-amoeba-readout,.mw-duel-readout-up,.mw-duel-readout-down{direction:ltr;unicode-bidi:bidi-override;text-align:center;}
.mw-fn-readout .katex,.mw-inverse-readout .katex{font-weight:600;}
.mw-katex-step{padding:10px 14px;border-radius:10px;margin:6px 0;font-weight:700;font-size:.88rem;color:#475569;background:#F8FAFC;border:1px solid #E2E8F0;direction:ltr;unicode-bidi:bidi-override;text-align:center;}
.mw-katex-step .katex{font-size:1.05em;font-weight:600;}
.mw-katex-step .math-ltr-wrap{unicode-bidi:isolate !important;}

.mw-log-morph{margin:16px 0;}
.mw-log-step{display:none;padding:16px 18px;border-radius:14px;background:#FFF7ED;border:2px solid #FDBA74;text-align:center;}
.mw-log-step.is-active{display:block;}
.mw-log-morph-btn{display:block;width:100%;margin-top:10px;padding:10px;border:none;border-radius:10px;background:#7C3AED;color:#fff;font-weight:900;font-size:.82rem;cursor:pointer;font-family:inherit;}
.mw-log-morph-btn:hover{background:#6D28D9;}

.mw-app-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;}
.mw-app-dashboard .mw-widget{margin:0;min-height:200px;}
.mw-formula-strip{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:linear-gradient(90deg,#312E81,#0891B2);border-radius:14px;margin:16px 0;}
.mw-formula-strip span{background:rgba(255,255,255,.15);color:#fff;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:800;}
.mw-formula-strip .katex{color:#fff;}

.guide-hero--math-ch21{background:linear-gradient(135deg,#312E81 0%,#4338CA 35%,#0891B2 100%);border-bottom-color:#1E1B4B;}
.guide-hero--math-ch21::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
@media(max-width:640px){.mw-app-dashboard{grid-template-columns:1fr;}}

.mw-value-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.82rem;}
.mw-value-table th,.mw-value-table td{border:1.5px solid #E2E8F0;padding:8px 10px;text-align:center;font-weight:800;}
.mw-value-table th{background:#ECFDF5;color:#047857;}
.mw-app-card{background:#fff;border:2px solid #E2E8F0;border-radius:16px;padding:16px;margin-bottom:12px;border-right:5px solid #059669;}
.mw-app-card h4{margin:0 0 8px;font-size:.88rem;font-weight:900;color:#047857;}
.mw-app-card p{margin:0;font-size:.85rem;font-weight:700;color:#475569;line-height:1.6;}

.mw-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
.mw-case-card{border-radius:14px;padding:14px;border:2px solid;}
.mw-case-card.mw-case-yes{background:#F0FDF4;border-color:#86EFAC;}
.mw-case-card.mw-case-no{background:#FFF1F2;border-color:#FECACA;}
.mw-case-card h4{font-size:.8rem;font-weight:900;margin:0 0 8px;}

.mw-explore-zone{background:linear-gradient(145deg,#F0FDF4 0%,#ECFDF5 50%,#F8FAFC 100%);border:3px solid #86EFAC;border-radius:20px;padding:18px 20px;margin:20px 0;}
.mw-explore-zone .section-mini-title{font-size:.78rem;font-weight:900;color:#047857;letter-spacing:.5px;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.mw-explore-zone .section-mini-title::before{content:'🎮';}

.mw-fn-controls{margin-top:14px;padding:14px 16px;background:#fff;border-radius:14px;border:2px solid #E2E8F0;}
.mw-fn-slider-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.mw-fn-slider-row label{font-size:.78rem;font-weight:900;color:#475569;white-space:nowrap;min-width:72px;}
.mw-fn-slider{flex:1;height:8px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#A78BFA,#7C3AED);border-radius:99px;outline:none;cursor:pointer;}
.mw-fn-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #7C3AED;box-shadow:0 2px 8px rgba(124,58,237,.35);cursor:grab;}
.mw-fn-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #7C3AED;cursor:grab;}
.mw-fn-readout{text-align:center;padding:12px;background:#F8FAFC;border-radius:10px;border:1px solid #E2E8F0;min-height:44px;}
.mw-fn-readout .mw-fn-eq{font-size:.92rem;font-weight:800;color:#334155;margin:0;line-height:1.6;}
.mw-fn-match{margin-top:10px;padding:10px 14px;border-radius:10px;font-size:.82rem;font-weight:900;text-align:center;display:none;}
.mw-fn-match.is-hit{display:block;background:#DCFCE7;color:#166534;border:2px solid #86EFAC;}
.mw-fn-match.is-miss{display:block;background:#FEF3C7;color:#92400E;border:2px solid #FCD34D;}
.mw-fn-bases{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.mw-fn-base-btn{padding:8px 14px;border:2px solid #E2E8F0;border-radius:10px;background:#fff;font-weight:900;font-size:.78rem;color:#64748B;cursor:pointer;font-family:inherit;transition:all .15s;}
.mw-fn-base-btn.is-active{background:#7C3AED;color:#fff;border-color:#7C3AED;}
.mw-fn-base-btn:hover{border-color:#A78BFA;}

.mw-quiz{background:#fff;border:3px solid #86EFAC;border-radius:20px;padding:18px;margin:18px 0;}
.mw-quiz-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px dashed #D1FAE5;}
.mw-quiz-head h4{margin:0;font-size:.9rem;font-weight:900;color:#047857;}
.mw-quiz-score{font-size:.78rem;font-weight:900;color:#059669;background:#ECFDF5;padding:6px 12px;border-radius:99px;}
.mw-quiz-card{display:flex;gap:12px;padding:14px;margin-bottom:10px;background:#F8FAFC;border:2px solid #E2E8F0;border-radius:14px;transition:border-color .2s,background .2s;}
.mw-quiz-card.is-correct{border-color:#86EFAC;background:#F0FDF4;}
.mw-quiz-card.is-wrong{border-color:#FCA5A5;background:#FFF1F2;}
.mw-quiz-card.is-revealed{border-color:#93C5FD;background:#EFF6FF;}
.mw-quiz-num{width:32px;height:32px;border-radius:10px;background:#7C3AED;color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mw-quiz-body{flex:1;min-width:0;}
.mw-quiz-prompt{margin:0 0 10px;direction:rtl;text-align:right;}
.mw-quiz-prompt .math-step-eq{margin:4px 0 8px;}
.mw-quiz-prompt .math-ltr-wrap,.mw-quiz-solution-body .math-ltr-wrap{unicode-bidi:isolate !important;}
.mw-quiz-prompt .katex,.mw-quiz-solution-body .katex,
.mw-quiz-prompt .katex .katex-html,.mw-quiz-solution-body .katex .katex-html{font-weight:800 !important;}
.mw-quiz-prompt .katex .msupsub,
.mw-quiz-prompt .katex .vlist,
.mw-quiz-prompt .katex .vlist-t,
.mw-quiz-prompt .katex .vlist-r,
.mw-quiz-opt .katex .msupsub,
.mw-quiz-opt .katex .vlist{unicode-bidi:isolate !important;}
.mw-quiz-input-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.mw-quiz-input{flex:1;min-width:120px;padding:10px 14px;border:2px solid #CBD5E1;border-radius:10px;font-size:.88rem;font-weight:700;font-family:inherit;direction:ltr;text-align:center;}
.mw-quiz-input:focus{outline:none;border-color:#7C3AED;box-shadow:0 0 0 3px rgba(124,58,237,.15);}
.mw-quiz-check{padding:10px 18px;border:none;border-radius:10px;background:#7C3AED;color:#fff;font-weight:900;font-size:.8rem;cursor:pointer;font-family:inherit;}
.mw-quiz-check:hover{background:#6D28D9;}
.mw-quiz-check:disabled{opacity:.5;cursor:not-allowed;}
.mw-quiz-options{display:flex;flex-direction:column;gap:8px;}
.mw-quiz-opt{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #E2E8F0;border-radius:12px;background:#fff;font-size:.85rem;font-weight:800;color:#475569;cursor:pointer;font-family:inherit;text-align:right;transition:border-color .25s,background .25s,box-shadow .25s,transform .25s,color .25s;}
.mw-quiz-opt span:last-child:not(.mw-quiz-opt-letter){display:inline-block;flex:1;text-align:right;}
.mw-quiz-opt .math-ltr-wrap{display:inline-block;direction:ltr;text-align:left;}
.mw-quiz-opt .katex,.mw-quiz-opt .katex .katex-html{font-weight:800 !important;}
.mw-quiz-opt:hover{border-color:#A78BFA;background:#FAF5FF;}
.mw-quiz-opt.is-picked{border-color:#7C3AED;background:#EDE9FE;}
.mw-quiz-opt.is-correct-opt{border-color:#22C55E!important;background:linear-gradient(135deg,#DCFCE7 0%,#BBF7D0 100%)!important;color:#166534!important;box-shadow:0 0 0 3px rgba(34,197,94,.22),0 10px 24px rgba(34,197,94,.16);}
.mw-quiz-opt.is-wrong-opt{border-color:#EF4444!important;background:linear-gradient(135deg,#FEE2E2 0%,#FECACA 100%)!important;color:#991B1B!important;box-shadow:0 0 0 3px rgba(239,68,68,.18);}
.mw-quiz-opt:disabled,.mw-quiz-opt[aria-disabled="true"]{cursor:default;}
.mw-quiz-card.is-answered .mw-quiz-opt:not(.is-picked):not(.is-correct-opt):not(.is-wrong-opt){opacity:.72;}
.mw-quiz-opt.is-anim-correct{animation:mwQuizCorrectPop .62s cubic-bezier(.34,1.56,.64,1);}
.mw-quiz-opt.is-anim-wrong{animation:mwQuizWrongShake .52s cubic-bezier(.36,.07,.19,.97);}
.mw-quiz-opt.is-reveal-correct{animation:mwQuizRevealGlow .75s ease .12s both;}
.mw-quiz-opt-ripple{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transform:scale(.35);}
.mw-quiz-opt.is-anim-correct .mw-quiz-opt-ripple{background:radial-gradient(circle at 50% 50%,rgba(34,197,94,.42) 0%,transparent 68%);animation:mwQuizRippleOk .68s ease-out forwards;}
.mw-quiz-opt.is-anim-wrong .mw-quiz-opt-ripple{background:radial-gradient(circle at 50% 50%,rgba(239,68,68,.38) 0%,transparent 68%);animation:mwQuizRippleBad .58s ease-out forwards;}
.mw-quiz-opt-badge{position:absolute;top:8px;left:10px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;opacity:0;transform:scale(.4);pointer-events:none;}
.mw-quiz-opt.is-anim-correct .mw-quiz-opt-badge--ok{opacity:1;background:#22C55E;color:#fff;animation:mwQuizBadgePop .55s cubic-bezier(.34,1.56,.64,1) .08s both;}
.mw-quiz-opt.is-anim-wrong .mw-quiz-opt-badge--bad{opacity:1;background:#EF4444;color:#fff;animation:mwQuizBadgePop .5s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes mwQuizCorrectPop{0%{transform:scale(1)}38%{transform:scale(1.05)}62%{transform:scale(.985)}100%{transform:scale(1)}}
@keyframes mwQuizWrongShake{0%,100%{transform:translateX(0)}16%{transform:translateX(-9px)}32%{transform:translateX(9px)}48%{transform:translateX(-6px)}64%{transform:translateX(6px)}80%{transform:translateX(-2px)}}
@keyframes mwQuizRippleOk{0%{opacity:.85;transform:scale(.35)}100%{opacity:0;transform:scale(1.85)}}
@keyframes mwQuizRippleBad{0%{opacity:.75;transform:scale(.35)}100%{opacity:0;transform:scale(1.65)}}
@keyframes mwQuizRevealGlow{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}55%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 3px rgba(34,197,94,.22)}}
@keyframes mwQuizBadgePop{0%{opacity:0;transform:scale(.35)}100%{opacity:1;transform:scale(1)}}
.mw-quiz-opt-letter{width:28px;height:28px;border-radius:8px;background:#F1F5F9;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mw-quiz-result{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:.82rem;font-weight:800;display:none;}
.mw-quiz-result.is-ok{display:block;background:#DCFCE7;color:#166534;}
.mw-quiz-result.is-bad{display:block;background:#FEE2E2;color:#991B1B;}
.mw-quiz-solution{margin-top:10px;}
.mw-quiz-solution summary{font-size:.8rem;font-weight:900;color:#4338CA;cursor:pointer;padding:8px 0;}
.mw-quiz-solution-body{padding:10px 12px;background:#EEF2FF;border-radius:10px;font-size:.85rem;font-weight:700;color:#475569;line-height:1.65;}

.mw-amoeba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:6px;min-height:80px;padding:12px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin:12px 0;}
.mw-amoeba-cell{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#34D399,#059669);animation:mw-pop .3s ease;}
@keyframes mw-pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.mw-growth-duel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.mw-growth-bar-wrap{background:#fff;border-radius:12px;padding:12px;border:2px solid #E2E8F0;text-align:center;}
.mw-growth-bar{height:120px;width:48px;margin:8px auto;background:#F1F5F9;border-radius:8px;position:relative;overflow:hidden;}
.mw-growth-bar-fill{position:absolute;bottom:0;left:0;right:0;border-radius:8px 8px 0 0;transition:height .2s;}
.mw-growth-bar-fill.fill-up{background:linear-gradient(0deg,#059669,#34D399);}
.mw-growth-bar-fill.fill-down{background:linear-gradient(0deg,#DC2626,#F87171);}
.mw-inverse-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mw-inverse-pair canvas{background:#fff;border-radius:10px;}

@media(max-width:640px){.mw-case-grid,.mw-flip-grid,.mw-growth-duel,.mw-inverse-pair{grid-template-columns:1fr;}}



/* === WIDGET FILE: guide-physics-widgets.blade.php === */

.ph-lab{background:linear-gradient(145deg,#EFF6FF 0%,#F0F9FF 50%,#F8FAFC 100%);border:3px solid #38BDF8;border-radius:20px;padding:18px 20px;margin:16px 0;}
.ph-lab-title{font-size:.82rem;font-weight:900;color:#0369A1;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.ph-lab-title::before{content:'🧪';}
.ph-vernier-readout,.ph-st-slope,.ph-drive-speed,.ph-drive-accel,.ph-force-sum{font-size:.88rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;margin-top:10px;text-align:center;}
.ph-vernier-line-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-vernier-line-btn{padding:8px 12px;border:2px solid #E2E8F0;border-radius:10px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;}
.ph-vernier-line-btn.is-active{background:#0EA5E9;color:#fff;border-color:#0284C7;}
.ph-standard-btns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.ph-standard-btn{padding:10px 14px;border:2px solid #BAE6FD;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#0369A1;}
.ph-standard-btn.is-active{background:#0284C7;color:#fff;border-color:#0284C7;}
.ph-standard-panel{background:#fff;border-radius:14px;padding:16px;border:2px solid #E2E8F0;min-height:100px;}
.ph-standard-panel h4{margin:0 0 8px;font-size:.9rem;color:#0C4A6E;}
.ph-standard-panel p{margin:0 0 12px;font-size:.85rem;font-weight:700;color:#475569;line-height:1.6;}
.ph-precision-bar{height:10px;background:#E2E8F0;border-radius:99px;overflow:hidden;margin-bottom:6px;}
.ph-precision-fill{height:100%;background:linear-gradient(90deg,#22D3EE,#0284C7);border-radius:99px;transition:width .4s;}
.ph-precision-label{font-size:.72rem;font-weight:900;color:#0369A1;}
.ph-dim-btns,.ph-dim-presets{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-dim-btn,.ph-dim-preset,.ph-dim-reset,.ph-prefix-btn,.ph-drive-btn,.ph-force-add,.ph-force-clear,.ph-st-clear{padding:8px 14px;border:2px solid #E2E8F0;border-radius:10px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;}
.ph-dim-btn:hover,.ph-prefix-btn:hover,.ph-drive-btn:hover{background:#F0F9FF;}
.ph-dim-readout{font-size:1.1rem;font-weight:900;color:#0369A1;text-align:center;padding:14px;background:#fff;border-radius:12px;margin:10px 0;}
.ph-dim-result{text-align:center;font-weight:900;padding:10px;border-radius:10px;margin-top:8px;}
.ph-dim-result.is-ok{background:#DCFCE7;color:#166534;}
.ph-dim-result.is-bad{background:#FEF3C7;color:#92400E;}
.ph-prefix-input{width:100%;max-width:200px;padding:10px 14px;border:2px solid #E2E8F0;border-radius:10px;font-weight:800;font-size:1rem;text-align:center;margin-bottom:10px;}
.ph-prefix-btns{display:flex;flex-wrap:wrap;gap:8px;}
.ph-prefix-btn.is-active{background:#0284C7;color:#fff;border-color:#0284C7;}
.ph-prefix-out{font-size:1rem;font-weight:900;color:#0C4A6E;margin-top:12px;text-align:center;}
.ph-sort-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.ph-sort-bin{min-height:90px;border:2px dashed #7DD3FC;border-radius:14px;padding:12px;background:rgba(255,255,255,.7);}
.ph-sort-bin h5{margin:0 0 8px;font-size:.75rem;font-weight:900;color:#0369A1;}
.ph-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.ph-sort-card{padding:10px 14px;border:2px solid #38BDF8;border-radius:12px;background:#fff;font-weight:900;font-size:.8rem;cursor:grab;}
.ph-sort-chip{display:inline-block;margin:4px;padding:6px 10px;border-radius:8px;font-size:.75rem;font-weight:900;background:#E0F2FE;color:#0369A1;}
.ph-sort-chip.is-ok{background:#DCFCE7;color:#166534;}
.ph-sort-chip.is-wrong{background:#FEE2E2;color:#991B1B;}
.ph-sort-status{text-align:center;font-weight:900;padding:10px;border-radius:10px;margin-top:10px;}
.ph-sort-status.is-ok{background:#DCFCE7;color:#166534;}
.ph-sort-status.is-bad{background:#FEE2E2;color:#991B1B;}
.ph-drive-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.ph-drive-btn.is-active{background:#2563EB;color:#fff;border-color:#2563EB;}
.ph-drive-readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ph-force-stage{background:#fff;border-radius:14px;padding:20px;border:2px solid #E2E8F0;text-align:center;margin:12px 0;}
.ph-force-block{display:inline-block;width:64px;height:48px;background:linear-gradient(135deg,#F59E0B,#D97706);border-radius:8px;transition:transform .35s;font-weight:900;color:#fff;line-height:48px;font-size:.7rem;}
.ph-force-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0;min-height:28px;}
.ph-force-tag{padding:6px 10px;background:#DBEAFE;border-radius:8px;font-size:.75rem;font-weight:900;color:#1D4ED8;}
.ph-force-state{padding:12px;border-radius:10px;font-weight:900;font-size:.82rem;margin-top:10px;}
.ph-force-state.is-neutral{background:#F1F5F9;color:#475569;}
.ph-force-state.is-forward{background:#DCFCE7;color:#166534;}
.ph-force-state.is-back{background:#FEE2E2;color:#991B1B;}
.ph-force-adds{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
/* ── Units 4–6 labs ── */
.ph-float-pool{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.ph-float-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid #7DD3FC;border-radius:14px;background:#fff;font-weight:900;font-size:1.4rem;cursor:pointer;font-family:inherit;transition:transform .15s;}
.ph-float-btn span{font-size:.65rem;color:#0369A1;}
.ph-float-btn.is-active,.ph-float-btn:hover{background:#E0F2FE;border-color:#0284C7;transform:scale(1.04);}
.ph-float-status{text-align:center;font-weight:900;padding:12px;border-radius:12px;margin-top:10px;font-size:.85rem;}
.ph-float-status.is-ok{background:#DCFCE7;color:#166534;}
.ph-float-status.is-bad{background:#DBEAFE;color:#1E40AF;}
.ph-cont-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;}
.ph-cont-v1-btn,.ph-cont-go,.ph-visc-go,.ph-visc-reset,.ph-man-mode{padding:8px 14px;border:2px solid #E2E8F0;border-radius:10px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;}
.ph-cont-v1-btn.is-active,.ph-man-mode.is-active{background:#0284C7;color:#fff;border-color:#0284C7;}
.ph-cont-readouts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.ph-cont-v1,.ph-cont-v2,.ph-cont-ratio,.ph-visc-timer,.ph-depth-readout,.ph-man-readout,.ph-hyd-readout,.ph-brown-label,.ph-kelvin-readout,.ph-pv-readout,.ph-boyle-readout{font-size:.85rem;font-weight:800;color:#334155;padding:12px;background:#fff;border-radius:10px;border:2px solid #E2E8F0;text-align:center;margin-top:10px;}
.ph-cont-narrow{width:100%;margin:8px 0;}
.ph-visc-status{text-align:center;font-weight:900;padding:10px;border-radius:10px;margin-top:10px;font-size:.82rem;background:#F1F5F9;color:#475569;}
.ph-visc-status.is-ok{background:#DCFCE7;color:#166534;}
.ph-flow-speed{width:100%;margin:10px 0;}
.ph-flow-label,.ph-lube-out{text-align:center;font-weight:900;padding:10px;border-radius:10px;margin:8px 0;font-size:.82rem;}
.ph-flow-label.is-lam{background:#E0F2FE;color:#0369A1;}
.ph-flow-label.is-turb{background:#FEF3C7;color:#92400E;}
.ph-lube-out.is-ok{background:#DCFCE7;color:#166534;}
.ph-lube-out.is-bad{background:#FEE2E2;color:#991B1B;}
.ph-lube-select{width:100%;padding:10px;border:2px solid #E2E8F0;border-radius:10px;font-weight:800;font-family:inherit;margin:8px 0;}
.ph-depth-slider,.ph-man-h,.ph-hyd-f,.ph-brown-heat,.ph-kelvin-c,.ph-pv-p,.ph-pv-v,.ph-pv-t,.ph-boyle-v{width:100%;margin:10px 0;}
.ph-hyd-stage{background:linear-gradient(180deg,#E0F2FE 0%,#BAE6FD 100%);border-radius:16px;padding:20px;text-align:center;border:2px solid #38BDF8;margin:12px 0;min-height:100px;position:relative;overflow:hidden;}
.ph-hyd-car{font-size:2.5rem;display:inline-block;transition:transform .35s ease;}
.ph-hyd-small{font-size:1.2rem;margin-top:8px;}
.ph-pv-sliders{display:grid;gap:8px;}
.ph-pv-sliders label{font-size:.75rem;font-weight:900;color:#0369A1;display:flex;justify-content:space-between;}
/* ── G12 physics L10 visuals ── */
.guide-hero--ph-g12-l01{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#60A5FA 100%);border-bottom-color:#1D4ED8;}
.guide-hero--ph-g12-l02{background:linear-gradient(135deg,#0F766E 0%,#14B8A6 45%,#5EEAD4 100%);border-bottom-color:#0D9488;}
.guide-hero--ph-g12-l03{background:linear-gradient(135deg,#B45309 0%,#F59E0B 45%,#FCD34D 100%);border-bottom-color:#92400E;}
.guide-hero--ph-g12-l04{background:linear-gradient(135deg,#7C2D12 0%,#EA580C 45%,#FDBA74 100%);border-bottom-color:#9A3412;}
.guide-hero--ph-g12-l05{background:linear-gradient(135deg,#312E81 0%,#4F46E5 45%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.guide-hero--ph-g12-l06{background:linear-gradient(135deg,#065F46 0%,#059669 45%,#34D399 100%);border-bottom-color:#047857;}
.guide-hero--ph-g12-l07{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#F9A8D4 100%);border-bottom-color:#9D174D;}
.ph-g12-mag-readout,.ph-g12-force-readout,.ph-g12-meter-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-mag-rule,.ph-g12-meter-wiring{text-align:center;font-size:.78rem;font-weight:900;color:#6366F1;margin-top:8px;padding:10px;background:#EEF2FF;border-radius:10px;}
.ph-g12-mag-grid,.ph-g12-meter-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-mag-btn,.ph-g12-meter-btn{padding:10px 14px;border:2px solid #C7D2FE;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#4338CA;}
.ph-g12-mag-btn.is-active,.ph-g12-meter-btn.is-active{background:#4F46E5;color:#fff;border-color:#4338CA;}
.ph-g12-mag-panel{margin-top:8px;}
.guide-hero--ph-g12-l08{background:linear-gradient(135deg,#4C1D95 0%,#7C3AED 45%,#C4B5FD 100%);border-bottom-color:#5B21B6;}
.guide-hero--ph-g12-l09{background:linear-gradient(135deg,#0E7490 0%,#0891B2 45%,#67E8F9 100%);border-bottom-color:#0E7490;}
.guide-hero--ph-g12-l10{background:linear-gradient(135deg,#B45309 0%,#F59E0B 45%,#FDE047 100%);border-bottom-color:#92400E;}
.guide-hero--ph-g12-l11{background:linear-gradient(135deg,#14532D 0%,#16A34A 45%,#86EFAC 100%);border-bottom-color:#15803D;}
.guide-hero--ph-g12-l12{background:linear-gradient(135deg,#9F1239 0%,#E11D48 45%,#FDA4AF 100%);border-bottom-color:#BE123C;}
.guide-hero--ph-g12-l13{background:linear-gradient(135deg,#1E3A8A 0%,#2563EB 45%,#93C5FD 100%);border-bottom-color:#1D4ED8;}
.guide-hero--ph-g12-l14{background:linear-gradient(135deg,#581C87 0%,#9333EA 45%,#E9D5FF 100%);border-bottom-color:#7E22CE;}
.guide-hero--ph-g12-l15{background:linear-gradient(135deg,#0F172A 0%,#334155 45%,#94A3B8 100%);border-bottom-color:#1E293B;}
.guide-hero--ph-g12-l16{background:linear-gradient(135deg,#312E81 0%,#4F46E5 45%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.guide-hero--ph-g12-l17{background:linear-gradient(135deg,#134E4A 0%,#0D9488 45%,#5EEAD4 100%);border-bottom-color:#0F766E;}
.guide-hero--ph-g12-l18{background:linear-gradient(135deg,#831843 0%,#DB2777 45%,#FBCFE8 100%);border-bottom-color:#9D174D;}
.guide-hero--ph-g12-l19{background:linear-gradient(135deg,#1E1B4B 0%,#6366F1 45%,#C7D2FE 100%);border-bottom-color:#4338CA;}
.guide-hero--ph-g12-l20{background:linear-gradient(135deg,#064E3B 0%,#059669 45%,#6EE7B7 100%);border-bottom-color:#047857;}
.guide-hero--ph-g12-l21{background:linear-gradient(135deg,#312E81 0%,#4F46E5 45%,#A5B4FC 100%);border-bottom-color:#3730A3;}
.ph-g12-bohr-canvas,.ph-g12-xray-canvas,.ph-g12-bohr-spec,.ph-g12-laser-canvas,.ph-g12-emit-canvas,.ph-g12-cavity-canvas,.ph-g12-hene-canvas,.ph-g12-band-canvas,.ph-g12-junc-canvas{width:100%;max-width:100%;border-radius:14px;border:2px solid #E2E8F0;background:#0F172A;display:block;margin:10px 0;}
.ph-g12-laser-readout,.ph-g12-cavity-readout,.ph-g12-semi-readout,.ph-g12-logic-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-laser-prop-btn,.ph-g12-laser-src-btn,.ph-g12-emit-btn,.ph-g12-mat-btn,.ph-g12-dope-btn,.ph-g12-gate-btn{padding:8px 12px;border:2px solid #FBCFE8;border-radius:12px;background:#fff;font-weight:900;font-size:.72rem;cursor:pointer;font-family:inherit;color:#9D174D;}
.ph-g12-laser-prop-btn.is-active,.ph-g12-laser-src-btn.is-active,.ph-g12-emit-btn.is-active,.ph-g12-mat-btn.is-active,.ph-g12-dope-btn.is-active,.ph-g12-gate-btn.is-active{background:#DB2777;color:#fff;border-color:#BE185D;}
.ph-g12-laser-toggle,.ph-g12-semi-toggle,.ph-g12-logic-toggle{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-logic-in{padding:12px 18px;border:2px solid #C7D2FE;border-radius:12px;background:#fff;font-weight:900;cursor:pointer;font-family:inherit;}
.ph-g12-logic-in.is-on{background:#4F46E5;color:#fff;border-color:#4338CA;}
.ph-g12-bulb{width:48px;height:48px;border-radius:50%;background:#E2E8F0;border:3px solid #CBD5E1;margin:10px auto;transition:all .2s;}
.ph-g12-bulb.is-lit{background:#FDE047;border-color:#EAB308;box-shadow:0 0 20px #FDE047;}
.ph-g12-vce-track{height:12px;border-radius:99px;background:#E2E8F0;margin:10px 0;overflow:hidden;}
.ph-g12-vce-bar{height:100%;background:linear-gradient(90deg,#22C55E,#EF4444);border-radius:99px;transition:width .2s;}
.ph-g12-truth-table{display:grid;gap:4px;margin:10px 0;}
.ph-g12-truth-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px;border-radius:8px;background:#fff;border:2px solid #E2E8F0;font-size:.78rem;font-weight:800;text-align:center;}
.ph-g12-truth-row.is-active{background:#EEF2FF;border-color:#6366F1;}
.ph-g12-truth-row--head{background:#FDF2F8;color:#9D174D;font-weight:900;}
.ph-g12-logic-b-panel{display:grid;gap:6px;}
.ph-g12-holo-demo{position:relative;height:90px;border-radius:14px;background:linear-gradient(135deg,#1E293B,#334155);border:2px solid #6366F1;margin:10px 0;overflow:hidden;}
.ph-g12-holo-beam{position:absolute;height:2px;background:linear-gradient(90deg,#F472B6,#22D3EE);transform-origin:left center;}
.ph-g12-bohr-readout,.ph-g12-xray-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-series-grid,.ph-g12-spec-toggle{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-series-btn,.ph-g12-spec-btn{padding:8px 12px;border:2px solid #C7D2FE;border-radius:12px;background:#fff;font-weight:900;font-size:.72rem;cursor:pointer;font-family:inherit;color:#4338CA;}
.ph-g12-series-btn.is-active,.ph-g12-spec-btn.is-active{background:#4F46E5;color:#fff;border-color:#4338CA;}
.ph-g12-level-ladder{display:grid;gap:4px;margin:10px 0;}
.ph-g12-level-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#F8FAFC;border:2px solid #E2E8F0;font-size:.78rem;font-weight:800;}
.ph-g12-level-bar{height:10px;border-radius:99px;flex:1;min-width:60px;}
.ph-g12-prism-demo{position:relative;height:80px;border-radius:14px;background:linear-gradient(90deg,#fff 0%,#fff 30%,transparent 30%),linear-gradient(135deg,#E0E7FF,#FDF4FF);border:2px solid #C7D2FE;margin:10px 0;overflow:hidden;}
.ph-g12-prism-ray{position:absolute;top:50%;left:8%;width:55%;height:3px;background:linear-gradient(90deg,#fff,#FDE047,#22C55E,#3B82F6,#8B5CF6);transform:rotate(12deg);transform-origin:left center;border-radius:99px;}
.ph-g12-absorption-demo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;}
.ph-g12-spec-panel{padding:12px;border-radius:12px;border:2px solid #E2E8F0;font-size:.75rem;font-weight:800;text-align:center;}
.ph-g12-spec-panel--emit{background:linear-gradient(90deg,#1E293B 0%,#1E293B 15%,#EF4444 15%,#EF4444 18%,#1E293B 18%,#1E293B 35%,#22C55E 35%,#22C55E 38%,#1E293B 38%);}
.ph-g12-spec-panel--abs{background:linear-gradient(90deg,#FDE047 0%,#FDE047 15%,#1E293B 15%,#1E293B 18%,#FDE047 18%,#FDE047 35%,#1E293B 35%,#1E293B 38%,#FDE047 38%);}
.ph-g12-coolidge-schematic{display:grid;grid-template-columns:1fr 2fr 1fr;gap:6px;align-items:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,#ECFEFF,#F0FDFA);border:2px solid #99F6E4;margin:10px 0;}
.ph-g12-coolidge-part{text-align:center;font-size:.72rem;font-weight:900;padding:10px;border-radius:10px;background:#fff;border:2px solid #5EEAD4;}
.ph-g12-bb-readout,.ph-g12-ph-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-spectrum-strip{display:flex;height:12px;border-radius:99px;overflow:hidden;margin:10px 0;background:linear-gradient(90deg,#4C1D95,#2563EB,#22C55E,#EAB308,#EF4444);}
.ph-g12-quantum-card{padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#FAF5FF,#F3E8FF);border:2px solid #DDD6FE;font-size:.82rem;font-weight:700;line-height:1.65;margin:6px 0;}
.ph-g12-thermal-readout,.ph-g12-z-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-ac-mode-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-ac-mode-btn{padding:8px 12px;border:2px solid #BFDBFE;border-radius:12px;background:#fff;font-weight:900;font-size:.72rem;cursor:pointer;font-family:inherit;color:#1D4ED8;}
.ph-g12-ac-mode-btn.is-active{background:#2563EB;color:#fff;border-color:#1D4ED8;}
.ph-g12-phase-bar{height:10px;border-radius:99px;background:linear-gradient(90deg,#EF4444,#F59E0B,#22C55E,#3B82F6);margin:10px 0;position:relative;}
.ph-g12-phase-marker{position:absolute;top:-4px;width:14px;height:18px;background:#1E293B;border-radius:4px;transform:translateX(-50%);}
.ph-g12-ocr-block{padding:14px 16px;border-radius:12px;background:#fff;border-right:4px solid #6366F1;font-size:.84rem;font-weight:700;line-height:1.75;color:#334155;margin:8px 0;}
.ph-g12-ocr-block--ministry{border-right-color:#059669;background:#F0FDF4;}
.ph-g12-ocr-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:8px;background:#EEF2FF;color:#4338CA;font-weight:900;margin-left:8px;font-size:.75rem;}
.ph-g12-emf-readout,.ph-g12-coil-readout,.ph-g12-gen-readout,.ph-g12-tr-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-lenz-panel{text-align:center;font-size:.82rem;font-weight:900;padding:12px;border-radius:10px;background:#FEF3C7;color:#92400E;margin-top:8px;}
.ph-g12-lenz-grid,.ph-g12-coil-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-lenz-btn,.ph-g12-coil-btn{padding:10px 14px;border:2px solid #DDD6FE;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#5B21B6;}
.ph-g12-lenz-btn.is-active,.ph-g12-coil-btn.is-active{background:#7C3AED;color:#fff;border-color:#6D28D9;}
.ph-g12-step-track{display:grid;gap:6px;margin:12px 0;}
.ph-g12-step-card{display:flex;gap:12px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#F8FAFC,#EFF6FF);border:2px solid #E2E8F0;font-size:.82rem;font-weight:700;line-height:1.6;}
.ph-g12-step-card span:first-child{flex-shrink:0;font-weight:900;color:#4338CA;}
.ph-g12-formula-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0;}
.ph-g12-formula-card{padding:14px;border-radius:14px;background:#fff;border:2px solid #BAE6FD;text-align:center;font-weight:900;font-size:.82rem;color:#0369A1;}
.ph-g12-unit-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-unit-chip{padding:8px 12px;border-radius:99px;background:#E0F2FE;color:#0369A1;font-weight:900;font-size:.75rem;border:2px solid #7DD3FC;}
.ph-g12-law-ladder{display:grid;gap:8px;margin:12px 0;}
.ph-g12-law-step{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#fff;border:2px solid #E2E8F0;font-weight:800;font-size:.82rem;}
.ph-g12-law-step span:first-child{min-width:36px;height:36px;border-radius:10px;background:#2563EB;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;}
.ph-g12-myth-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:12px 0;}
.ph-g12-myth-box{padding:14px;border-radius:14px;font-weight:800;font-size:.82rem;line-height:1.5;}
.ph-g12-myth-box--good{background:#DCFCE7;border:2px solid #86EFAC;color:#166534;}
.ph-g12-myth-box--bad{background:#FEE2E2;border:2px solid #FCA5A5;color:#991B1B;}
.ph-g12-myth-vs{font-weight:900;color:#64748B;font-size:.9rem;}
.ph-g12-ind-table{display:grid;gap:4px;margin:12px 0;}
.ph-g12-ind-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;border-radius:10px;background:#fff;border:2px solid #E2E8F0;font-size:.78rem;font-weight:800;}
.ph-g12-ind-row--head{background:#E0F2FE;color:#0369A1;font-weight:900;}
.ph-g12-wire-grid,.ph-g12-fg-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-wire-btn,.ph-g12-fg-btn{padding:10px 16px;border:2px solid #BAE6FD;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#0369A1;}
.ph-g12-wire-btn.is-active,.ph-g12-fg-btn.is-active{background:#2563EB;color:#fff;border-color:#1D4ED8;}
.ph-g12-slider-row{display:grid;gap:6px;margin:8px 0;font-size:.75rem;font-weight:900;color:#0369A1;}
.ph-g12-slider-row input{width:100%;}
.ph-g12-current-readout,.ph-g12-wire-readout,.ph-g12-closed-readout,.ph-g12-kcl-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.6;}
.ph-g12-wire-hint{text-align:center;font-size:.78rem;font-weight:900;color:#64748B;margin-top:8px;}
.ph-g12-bridge-card{display:flex;gap:12px;align-items:center;padding:16px;border-radius:14px;background:linear-gradient(135deg,#EFF6FF,#DBEAFE);border:2px solid #93C5FD;font-weight:800;}
.ph-g12-vi-readout,.ph-g12-meas-readout{font-size:.85rem;font-weight:800;padding:14px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;margin-top:10px;line-height:1.65;}
.ph-g12-vi-canvas,.ph-g12-meas-canvas{width:100%;max-width:100%;border-radius:14px;border:2px solid #BFDBFE;background:#fff;display:block;margin:10px 0;}
.ph-g12-meas-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-meas-mode{padding:10px 16px;border:2px solid #BAE6FD;border-radius:12px;background:#fff;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;color:#0369A1;}
.ph-g12-meas-mode.is-active{background:#2563EB;color:#fff;border-color:#1D4ED8;}
.ph-g12-fig-block{margin:16px 0;padding:14px;border-radius:16px;background:#fff;border:2px solid #E2E8F0;}
.ph-g12-fig-visual img{width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:#F8FAFC;}
.ph-g12-fig-caption{margin-top:10px;font-size:.82rem;font-weight:700;line-height:1.65;color:#334155;}
.ph-g12-fig-caption-head{display:flex;align-items:center;gap:8px;font-weight:900;color:#1D4ED8;margin-bottom:6px;}
.ph-g12-flash-deck,.ph-g12-streak-path{margin:12px 0;text-align:center;}
.ph-g12-flash-item{display:none;}
.ph-g12-flash-hint{font-size:.72rem;font-weight:700;color:#94A3B8;margin:0 0 12px;}
.ph-g12-flash-scene{perspective:1200px;margin:0 auto 14px;max-width:420px;}
.ph-g12-flash-flipper{position:relative;width:100%;min-height:200px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);cursor:pointer;}
.ph-g12-flash-flipper.is-flipped{transform:rotateY(180deg);}
.ph-g12-flash-front,.ph-g12-flash-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 20px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 18px 40px rgba(15,23,42,.22),0 4px 12px rgba(37,99,235,.15);font-weight:900;line-height:1.75;text-align:center;}
.ph-g12-flash-front{background:linear-gradient(145deg,#2563EB 0%,#1D4ED8 55%,#1E3A8A 100%);color:#fff;font-size:1.05rem;border:3px solid #60A5FA;}
.ph-g12-flash-back{background:linear-gradient(145deg,#1E293B 0%,#334155 100%);color:#EFF6FF;font-size:.88rem;transform:rotateY(180deg);border:3px solid #475569;}
.ph-g12-flash-deck::before{content:'';display:block;height:8px;width:72%;margin:0 auto 10px;border-radius:99px;background:linear-gradient(90deg,transparent,#2563EB,transparent);opacity:.35;}
.ph-g12-flash-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px;}
.ph-g12-flash-btn{padding:10px 18px;border-radius:12px;border:2px solid #93C5FD;background:#fff;color:#1D4ED8;font-weight:900;font-size:.78rem;cursor:pointer;font-family:inherit;transition:transform .12s,background .12s;box-shadow:0 2px 8px rgba(37,99,235,.12);}
.ph-g12-flash-btn:hover{background:#EFF6FF;transform:translateY(-1px);}
.ph-g12-flash-progress{font-size:.75rem;font-weight:900;color:#64748B;margin-top:10px;display:block;}
.ph-g12-streak-step{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:#fff;border:2px solid #E2E8F0;margin:6px 0;cursor:pointer;font-size:.82rem;font-weight:700;}
.ph-g12-streak-step.is-done{background:#DCFCE7;border-color:#86EFAC;}
.ph-g12-streak-step span:first-child{min-width:28px;height:28px;border-radius:8px;background:#2563EB;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.75rem;}
.ph-g12-obj-pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.ph-g12-obj-pills span{padding:8px 12px;border-radius:99px;background:#EEF2FF;color:#4338CA;font-weight:900;font-size:.75rem;border:2px solid #C7D2FE;}
@media(max-width:640px){.ph-sort-wrap{grid-template-columns:1fr;}.ph-float-pool{grid-template-columns:repeat(2,1fr);}.ph-cont-readouts{grid-template-columns:1fr;}.ph-g12-myth-duel{grid-template-columns:1fr;}.ph-g12-ind-row{grid-template-columns:1fr 1fr;}}



/* === WIDGET FILE: guide-styles.blade.php === */

/* ══ 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;}


