:root {
    --bg-main: #F8FAFC;
    --bg-panel: #FFFFFF;
    --border-color: #E2E8F0;
    --text-main: #0F172A;
    --text-muted: #475569;
    --bg-glass: rgba(255,255,255,.75);
    --glass-border: rgba(15,23,42,.08);
    --shadow-glass: 0 10px 30px -5px rgba(15,23,42,.04), 0 4px 6px -2px rgba(15,23,42,.02);
    --neon-shadow: 0 4px 20px rgba(37,99,235,.03);
}
.dark {
    --bg-main: #05050A;
    --bg-panel: #0B0C15;
    --border-color: #1A1C2E;
    --text-main: #FFFFFF;
    --text-muted: #94A3B8;
    --bg-glass: rgba(10,11,20,.65);
    --glass-border: rgba(255,255,255,.08);
    --shadow-glass: 0 4px 30px rgba(0,0,0,.25);
    --neon-shadow: 0 0 35px rgba(37,99,235,.35),0 0 70px rgba(124,58,237,.2);
}
body{background-color:var(--bg-main);color:var(--text-main);font-family:'Vazirmatn',sans-serif;transition:background-color .3s ease,color .3s ease;}
.glass-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);}
.text-gradient{background:linear-gradient(to left,#3B82F6,#8B5CF6,#EC4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hover-glow:hover{box-shadow:0 10px 30px rgba(59,130,246,.12);border-color:rgba(59,130,246,.3);}
.pulse-ring{animation:pulse 2s infinite;}
@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(37,99,235,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(37,99,235,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(37,99,235,0)}}
.float-slow{animation:float 8s ease-in-out infinite}.float-medium{animation:float 6s ease-in-out infinite reverse}.float-fast{animation:float 4s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
.neon-text{text-shadow:var(--neon-shadow)}@keyframes shimmer{100%{transform:translateX(100%)}}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#2563EB}
.mobile-menu{max-height:0;overflow:hidden;transition:max-height .3s ease}.mobile-menu.open{max-height:420px}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prose-mg p{margin-bottom:1rem}.prose-mg ul{list-style:disc;padding-right:1.5rem;margin:1rem 0}.prose-mg a{color:#60a5fa}
