:root{
  --rbx-bg:#191b1d;
  --rbx-card-bg:#232527;
  --rbx-header-bg:#232527;
  --rbx-text:#ffffff;
  --rbx-text-secondary:#bdbebe;
  --rbx-accent:#0084ff;
  --rbx-accent-hover:#0074e0;
  --rbx-border:#393b3d;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--rbx-bg);
  color:var(--rbx-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--rbx-bg)}
::-webkit-scrollbar-thumb{background:#393b3d;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:#494b4d}

/* Topbar */
.topbar{
  position:sticky;top:0;z-index:50;
  height:48px;
  display:flex;align-items:center;
  background:var(--rbx-header-bg);
  border-bottom:1px solid var(--rbx-border);
  padding:0 16px;
}
.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center}
.topbar-left{flex:1;gap:14px}
.topbar-center{flex:1;justify-content:center}
.topbar-right{flex:1;justify-content:flex-end;gap:12px}

.icon-btn{
  border:0;background:transparent;color:var(--rbx-text);
  padding:6px 8px;border-radius:8px;cursor:pointer;
}
.icon-btn:hover{background:rgba(255,255,255,.05)}

.brand{display:flex;align-items:center;gap:8px}
.brand-mark{
  width:32px;height:32px;background:#fff;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
}
.brand-mark span{width:20px;height:20px;background:var(--rbx-header-bg);transform:rotate(45deg);display:block}
.brand-text{font-weight:800;letter-spacing:-.02em;display:none}
@media (min-width:640px){.brand-text{display:inline}}

.nav{display:none;gap:24px;margin-left:8px}
.nav-link{color:var(--rbx-text);text-decoration:none;font-weight:700;font-size:14px;opacity:.9}
.nav-link:hover{color:#5bb0ff}
@media (min-width:1024px){.nav{display:flex}}

.search{position:relative;display:none;max-width:520px;width:100%}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.7;font-size:14px}
.search input{
  width:100%;
  background:#191b1d;
  border:1px solid var(--rbx-border);
  border-radius:8px;
  padding:8px 12px 8px 32px;
  color:var(--rbx-text);
  outline:none;
}
.search input:focus{border-color:var(--rbx-accent)}
@media (min-width:768px){.search{display:block}}

.robux-pill{
  display:flex;align-items:center;gap:8px;
  background:rgba(0,0,0,.2);
  border:1px solid rgba(0,132,255,.2);
  padding:6px 10px;border-radius:10px;
  cursor:pointer;
  min-width:85px;justify-content:center;
}
.robux-pill:hover{background:rgba(0,0,0,.3)}
.robux-pill img{width:16px;height:16px}
.robux-pill span{font-weight:800;font-size:12px}

.avatar{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#fff;position:relative;overflow:hidden;cursor:pointer}
.avatar:after{content:"";position:absolute;inset:7px;background:var(--rbx-header-bg);transform:rotate(45deg)}

/* Layout */
.container{max-width:1152px;margin:0 auto;padding:28px 16px 48px}
.hero{display:flex;gap:16px;flex-direction:column;justify-content:space-between;margin:8px 0 22px}
@media (min-width:768px){.hero{flex-direction:row;align-items:flex-end}}
.hero h1{margin:8px 0 10px;font-size:40px;line-height:1.05}
.muted{color:var(--rbx-text-secondary)}

.hero-badges{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.badge{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);display:inline-flex;gap:6px;align-items:center}
.badge-live{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2);color:#34d399}
.badge-users{background:transparent;border-color:transparent;color:#8e8e8e;font-weight:700}

.event-card{
  display:flex;gap:12px;align-items:center;
  background:rgba(0,132,255,.10);
  border:1px solid rgba(0,132,255,.20);
  border-radius:14px;
  padding:12px 14px;
}
.event-icon{width:40px;height:40px;background:var(--rbx-accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900}
.event-title{margin:0;font-size:12px;font-weight:900}
.event-sub{margin:0;font-size:10px;color:#5bb0ff}

.section{margin:26px 0 38px}
.section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.section-title h2{margin:0;font-size:22px}
.hot{font-size:10px;font-weight:900;background:#ef4444;color:#fff;border-radius:999px;padding:3px 8px;text-transform:uppercase;letter-spacing:-.02em;animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

.grid{display:grid;gap:14px}
.grid-4{grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:640px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

.grid-6{grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:640px){.grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Cards */
.card, .pkg{
  background:var(--rbx-card-bg);
  border:1px solid var(--rbx-border);
  border-radius:14px;
  padding:18px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pkg:hover{transform:translateY(-2px);border-color:#494b4d}

.pkg{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.pkg.popular{border:2px solid rgba(0,132,255,1);box-shadow:0 0 18px rgba(59,130,246,.25)}
.pkg.expired{opacity:.6;filter:grayscale(.5)}

.pkg .best{
  position:absolute;top:-12px;
  background:var(--rbx-accent);color:#fff;
  font-size:10px;font-weight:900;
  padding:6px 10px;border-radius:999px;
  text-transform:uppercase;letter-spacing:.06em;
  animation:pulse 1.2s infinite;
}

.pkg .countdown{
  position:absolute;top:10px;right:10px;
  font-size:10px;font-weight:900;
  padding:3px 8px;border-radius:999px;
  border:1px solid rgba(239,68,68,.3);
  background:rgba(239,68,68,.2);
  color:#fca5a5;
}
.pkg.expired .countdown{background:#ef4444;color:#fff;border-color:#dc2626}

.pkg img{width:48px;height:48px;margin:8px 0 10px;filter:drop-shadow(0 0 8px rgba(255,255,255,.15))}
.pkg h4{margin:0;font-size:26px}
.pkg .sub{margin:2px 0 14px;font-size:12px;color:var(--rbx-text-secondary)}
.pkg .bonus{
  margin:0 0 12px;
  padding:6px 10px;border-radius:10px;
  border:1px solid rgba(16,185,129,.2);
  background:rgba(255,255,255,.04);
  font-size:12px;font-weight:700;color:#34d399;
}
.pkg.expired .bonus{border-color:rgba(255,255,255,.08);color:#8e8e8e}

.btn-primary{
  width:100%;
  border:0;
  background:var(--rbx-accent);
  color:#fff;
  font-weight:800;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.btn-primary:hover{background:var(--rbx-accent-hover)}
.btn-primary:disabled{background:#393b3d;color:#8e8e8e;cursor:not-allowed}
.btn-primary::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(255,255,255,.18);
  transform:translateX(-120%) skewX(-20deg);
  animation:shine 3s infinite;
}
@keyframes shine{0%{transform:translateX(-120%) skewX(-20deg)}20%,100%{transform:translateX(220%) skewX(-20deg)}}

/* Premium */
.premium{background:linear-gradient(135deg,#232527,#1a1c1e);border-radius:14px;border:1px solid var(--rbx-border);padding:22px;display:flex;flex-direction:column;gap:18px}
@media (min-width:768px){.premium{flex-direction:row;align-items:center;gap:26px}}
.premium-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.premium-shield{width:48px;height:48px;background:var(--rbx-accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}
.premium h3{margin:0;font-size:28px}
.benefits{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.benefits li{font-weight:600;font-size:14px}

.premium-right{width:100%;max-width:320px}
.premium-price{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px}
.price-row{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:12px}
.price{font-size:34px;font-weight:900}
.per{font-size:12px;color:var(--rbx-text-secondary)}
.tiny{font-size:10px;line-height:1.4;margin:10px 0 0}

/* FAQ */
.card-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.card-title h3{margin:0;font-size:20px}
.card-icon{font-size:18px}

.faq-item{border:1px solid var(--rbx-border);border-radius:12px;overflow:hidden}
.faq-btn{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;background:transparent;border:0;color:var(--rbx-text);padding:14px 14px;cursor:pointer}
.faq-btn:hover{background:rgba(255,255,255,.05)}
.faq-q{font-weight:800;font-size:14px}
.faq-arrow{opacity:.7;transition:transform .2s ease}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;background:rgba(0,0,0,.12)}
.faq-a p{margin:0;padding:14px;font-size:12px;line-height:1.6;color:var(--rbx-text-secondary)}
.faq-item.open .faq-a{max-height:220px}

/* Two-col */
.two-col{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:768px){.two-col{grid-template-columns:1fr 1fr}}

.card-soon{position:relative;display:flex;align-items:center}
.soon-tag{position:absolute;top:10px;right:10px;background:var(--rbx-accent);color:#fff;font-size:9px;font-weight:900;padding:3px 6px;border-radius:8px;text-transform:uppercase}
.gift{display:flex;gap:16px;align-items:center}
.gift-icon{width:64px;height:64px;border-radius:999px;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.55}
.gift-icon img{width:32px;height:32px}

/* Footer */
.footer{background:var(--rbx-header-bg);border-top:1px solid var(--rbx-border);padding:38px 16px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 32px;margin-bottom:18px}
.footer-links span{font-size:12px;color:var(--rbx-text-secondary)}
.footer-copy{max-width:800px;margin:0 auto;text-align:center;font-size:10px;line-height:1.6;color:#8e8e8e}

/* Overlay */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.90);display:none;align-items:center;justify-content:center;padding:24px;z-index:100;backdrop-filter:blur(6px)}
.overlay.show{display:flex}
.overlay-card{max-width:360px;width:100%;text-align:center}
.overlay-card h2{margin:10px 0 10px;font-size:22px}
.overlay-message{margin:10px 0 0;color:var(--rbx-text-secondary);font-weight:600}

.spinner{width:64px;height:64px;border-radius:999px;border:6px solid rgba(0,132,255,.25);border-top-color:var(--rbx-accent);margin:0 auto 10px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.progress{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.progress-bar{height:100%;width:0;background:var(--rbx-accent);transition:width .35s ease}

/* Toast */
.toast{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;gap:12px;align-items:center;max-width:320px;background:var(--rbx-card-bg);border:1px solid rgba(0,132,255,.3);border-radius:14px;padding:14px 14px;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.toast-icon{width:40px;height:40px;border-radius:999px;background:rgba(0,132,255,.10);display:flex;align-items:center;justify-content:center;color:#5bb0ff;font-weight:900;font-size:18px}
.toast-title{margin:0;font-size:12px;font-weight:900}
.toast-name{color:#5bb0ff}
.toast-sub{display:flex;align-items:center;gap:6px}
.toast-robux{width:12px;height:12px}
.toast-amount{margin:0;font-size:12px;font-weight:900;color:#34d399}
.toast-time{font-size:10px;color:#8e8e8e;margin-left:8px}

