:root{--p:#3730A3;--ai:#8B5CF6;--c:#06B6D4;--bg:#F8FAFC;--ink:#0F172A;--mut:#64748B}
*{box-sizing:border-box}
body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--ink)}
.mono{font-family:'JetBrains Mono',monospace}
.grad{background:linear-gradient(90deg,#8B5CF6,#4F46E5,#06B6D4);-webkit-background-clip:text;background-clip:text;color:transparent}
.gbtn{background:linear-gradient(90deg,#7C3AED,#4F46E5 55%,#06B6D4);color:#fff}
.card{background:#fff;border:1px solid #EEF2FF;border-radius:20px;box-shadow:0 10px 40px rgba(55,48,163,.06)}
.eyebrow{font-size:11px;letter-spacing:.45em;text-transform:uppercase;font-weight:600}
.glass{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 30px rgba(99,102,241,.15)}
.fade{animation:fade .5s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.shimmer{background:linear-gradient(90deg,#EEF2FF 25%,#F5F3FF 50%,#EEF2FF 75%);background-size:200% 100%;animation:sh 1.2s infinite;border-radius:10px}
@keyframes sh{to{background-position:-200% 0}}
.wave span{display:inline-block;width:3px;margin:0 1px;background:#8B5CF6;border-radius:2px;animation:wv 1s infinite ease-in-out}
@keyframes wv{0%,100%{height:6px}50%{height:22px}}
.prose h1{font-size:1.6rem;font-weight:800;margin:.6em 0}.prose h2{font-size:1.2rem;font-weight:700;margin:.9em 0 .4em;color:#3730A3}
.prose h3{font-weight:700;margin:.7em 0 .3em}.prose p{margin:.4em 0;line-height:1.65}.prose ul{list-style:disc;padding-left:1.3em}.prose ol{list-style:decimal;padding-left:1.3em}
.prose table{border-collapse:collapse;margin:.6em 0}.prose td,.prose th{border:1px solid #E2E8F0;padding:4px 8px;font-size:13px}
.prose code{background:#F1F5F9;padding:1px 4px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:12px}
.prose pre{background:#0F172A;color:#E2E8F0;padding:12px;border-radius:12px;overflow:auto}
.prose pre code{background:none;color:inherit}
.spark{position:fixed;pointer-events:none;font-size:20px;animation:sp 1.4s ease-out forwards;z-index:99}
@keyframes sp{to{transform:translate(var(--x),var(--y)) scale(.3) rotate(200deg);opacity:0}}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#E0E7FF;border-radius:8px}