@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap";:root{--bg-base:#0d0d1a;--bg-surface:#13132a;--bg-card:#1a1a35;--bg-hover:#22224a;--border:#2a2a50;--border-light:#35357a;--accent:#7c5cfc;--accent-light:#9d82ff;--accent-glow:#7c5cfc40;--gold:#f5c842;--gold-light:#fde27a;--gold-glow:#f5c84233;--green:#22d3a0;--green-glow:#22d3a033;--red:#f87171;--red-glow:#f8717133;--text-primary:#e8e8ff;--text-secondary:#88b;--text-muted:#55558a;--sidebar-width:240px;--topbar-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 4px 24px #0006;--shadow-glow:0 0 40px #7c5cfc26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Syne,sans-serif;line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:DM Sans,sans-serif}input,select,textarea{font-family:DM Sans,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.text-sm{font-size:13px}.text-xs{font-size:11px}.font-semibold{font-weight:600}.font-bold{font-weight:700}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);padding-top:var(--topbar-height);background:var(--bg-base);flex:1;min-height:100vh}.page-inner{max-width:1200px;padding:32px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s forwards fadeUp}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-hover) 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:400px 100%;animation:1.4s infinite shimmer}
