.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.scroll-smooth{scroll-behavior:smooth}@media (max-width:768px){.touch-target{min-height:44px;min-width:44px}.estudar-button-mobile{padding:12px 16px;font-size:16px;font-weight:600;border-radius:12px}.header-mobile-compact{padding:12px 16px}.modal-mobile-fullscreen{margin:8px;max-height:calc(100vh - 16px);border-radius:16px 16px 0 0}.accordion-mobile{padding:12px}.text-responsive{font-size:14px;line-height:1.4}.card-mobile{padding:12px;margin-bottom:12px}.buttons-stack-mobile{display:flex;flex-direction:column;gap:8px}.text-mobile-contrast{color:rgba(255,255,255,.95);text-shadow:0 1px 2px rgba(0,0,0,.3)}}@media (prefers-reduced-motion:no-preference){.animate-slide-in-mobile{animation:slideInMobile .3s ease-out}@keyframes slideInMobile{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}.focus-ring-mobile:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:8px}.interactive-mobile{-webkit-tap-highlight-color:rgba(59,130,246,.2);touch-action:manipulation}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.3) transparent}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(156,163,175,.3);border-radius:2px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgba(156,163,175,.5)}