html { scroll-behavior: smooth; }
body { background:#ffffff; color:#151a22; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
html.dark body { background:#0d1117; color:#e8ebef; }

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.float { animation: float 5s ease-in-out infinite; }

.card-glow { box-shadow:0 1px 0 0 rgba(47,91,234,.04), 0 24px 60px -24px rgba(47,91,234,.28); }

.fade-up { opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.fade-up.in { opacity:1; transform:translateY(0); }

::selection { background: rgba(47,91,234,.25); }

/* Readability: darken muted text on light backgrounds (keeps AA contrast) */
html:not(.dark) .text-muted { color:#5b6574; }

/* Long-form content (docs, blog, about) */
.prose { line-height:1.75; }
.prose > * + * { margin-top:1.1em; }
.prose h2 { font-size:1.45rem; font-weight:700; margin:1.8em 0 .5em; letter-spacing:-.01em; }
.prose h3 { font-size:1.15rem; font-weight:600; margin:1.5em 0 .3em; }
.prose a { color:#2f5bea; text-decoration:underline; text-underline-offset:2px; }
html.dark .prose a { color:#7092ff; }
.prose code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.88em; background:rgba(127,127,127,.14); padding:.12em .4em; border-radius:5px; }
.prose pre { background:#0d1117; color:#e8ebef; border:1px solid #2c323b; border-radius:12px; padding:16px 18px; overflow:auto; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.85rem; line-height:1.6; }
.prose pre code { background:none; padding:0; }
.prose ul { padding-left:1.25em; list-style:disc; }
.prose ol { padding-left:1.25em; list-style:decimal; }
.prose li { margin:.35em 0; }
.prose blockquote { border-left:3px solid #2f5bea; padding-left:1em; opacity:.9; font-style:italic; }
