:root{--primary-bg:#302047;--card-bg:#3C2C5E;--card-glow:rgba(91, 141, 239, 0.15);--card-border-gold:linear-gradient(135deg, rgba(91, 141, 239, 0.4), rgba(91, 141, 239, 0.2));--text-white:#ffffff;--text-gray:#9ca3af;--border-color:rgba(255, 255, 255, 0.08);--card-border-radius:20px;--image-border-radius:12px;--button-border-radius:14px;--card-padding:14px 16px;--image-margin:10px;--content-gap:12px;--title-font-size:1rem;--button-font-size:0.85rem;--title-letter-spacing:0.02em;--button-letter-spacing:0.08em;--hot-badge-red:#dc2626;--btn-gold-dark:#b8860b;--btn-gold-mid:#e8b923;--btn-gold-light:#f4d03f}.page-title .title{color:var(--primary-color);font-size:2.2rem;font-weight:700;letter-spacing:2px;font-family:Bangers,cursive}.page-title .des{color:var(--primary-color);font-size:1.1rem;font-weight:500;margin-top:2px;font-family:Nunito,sans-serif}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;width:100%;max-width:1400px;margin:0 auto;grid-auto-flow:dense;grid-auto-rows:minmax(200px,auto)}.product-card{background:var(--card-bg);border-radius:var(--card-border-radius);box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 0 1px rgba(91,141,239,.15),0 0 20px var(--card-glow);overflow:hidden;width:100%;height:auto;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;border:1px solid rgba(91,141,239,.2);opacity:0;animation:cardRise .55s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes cardRise{from{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.product-card{opacity:1;animation:none}}.product-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(0,0,0,.4),0 0 0 1px rgba(91,141,239,.3),0 0 28px var(--card-glow)}.card-image-section{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:calc(100% - var(--image-margin) * 2);aspect-ratio:1/1;margin:var(--image-margin);border-radius:var(--image-border-radius);border:1px solid rgba(91,141,239,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 8px rgba(0,0,0,.2)}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .3s ease;position:relative;z-index:1;border-radius:calc(var(--image-border-radius) - 2px)}.card-image-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(125deg,transparent 25%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 55%,transparent 75%);transform:rotate(45deg);pointer-events:none;z-index:2}.product-card:hover .card-image{transform:scale(1.05);filter:brightness(1.04) contrast(1.02)}.card-image-badge{position:absolute;top:0;right:0;background:var(--hot-badge-red);color:#fff;padding:6px 14px;border-radius:0 0 0 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;z-index:4;box-shadow:0 2px 6px rgba(0,0,0,.3)}.card-content-section{padding:var(--card-padding);background:var(--primary-bg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--content-gap);min-height:82px;border-top:1px solid rgba(255,255,255,.06)}.game-title{color:var(--text-white);font-weight:600;font-size:var(--title-font-size);text-align:center;letter-spacing:var(--title-letter-spacing);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.topup-button{background:linear-gradient(79.78deg,#ecb377 7.76%,#b27a41 18.71%,#dba369 45.73%,#c68d52 68.62%,#ffc68b 83.69%);color:#fff;padding:10px 28px;border-radius:var(--button-border-radius);text-decoration:none;font-weight:700;font-size:var(--button-font-size);text-transform:uppercase;letter-spacing:var(--button-letter-spacing);transition:transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer;display:inline-block;text-align:center;min-width:120px;box-shadow:0 2px 8px rgba(184,134,11,.4),inset 0 1px 0 rgba(255,255,255,.25)}.topup-button:hover{transform:scale(1.03);box-shadow:0 4px 14px rgba(184,134,11,.5),inset 0 1px 0 rgba(255,255,255,.3);color:#fff;text-decoration:none}.topup-button.disabled{background:#4b5563;color:#9ca3af;cursor:not-allowed;pointer-events:none;box-shadow:none}.topup-button.disabled:hover{background:#4b5563;transform:none;box-shadow:none}.card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%;width:100%}.card-link:hover{text-decoration:none;color:inherit}.disabled-link{display:flex;flex-direction:column;height:100%;width:100%;cursor:not-allowed}.moom-section-banner{padding:24px 16px 18px;text-align:center;position:relative}.moom-section-banner__title{margin:0;font-size:1.85rem;font-weight:700;color:#fff;font-family:Dangrek,'Noto Sans Khmer',sans-serif;letter-spacing:.02em;line-height:1.3;text-shadow:0 0 18px rgba(199,184,255,.45),0 0 4px rgba(91,141,239,.5)}.moom-section-banner__line{display:flex;align-items:center;justify-content:center;width:90%;max-width:380px;margin:16px auto 14px;position:relative;height:1px;background:linear-gradient(90deg,transparent 0,rgba(199,184,255,.15) 12%,rgba(199,184,255,.55) 32%,rgba(255,255,255,.85) 50%,rgba(199,184,255,.55) 68%,rgba(199,184,255,.15) 88%,transparent 100%)}.moom-section-banner__line::after,.moom-section-banner__line::before{content:'';position:absolute;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:0 0 8px 1px rgba(199,184,255,.9)}.moom-section-banner__line::before{left:22%}.moom-section-banner__line::after{right:22%}.moom-section-banner__v{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:0 0;box-shadow:inset -4px 0 0 0 #fff,0 0 14px 2px rgba(199,184,255,.6);border:0;animation:moonGlowPulse 4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.moom-section-banner__v{animation:none}}.moom-section-banner__des{margin:6px 0 0;font-size:1rem;font-weight:400;color:rgba(255,255,255,.85);font-family:'Noto Sans Khmer',sans-serif;letter-spacing:.02em;line-height:1.4}@media (max-width:576px){.moom-section-banner{padding:16px 12px 12px}.moom-section-banner__title{font-size:1.4rem}.moom-section-banner__line{margin:12px auto;width:85%}.moom-section-banner__line::before{left:18%}.moom-section-banner__line::after{right:18%}.moom-section-banner__v{width:14px;height:14px;box-shadow:inset -3.5px 0 0 0 #fff,0 0 12px 1.5px rgba(199,184,255,.6)}.moom-section-banner__des{font-size:.9rem}}@media (max-width:1200px){.product-grid{grid-template-columns:repeat(4,1fr);gap:18px;grid-auto-rows:minmax(180px,auto)}}@media (max-width:992px){.product-grid{grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:minmax(160px,auto)}}@media (max-width:768px){.product-grid{grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-rows:minmax(160px,auto)}.card-image-section{width:calc(100% - 20px);margin:10px}.card-image-badge{padding:4px 10px;font-size:.65rem}.card-content-section{padding:10px 12px;gap:8px;min-height:72px}.game-title{font-size:.8rem;-webkit-line-clamp:2}.topup-button{padding:8px 16px;font-size:.75rem;min-width:80px}}@media (max-width:576px){.product-grid{grid-template-columns:repeat(3,1fr);gap:8px;grid-auto-rows:minmax(140px,auto)}.card-image-section{width:calc(100% - 16px);margin:8px}.card-image-badge{padding:4px 8px;font-size:.6rem}.card-content-section{padding:8px 6px;gap:6px;min-height:66px}.game-title{font-size:.7rem;-webkit-line-clamp:2}.topup-button{padding:6px 12px;font-size:.65rem;min-width:64px}}@media (max-width:480px){.product-grid{grid-template-columns:repeat(3,1fr);gap:6px;grid-auto-rows:minmax(120px,auto)}.card-image-section{width:calc(100% - 16px);margin:8px}.card-image-badge{padding:3px 6px;font-size:.55rem}.card-content-section{padding:6px 4px;gap:4px;min-height:58px}.game-title{font-size:.65rem;-webkit-line-clamp:2}.topup-button{padding:5px 10px;font-size:.6rem;min-width:56px}}.restock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;border-radius:var(--card-border-radius);opacity:0;transition:opacity .3s ease;overflow:hidden;z-index:10}.product-card.restock .restock-overlay{opacity:1}.restock-text{color:#fff;font-weight:700;font-size:clamp(.65rem, 2.4vw, 1.2rem);text-transform:uppercase;letter-spacing:clamp(0px, .4vw, 2px);text-align:center;padding:0 6px;line-height:1.2;max-width:100%}.product-card.restock{cursor:not-allowed;position:relative}.product-card.restock:hover{transform:none;box-shadow:0 8px 24px rgba(0,0,0,.3)}.product-card.restock .card-image{filter:grayscale(100%) brightness(.7);opacity:.6}.product-card.restock .card-image-badge{background:#6b7280;color:#d1d5db;box-shadow:0 2px 6px rgba(0,0,0,.3)}.product-card.restock .game-title{color:#9ca3af}