:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-card:#222;--bg-elevated:#2a2a2a;--mushaf-bg:#fffef5;--mushaf-bg-dark:#1e1e1e;--text-primary:#f0ece4;--text-secondary:#a89f8c;--text-muted:#6b6358;--accent:#d4af37;--accent-light:#f4e199;--accent-dark:#b8962e;--accent-green:#1b6e4f;--accent-green-light:#2a9d6f;--border:#333;--border-light:#444;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4,0,.2,1);--font-ui:"Cairo","Segoe UI",system-ui,sans-serif;--font-arabic:"Amiri","Traditional Arabic",serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-ui);background-color:var(--bg-primary);color:var(--text-primary);min-height:100dvh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}ul,ol{list-style:none}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;padding:0 var(--space-md);margin:0 auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff14}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .4s var(--transition-slow)forwards}.animate-slide-up{animation:slideUp .5s var(--transition-slow)forwards}::selection{color:var(--text-primary);background:#d4af374d}
