* { font-style: normal !important; }
@media (max-width: 640px) {
  body { background:#f4f9fc; }
  .app-shell { display:block; min-height:100vh; }
  .sidebar { position:fixed; z-index:10; left:0; right:0; bottom:0; width:auto; height:68px; padding:6px 10px max(6px,env(safe-area-inset-bottom)); background:rgba(255,255,255,.92); border-top:1px solid #e4edf2; box-shadow:0 -8px 24px rgba(102,139,164,.1); }
  .brand,.sidebar-bottom { display:none; }
  nav { display:flex; height:100%; justify-content:space-around; gap:4px; }
  .sidebar .nav-item { flex:1; justify-content:center; text-align:center; padding:7px 4px; border-radius:15px; font-size:11px; }
  .sidebar .nav-item span { display:block; }
  .content { max-width:none; padding:18px 14px 92px; }
  .topbar { margin-bottom:18px; }
  .topbar h1 { font-size:22px; }
  .profile { padding:8px 10px; }
  .hero { padding:22px 18px; border-radius:22px; }
  .hero h2 { font-size:28px; }
  .hero-orbit { display:none; }
  .task-grid,.dashboard-lower,.practice-layout { grid-template-columns:1fr; }
  .section-head { margin:24px 0 12px; }
  .task-card,.panel,.question-card,.feedback-card { border-radius:18px; }
  .plan-summary { gap:18px; justify-content:space-between; }
  .calendar-row { overflow-x:auto; justify-content:flex-start; gap:6px; }
  .calendar-day { flex:0 0 58px; }
  .question-card,.feedback-card,.panel { padding:18px; }
}
