/* ToolDownload.net — custom styles on top of Tailwind CDN */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1 !important; transform: none !important; } }

body { -webkit-font-smoothing: antialiased; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 6px; border: 2px solid #f1f5f9; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Line clamp helpers (in case CDN build lacks the plugin) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Scroll-reveal animation */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Article prose */
.prose-td { color: #334155; line-height: 1.8; font-size: 1.02rem; }
.prose-td p { margin: 0 0 1.1rem; }
.prose-td h2, .prose-td h3 { color: #0f172a; font-weight: 700; margin: 1.6rem 0 .8rem; font-family: 'Sora','Inter',sans-serif; }
.prose-td h3 { font-size: 1.2rem; }
.prose-td ul { list-style: disc; padding-left: 1.4rem; margin: 0 0 1.1rem; }
.prose-td ol { list-style: decimal; padding-left: 1.4rem; margin: 0 0 1.1rem; }
.prose-td li { margin: .35rem 0; }
.prose-td a { color: #2563eb; text-decoration: underline; text-underline-offset: 2px; }
.prose-td strong { color: #0f172a; }
.prose-td blockquote { border-left: 4px solid #2563eb; padding-left: 1rem; color: #475569; font-style: italic; margin: 1.2rem 0; }
.prose-td code { background: #f1f5f9; padding: .15rem .4rem; border-radius: .35rem; font-size: .9em; }

/* Smooth anchor offset for sticky header */
:target { scroll-margin-top: 90px; }

/* Ad slot placeholder look (only visible if AdSense disabled and you add manual fill) */
.ad-slot:empty { display: none; }
