html,body{scrollbar-color:var(--primary)var(--muted);scrollbar-width:12px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--primary);background-color:var(--primary-txt);border:2px solid var(--primary);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--primary-bright)}::-webkit-scrollbar-button{background-color:var(--primary-txt)}::-webkit-scrollbar-button:hover{background-color:var(--primary-bright)}:root body[data-scroll-locked][data-scroll-locked]{overflow:auto!important}:root body[data-scroll-locked]{margin-right:0!important}
.prose{color:var(--primary-txt);line-height:1.6}.prose a{color:var(--accent);text-decoration:none;transition:color .2s}.prose a:hover{color:var(--accent-bright);text-decoration:underline}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--foreground);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.2}.prose p{margin-top:1em;margin-bottom:1em}.prose strong{color:var(--foreground);font-weight:600}.prose code{background-color:var(--muted);border-radius:.3em;padding:.15em .3em;font-family:monospace;font-size:.9em}.prose pre{background-color:var(--muted);border-radius:.5em;padding:1em;overflow-x:auto}.prose blockquote{border-left:4px solid var(--border);color:var(--muted-foreground);margin:1.5em 0;padding:.5em 1em;font-style:italic}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);padding:.5em .75em}.prose thead{border-bottom:2px solid var(--border)}.dark .prose{color:var(--muted-foreground)}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose strong{color:var(--foreground)}.dark .prose th{background-color:var(--color-white);font-weight:600}.dark .prose td{background-color:var(--card)}
@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 2px #ffffff80)drop-shadow(0 0 4px #8754ff80)}50%{filter:drop-shadow(0 0 6px #fffc)drop-shadow(0 0 12px #50fc)}}.animate-glow{animation:1.5s ease-in-out infinite pulse-glow}.ripple-container{position:relative;overflow:hidden}.ripple-container:after{content:"";opacity:.3;pointer-events:none;background-color:var(--ripple-color,#ffffff80);border-radius:50%;width:100px;height:100px;animation:.6s linear ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes rainbow-shift{0%{background-position:0 0}50%{background-position:100%}to{background-position:0 100%}}
