
    /* ========== Progress Bar Indicator (replaces book icon) ========== */
    .fk-progress-wrap {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      position: relative;
      cursor: pointer;
      padding: 8px;
      margin: -8px;
    }
    .fk-progress-bar {
      width: 64px;
      height: 14px;
      border-radius: 7px;
      background: #f1f5f9;
      border: 1.5px solid #cbd5e1;
      overflow: hidden;
      position: relative;
    }
    .fk-progress-fill {
      display: block;
      height: 100%;
      border-radius: 7px;
      transition: width 0.3s ease;
    }
    .fk-progress-fill.fk-fill-completed {
      background: linear-gradient(90deg, #34d399, #10b981);
      width: 100%;
    }
    .fk-progress-fill.fk-fill-inprogress {
      background: linear-gradient(90deg, #fcd34d, #f59e0b);
      width: 50%;
    }
    .fk-progress-fill.fk-fill-notstarted {
      background: #e2e8f0;
      min-width: 0;
      width: 0%;
    }
    .fk-progress-label {
      font-size: 11px;
      font-weight: 600;
      margin-right: 6px;
      white-space: nowrap;
      line-height: 1;
    }
    .fk-progress-label.fk-label-completed { color: #10b981; }
    .fk-progress-label.fk-label-inprogress { color: #f59e0b; }
    .fk-progress-label.fk-label-notstarted { color: #94a3b8; }
    /* Tooltip on hover */
    .fk-progress-tooltip {
      display: none;
      position: absolute;
      right: 0;
      top: calc(100% + 6px);
      background: rgba(55, 55, 55, 0.94);
      color: #fff;
      padding: 10px 14px;
      border-radius: 8px;
      font-size: 12px;
      line-height: 1.6;
      white-space: nowrap;
      z-index: 1000;
      box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    }
    .fk-progress-tooltip::before {
      content: '';
      position: absolute;
      bottom: 100%;
      right: 16px;
      border: 6px solid transparent;
      border-bottom-color: rgba(55, 55, 55, 0.94);
    }
    .fk-progress-wrap:hover .fk-progress-tooltip {
      display: block;
    }
    .fk-progress-tooltip .fk-tt-title {
      font-weight: 700;
      font-size: 13px;
      margin-bottom: 3px;
    }
    .fk-progress-tooltip .fk-tt-detail {
      color: #d1d5db;
      font-size: 12px;
    }
    /* Small icon version for home page (replaces stars) */
    .fk-status-icon {
      display: inline-flex;
      align-items: center;
      position: relative;
    }
    .fk-status-icon svg {
      width: 16px;
      height: 16px;
    }

    /* ========== Quiz Panel Styles ========== */
    .fk-quiz-section {
      margin-top: 32px;
      padding: 24px;
      background: linear-gradient(135deg, #f0f9ff, #eff6ff);
      border: 1px solid #bfdbfe;
      border-radius: 16px;
    }
    .fk-quiz-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 20px;
    }
    .fk-quiz-header h3 {
      font-size: 20px;
      font-weight: 700;
      color: #1e3a5f;
      margin: 0;
    }
    .fk-quiz-header .fk-quiz-icon {
      width: 36px;
      height: 36px;
      background: linear-gradient(135deg, #3b82f6, #6366f1);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 18px;
    }
    .fk-quiz-question {
      background: #fff;
      border-radius: 12px;
      padding: 16px 20px;
      margin-bottom: 14px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    }
    .fk-quiz-question .fk-q-label {
      font-size: 14px;
      font-weight: 600;
      color: #334155;
      margin-bottom: 10px;
    }
    .fk-quiz-question .fk-q-type {
      display: inline-block;
      font-size: 11px;
      padding: 1px 8px;
      border-radius: 6px;
      margin-right: 8px;
      font-weight: 600;
    }
    .fk-q-type-choice { background: #dbeafe; color: #1d4ed8; }
    .fk-q-type-code { background: #ede9fe; color: #6d28d9; }
    .fk-quiz-option {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      padding: 8px 12px;
      margin: 4px 0;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.15s;
      font-size: 14px;
      color: #475569;
      border: 1px solid transparent;
    }
    .fk-quiz-option:hover { background: #f1f5f9; }
    .fk-quiz-option.selected { background: #eff6ff; border-color: #93c5fd; }
    .fk-quiz-option.correct { background: #d1fae5; border-color: #6ee7b7; }
    .fk-quiz-option.wrong { background: #fee2e2; border-color: #fca5a5; }
    .fk-quiz-option input[type="radio"] {
      margin-top: 3px;
      accent-color: #3b82f6;
    }
    .fk-quiz-code-area {
      width: 100%;
      min-height: 80px;
      padding: 12px;
      font-family: 'Menlo', 'Monaco', 'Consolas', monospace;
      font-size: 13px;
      border: 1px solid #cbd5e1;
      border-radius: 8px;
      background: #f8fafc;
      resize: vertical;
      line-height: 1.5;
      box-sizing: border-box;
    }
    .fk-quiz-code-area:focus {
      outline: none;
      border-color: #6366f1;
      box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
    }
    .fk-quiz-submit-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 16px;
      padding: 10px 28px;
      background: linear-gradient(135deg, #3b82f6, #6366f1);
      color: #fff;
      border: none;
      border-radius: 10px;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      transition: transform 0.15s, box-shadow 0.15s;
    }
    .fk-quiz-submit-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(59,130,246,0.35);
    }
    .fk-quiz-submit-btn:disabled {
      opacity: 0.5;
      cursor: not-allowed;
      transform: none;
      box-shadow: none;
    }
    .fk-quiz-result {
      margin-top: 20px;
      padding: 16px 20px;
      border-radius: 12px;
      font-size: 15px;
    }
    .fk-quiz-result.pass {
      background: linear-gradient(135deg, #d1fae5, #a7f3d0);
      border: 1px solid #6ee7b7;
      color: #065f46;
    }
    .fk-quiz-result.fail {
      background: linear-gradient(135deg, #fee2e2, #fecaca);
      border: 1px solid #fca5a5;
      color: #991b1b;
    }
    .fk-quiz-result .fk-score {
      font-size: 28px;
      font-weight: 800;
      margin-right: 8px;
    }
    .fk-quiz-retry-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 12px;
      padding: 8px 20px;
      background: #fff;
      color: #3b82f6;
      border: 1px solid #93c5fd;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.15s;
    }
    .fk-quiz-retry-btn:hover { background: #eff6ff; }

    /* ========== Quiz Toggle Button ========== */
    .fk-quiz-toggle-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 24px;
      padding: 12px 24px;
      background: linear-gradient(135deg, #6366f1, #8b5cf6);
      color: #fff;
      border: none;
      border-radius: 12px;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      transition: transform 0.15s, box-shadow 0.15s;
      box-shadow: 0 2px 8px rgba(99,102,241,0.25);
    }
    .fk-quiz-toggle-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(99,102,241,0.35);
    }
    .fk-quiz-toggle-btn .fk-btn-icon {
      font-size: 18px;
    }

    /* (tooltip styles moved into .fk-status-icon above) */
  