:root { --motion-ease: cubic-bezier(.2,.7,.2,1); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.nav.scrolled { box-shadow: 0 8px 28px #0002; }
.footer-col ul a { color: #a2a6b7; }
.footer-brand p, .footer-bottom p { color: #9296aa; }
#reviews-summary[hidden] { display: flex; visibility: hidden; min-height: 24px; }
.review-skeleton { position: relative; overflow: hidden; min-height: 236px; padding: 18px; border: 1px solid #a855f721; border-radius: 10px; background: #10111d; }
.review-skeleton::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 25%, #c084fc08 50%, transparent 75%); animation: skeleton-light 1.7s ease-in-out infinite; }
.skeleton-author { width: 65%; height: 32px; border-radius: 7px; background: #a397ba13; margin-bottom: 24px; }
.skeleton-line { height: 10px; width: 90%; background: #a397ba13; border-radius: 4px; margin-bottom: 12px; }
.skeleton-line.short { width: 55%; }
.skeleton-stars { width: 65%; height: 42px; border-radius: 6px; background: #a397ba0c; margin-top: 25px; }
.btn, .p-buy, .btn-login-discord, .hero-discord { transition: transform .22s var(--motion-ease), box-shadow .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease; }
.btn:active, .p-buy:active { transform: translateY(1px) scale(.98); }
.btn-primary { position: relative; overflow: hidden; box-shadow: 0 5px 22px #7c3aed26; }
.btn-primary::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 20%, #ffffff20 45%, transparent 70%); translate: -130% 0; transition: translate .65s var(--motion-ease); }
.p-card, .review-card, .how-card, .profile-card, .purchase-card { transition: transform .3s var(--motion-ease), border-color .3s ease, box-shadow .3s ease; }
.store-product-image { transition: transform .6s var(--motion-ease); }
.nav-links a, .footer-col ul a { position: relative; }
.nav-links a::after, .footer-col ul a::after { content: ''; position: absolute; height: 1px; bottom: -5px; left: 0; right: 0; background: var(--purple-l); scale: 0 1; transform-origin: left; transition: scale .25s var(--motion-ease); }
.nav-links a.active::after { scale: 1 1; }
.footer-col h4 { text-shadow: 0 0 20px #ffffff08; }
.home-hero::before { animation: ambient-glow 12s ease-in-out infinite alternate; }
.lua-editor { animation: editor-float 7s ease-in-out infinite; }
.lua-code { scrollbar-width: none; }
.lua-code::-webkit-scrollbar { display: none; }
.code-line { animation: code-appear .65s ease both; }
.code-line:nth-child(2n) { animation-delay: .12s; }
.code-line:nth-child(3n) { animation-delay: .24s; }
.code-line:nth-child(n+8) { animation-delay: .36s; }
.code-line:last-child::after { content: ''; display: inline-block; width: 5px; height: 1em; vertical-align: -.12em; margin-left: 5px; background: var(--purple-l); animation: code-caret 1.2s steps(1) infinite; }
.community-online i { box-shadow: 0 0 0 3px #48bf8312; }
.how-icon { transition: transform .3s var(--motion-ease), border-color .3s ease, background-color .3s ease; }
@media (hover: hover) and (pointer: fine) {
  .btn:hover, .btn-login-discord:hover { transform: translateY(-2px); }
  .btn-primary:hover { box-shadow: 0 8px 28px #8b5cf644; }
  .btn-primary:hover::after { translate: 130% 0; }
  .p-card:hover .store-product-image { transform: scale(1.035); }
  .review-card:hover, .how-card:hover { transform: translateY(-4px); border-color: #a855f755; box-shadow: 0 16px 32px #0003; }
  .how-card:hover .how-icon { transform: translateY(-2px) rotate(-4deg); background: #a855f71a; border-color: #a855f766; }
  .nav-links a:hover::after, .footer-col ul a:hover::after { scale: 1 1; }
  .lua-editor:hover { animation-play-state: paused; }
}
@keyframes ambient-glow { from { opacity: .65; } to { opacity: 1; } }
@keyframes skeleton-light { from { translate: -100% 0; } to { translate: 100% 0; } }
@keyframes editor-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes code-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes code-caret { 0%, 50% { opacity: .8; } 51%, 100% { opacity: 0; } }
@media (max-width: 800px) { .lua-editor { animation: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
  .btn:hover, .p-card:hover, .review-card:hover, .how-card:hover, .btn-login-discord:hover, .how-card:hover .how-icon, .p-card:hover .store-product-image { transform: none !important; }
}
