@media (max-width: 480px) {
  body { font-size: 14px; }
  .topbar { position: sticky; top: 0; z-index: 20; height: 58px; padding: 0 13px; box-shadow: 0 2px 10px rgba(7,20,38,.18); }
  .brand { gap: 9px; }
  .brand-mark { width: 30px; height: 30px; font-size: 13px; }
  .brand strong { font-size: 15px; }
  .top-actions { gap: 0; }
  .ghost-btn { min-height: 40px; padding: 8px 10px; font-size: 12px; }
  .sidebar { padding: 12px 12px 10px; }
  .sidebar-heading { margin-bottom: 10px; }
  .select-control { height: 44px; margin-bottom: 9px; padding: 9px 10px; font-size: 13px; }
  .quick-links { margin: 0 -4px; padding: 0 4px 2px; scrollbar-width: none; }
  .quick-links::-webkit-scrollbar { display: none; }
  .quick-link { min-height: 40px; padding: 8px 9px; font-size: 12px; }
  .content { padding: 20px 12px 30px; }
  .quiz-heading, .section-intro { display: block; }
  .quiz-heading h1, .section-intro h1 { font-size: 22px; margin: 7px 0; }
  .quiz-heading p, .section-intro p { font-size: 12px; line-height: 1.6; }
  .quiz-heading .outline-btn, .section-intro .outline-btn { width: 100%; min-height: 42px; margin-top: 14px; }
  .progress-strip { margin: 20px 0 13px; }
  .progress-label { font-size: 11px; }
  .question-card { padding: 17px 13px 0; }
  .question-top { min-height: 32px; }
  .type-badge { padding: 5px 8px; }
  .question-number { font-size: 11px; }
  .star-btn { width: 44px; height: 44px; margin-right: -7px; font-size: 25px; }
  .question-card h2 { font-size: 17px; line-height: 1.72; margin: 17px 0 18px; word-break: break-word; }
  .options { gap: 8px; }
  .option { min-height: 50px; padding: 12px 10px; align-items: center; font-size: 14px; }
  .option-key { flex-basis: 25px; height: 25px; }
  .feedback { margin: 15px 0 0; padding: 11px 12px; font-size: 12px; }
  .question-actions { position: sticky; bottom: 0; z-index: 5; margin: 18px -13px 0; padding: 11px 13px 13px; background: rgba(255,255,255,.97); box-shadow: 0 -5px 14px rgba(22,48,78,.08); gap: 9px; }
  .question-actions button { flex: 1; min-height: 44px; font-size: 13px; }
  .jump-row { margin-top: 14px; flex-wrap: wrap; gap: 7px; font-size: 12px; }
  .jump-row label { width: 100%; }
  .jump-row input { width: 100px; height: 42px; }
  .icon-btn { min-width: 44px; height: 42px; }
  .stat-grid { gap: 8px; margin: 23px 0 14px; }
  .stat-card { padding: 14px 13px; }
  .stat-card strong { font-size: 23px; margin: 7px 0 3px; }
  .stat-card span { font-size: 11px; }
  .stat-card small { font-size: 10px; }
  .panel { padding: 17px 14px; }
  .panel-title { margin-bottom: 15px; }
  .bar-row { grid-template-columns: 52px 1fr 35px; gap: 7px; margin: 12px 0; font-size: 11px; }
  .advice { font-size: 12px; }
}
