.hero { padding: 4.2rem 0 3rem; }
.hero-shell {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: #090e21;
  box-shadow: var(--shadow);
}
.hero-copy { position: relative; z-index: 3; padding: clamp(2rem, 5vw, 4.5rem); }
.hero-copy h1 { max-width: 670px; margin-bottom: 1rem; font-size: clamp(2.45rem, 6vw, 5rem); line-height: .98; }
.hero-copy p { max-width: 590px; margin-bottom: 1.7rem; font-size: clamp(1rem, 2vw, 1.18rem); }
.hero-art { position: absolute; inset: 0 0 0 42%; }
.hero-art img { width: 100%; height: 100%; object-fit: cover; }
.hero-art::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #090e21 0, rgba(9,14,33,.88) 12%, rgba(9,14,33,.1) 68%), linear-gradient(0deg, rgba(9,14,33,.72), transparent 40%); }
.hero-orb { position: absolute; right: 7%; bottom: 8%; z-index: 2; width: 115px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 32px; color: #061020; background: var(--gradient); transform: rotate(-7deg); box-shadow: 0 0 45px rgba(34,211,238,.28); font-size: 1.6rem; font-weight: 950; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; color: #a9b8d5; font-size: .78rem; }
.hero-trust span { display: inline-flex; align-items: center; gap: .35rem; }
.hero-trust span::before { content: "✓"; color: var(--cyan); }

.game-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.game-card { min-width: 0; }
.game-cover { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--panel-light); }
.game-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.game-card:hover .game-cover img { transform: scale(1.04); }
.game-card-emoji { position: absolute; right: .65rem; bottom: .65rem; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(5,10,28,.82); box-shadow: 0 9px 22px rgba(0,0,0,.3); font-size: 1.05rem; }
.game-card-body { display: grid; gap: .65rem; padding: .95rem; }
.game-card h3 { margin: 0; font-size: 1rem; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.game-card-meta { display: flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .76rem; }
.game-card-meta span { color: #50e8ff; font-size: .55rem; text-shadow: 0 0 10px rgba(34,211,238,.7); }

.games-catalog-page { position: relative; isolation: isolate; min-height: calc(100vh - 72px); overflow: hidden; background: radial-gradient(circle at 8% 8%, rgba(34,211,238,.12), transparent 28rem), radial-gradient(circle at 92% 12%, rgba(153,102,255,.15), transparent 30rem), linear-gradient(180deg, rgba(7,13,31,.78), rgba(5,8,22,.96)); }
.games-catalog-page::before { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .28; background-image: linear-gradient(rgba(105,156,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(105,156,255,.07) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.games-catalog-page::after { content: ""; position: absolute; z-index: -3; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(4,8,22,.36) 0%, rgba(5,8,22,.82) 42rem, #050816 72rem), url('/assets/roblox-game-collage-bg-20260927.webp') center top / max(1280px, 100%) auto no-repeat; opacity: .86; }
.games-catalog-ambient span { position: absolute; z-index: -1; color: rgba(104,230,255,.15); font-weight: 900; text-shadow: 0 0 28px rgba(34,211,238,.24); animation: catalog-symbol-float 8s ease-in-out infinite alternate; }
.games-catalog-ambient span:nth-child(1) { left: 5%; top: 10%; font-size: 4rem; }
.games-catalog-ambient span:nth-child(2) { right: 7%; top: 18%; color: rgba(174,112,255,.17); font-size: 5rem; animation-delay: -3s; }
.games-catalog-ambient span:nth-child(3) { left: 48%; top: 7%; font-size: 2.5rem; animation-delay: -5s; }
.catalog-page-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid rgba(94,183,255,.2); border-radius: 24px; background: linear-gradient(135deg, rgba(14,30,60,.88), rgba(16,12,47,.86)); box-shadow: 0 20px 58px rgba(0,0,0,.23), inset 0 1px rgba(255,255,255,.035); }
.catalog-title-icon { width: 58px; height: 58px; display: grid; place-items: center; padding: 7px; overflow: hidden; border: 1px solid rgba(70,222,255,.35); border-radius: 18px; background: linear-gradient(145deg, rgba(34,211,238,.15), rgba(139,92,246,.22)); box-shadow: 0 0 26px rgba(34,211,238,.12); }
.catalog-title-icon img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 11px; }
.catalog-page-head .eyebrow { margin-bottom: .4rem; }
.catalog-page-head h1 { margin: 0 0 .35rem; font-size: clamp(2rem, 5vw, 3.7rem); }
.catalog-page-head p { margin: 0; }
.catalog-highlights { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; max-width: 390px; }
.catalog-highlights span { padding: .55rem .7rem; border: 1px solid rgba(112,176,241,.17); border-radius: 999px; color: #b8c8e4; background: rgba(4,10,28,.5); font-size: .72rem; font-weight: 750; white-space: nowrap; }
.games-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
.catalog-search-shell { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .5rem; }
.catalog-search-shell > span { width: 40px; height: 40px; display: grid; place-items: center; color: #5ce9ff; font-size: 1.4rem; }
.catalog-search-shell .input { border-color: transparent; background: transparent; box-shadow: none; }
.catalog-game-count { align-self: center; padding: .65rem .8rem; border: 1px solid rgba(126,176,241,.16); border-radius: 12px; color: #91a4c6; background: rgba(5,10,27,.55); font-size: .76rem; white-space: nowrap; }
.catalog-game-count strong { color: #65e8ff; }
.games-catalog-page .game-card { border-color: rgba(101,157,225,.23); background: linear-gradient(155deg, rgba(16,28,57,.94), rgba(7,12,29,.97)); box-shadow: 0 14px 34px rgba(0,0,0,.2); }
@keyframes catalog-symbol-float { to { transform: translate3d(0, 18px, 0) rotate(8deg); } }

.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }
.product-card { display: flex; height: 100%; flex-direction: column; }
.product-thumb { position: relative; display: grid; width: 100%; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; background: var(--panel-light); }
.product-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-card-body > .badge { align-self: flex-start; }
.product-card-body { display: flex; flex-direction: column; flex: 1; gap: .66rem; padding: 1rem; }
.product-game { color: var(--cyan); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.product-card h3 { margin: 0; font-size: 1.03rem; line-height: 1.35; }
.price-label { color: var(--muted); font-size: .72rem; }
.price { font-size: 1.16rem; font-weight: 850; letter-spacing: -.025em; }
.price-old { margin-left: .4rem; color: #7181a1; text-decoration: line-through; font-size: .78rem; font-weight: 500; }
.product-card .button { margin-top: auto; }

.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.feature-card { padding: 1.25rem; }
.feature-icon { width: 45px; height: 45px; display: grid; place-items: center; margin-bottom: 1rem; border-radius: 15px; color: var(--cyan); background: rgba(34,211,238,.09); font-size: 1.2rem; }
.feature-card h3 { margin-bottom: .45rem; font-size: 1rem; }
.feature-card p { margin-bottom: 0; font-size: .84rem; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; counter-reset: order-step; }
.step { position: relative; padding: 1.2rem 1.2rem 1.2rem 4rem; }
.step::before { counter-increment: order-step; content: counter(order-step); position: absolute; left: 1rem; top: 1rem; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #03101a; background: var(--gradient); font-weight: 900; }
.step h3 { margin-bottom: .36rem; font-size: .96rem; }
.step p { margin-bottom: 0; font-size: .82rem; }

.catalog-hero { position: relative; overflow: hidden; margin-top: 2rem; min-height: 310px; display: flex; align-items: end; padding: 2rem; }
.catalog-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.catalog-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,8,22,.98), rgba(5,8,22,.15)); }
.catalog-hero-copy { position: relative; z-index: 2; max-width: 720px; }
.catalog-hero h1 { margin-bottom: .6rem; font-size: clamp(2rem, 5vw, 4rem); }
.catalog-hero p { margin: 0; }
.catalog-toolbar { position: sticky; top: 84px; z-index: 20; display: grid; grid-template-columns: 1fr auto auto; gap: .7rem; margin: 1.2rem 0 1.6rem; padding: .75rem; }
.catalog-toolbar .input { min-width: 0; }
.category-pills { display: flex; gap: .55rem; overflow-x: auto; padding-bottom: .15rem; scrollbar-width: none; }
.pill { flex: 0 0 auto; padding: .58rem .8rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.025); cursor: pointer; font-weight: 700; font-size: .82rem; }
.pill.active { color: #03101a; border-color: transparent; background: var(--gradient); }
.pill:disabled { cursor: not-allowed; opacity: .55; }
.pill-special-stock { color: #ff7b86; border-color: rgba(255,63,80,.52); background: rgba(255,43,62,.09); }
.pill-special-stock.active { color: #fff; border-color: #ff3f50; background: linear-gradient(135deg, #ff2139, #b90822); box-shadow: 0 0 22px rgba(255,33,57,.3); }
.special-stock-head .eyebrow, .special-stock-head h2 { color: #ff4f60; }
.special-stock-grid { padding: 1rem; border: 1px solid rgba(255,63,80,.28); border-radius: 22px; background: linear-gradient(145deg, rgba(255,33,57,.08), rgba(13,20,43,.42)); }
.product-card-special { border-color: rgba(255,63,80,.34); box-shadow: 0 16px 44px rgba(96,0,15,.18); }
.badge-special-stock { color: #fff; border-color: rgba(255,89,103,.7); background: linear-gradient(135deg, #ff3349, #a7071f); box-shadow: 0 0 18px rgba(255,51,73,.2); }
.special-stock-empty { border-color: rgba(255,63,80,.25); }
.special-stock-deadline, .special-stock-detail-deadline { color: #ff9aa4; font-size: .78rem; font-weight: 750; line-height: 1.45; }
.special-stock-detail-deadline { margin: .85rem 0 0; padding: .75rem .9rem; border: 1px solid rgba(255,63,80,.35); border-radius: 13px; background: rgba(255,33,57,.08); }
.special-stock-admin { padding: 1rem; border: 1px solid rgba(255,63,80,.35); border-radius: 16px; background: linear-gradient(145deg, rgba(255,33,57,.08), rgba(13,20,43,.5)); }
.special-stock-admin legend { padding: 0 .5rem; color: #ff7b86; font-weight: 850; }
.special-stock-toggle { display: flex; align-items: flex-start; gap: .7rem; cursor: pointer; }
.special-stock-toggle input { margin-top: .25rem; accent-color: #ff3349; }
.special-stock-toggle span { display: grid; gap: .2rem; }
.special-stock-toggle small { color: var(--muted); }
.special-stock-time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.special-stock-time-grid[hidden] { display: none; }

.detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 1.5rem; align-items: start; padding-top: 2rem; }
.detail-media { position: sticky; top: 92px; overflow: hidden; }
.detail-media img { display: block; width: 100%; height: auto; }
.detail-copy { padding: 1.4rem; }
.detail-copy h1 { margin-bottom: .5rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.detail-description {
  margin: 1rem 0;
  overflow: hidden;
  border: 1px solid rgba(64, 202, 247, .3);
  border-radius: 18px;
  color: #dce9ff;
  background: linear-gradient(145deg, rgba(12, 32, 61, .82), rgba(14, 12, 43, .72));
  box-shadow: 0 16px 38px rgba(1, 7, 22, .22), inset 0 1px rgba(255, 255, 255, .035);
  overflow-wrap: anywhere;
}
.detail-description-head { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; border-bottom: 1px solid rgba(83, 181, 240, .2); background: linear-gradient(90deg, rgba(34, 211, 238, .11), rgba(139, 92, 246, .09)); }
.detail-description-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(107, 224, 255, .38); border-radius: 12px; color: #86edff; background: rgba(34, 211, 238, .1); box-shadow: 0 0 24px rgba(34, 211, 238, .1); }
.detail-description-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.detail-description-head > span:not(.detail-description-icon):not(.detail-required-badge) { display: grid; gap: .12rem; }
.detail-description-head small { color: var(--cyan); font-size: .6rem; font-weight: 900; letter-spacing: .13em; }
.detail-description-head strong { color: #f4f8ff; font-size: .92rem; }
.detail-description-head .detail-required-badge { display: inline-flex; margin-left: auto; padding: .36rem .58rem; border: 1px solid rgba(251, 191, 36, .52); border-radius: 999px; color: #ffe28a; background: rgba(245, 158, 11, .15); box-shadow: 0 0 18px rgba(245, 158, 11, .1); font-size: .6rem; font-weight: 950; letter-spacing: .07em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.detail-description-body { display: grid; gap: .8rem; padding: 1rem; font-size: .84rem; line-height: 1.72; }
.detail-description-body p { margin: 0; }
.detail-description-intro { color: #eaf3ff; font-weight: 650; }
.detail-description-body ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.detail-description-body li { position: relative; padding-left: 1.15rem; color: #aebed8; }
.detail-description-body li::before { content: ""; position: absolute; left: 0; top: .67em; width: 6px; height: 6px; border-radius: 50%; background: linear-gradient(135deg, var(--cyan), var(--purple)); box-shadow: 0 0 9px rgba(34, 211, 238, .45); }
.detail-description-body li strong { color: #d9f7ff; font-weight: 800; }
.detail-description-sections { display: grid; gap: .65rem; }
.detail-description-block { display: grid; gap: .3rem; padding: .75rem .8rem; border: 1px solid rgba(116, 157, 222, .16); border-radius: 13px; background: rgba(4, 10, 28, .42); }
.detail-description-block-head { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.detail-description-block-head > strong { color: #7ee9ff; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.detail-description-block-head span { flex: 0 0 auto; padding: .27rem .5rem; border: 1px solid rgba(251, 191, 36, .42); border-radius: 999px; color: #ffe28a; background: rgba(245, 158, 11, .13); box-shadow: inset 0 0 14px rgba(245, 158, 11, .07); font-size: .58rem; font-weight: 900; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.detail-description-block.is-required { border-color: rgba(251, 191, 36, .28); background: linear-gradient(135deg, rgba(245, 158, 11, .09), rgba(4, 10, 28, .48) 58%); }
.detail-description-block.is-required .detail-description-block-head > strong { color: #ffd978; }
.detail-description-block p { color: #aebed8; }
.joki-terms-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem; margin: -.35rem 0 1.25rem; padding: .9rem 1rem; border: 1px solid rgba(251, 191, 36, .34); border-radius: 16px; background: linear-gradient(105deg, rgba(245, 158, 11, .13), rgba(11, 19, 43, .86) 48%, rgba(245, 158, 11, .05)); box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 14px 36px rgba(0, 0, 0, .16); }
.joki-terms-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #191003; background: linear-gradient(135deg, #fde68a, #f59e0b); box-shadow: 0 0 18px rgba(245, 158, 11, .2); font-size: 1.05rem; font-weight: 950; }
.joki-terms-notice > span:nth-child(2) { display: grid; gap: .14rem; }
.joki-terms-notice small { color: #fbbf24; font-size: .58rem; font-weight: 900; letter-spacing: .1em; }
.joki-terms-notice strong { color: #fff6d6; font-size: .9rem; }
.joki-terms-notice p { margin: 0; color: #aebed8; font-size: .76rem; line-height: 1.45; }
.joki-terms-notice > b { padding: .42rem .62rem; border: 1px solid rgba(251, 191, 36, .5); border-radius: 999px; color: #ffe28a; background: rgba(245, 158, 11, .13); font-size: .62rem; letter-spacing: .08em; white-space: nowrap; }
.variant-list { display: grid; gap: .65rem; }
.variant-option { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.variant-option:has(input:checked) { border-color: var(--cyan); background: rgba(34,211,238,.07); }
.variant-option input { accent-color: var(--cyan); }
.total-box { display: flex; justify-content: space-between; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid var(--line-strong); border-radius: 15px; background: rgba(34,211,238,.06); }
.notice { padding: .9rem 1rem; border: 1px solid rgba(250,204,21,.2); border-radius: 14px; color: #fde68a; background: rgba(250,204,21,.06); font-size: .84rem; line-height: 1.55; }

.checkout-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.25rem; align-items: start; padding-top: 2.5rem; }
.checkout-form, .summary-card { padding: 1.3rem; }
.summary-card { position: sticky; top: 92px; }
.summary-line { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; color: var(--muted); font-size: .87rem; }
.summary-line strong { color: var(--text); text-align: right; }
.summary-total { margin-top: .35rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: 1.05rem; }
.payment-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.payment-choice label { display: flex; align-items: center; gap: .55rem; padding: .8rem; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; }
.payment-choice label:has(input:checked) { border-color: var(--cyan); background: rgba(34,211,238,.07); }
.payment-choice input { accent-color: var(--cyan); }
.qris-preview { max-width: 260px; margin: .75rem auto 0; padding: .55rem; border-radius: 16px; background: white; }

.owner-access-banner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1.05rem; border: 1px solid rgba(250,204,21,.48); border-radius: 18px; background: linear-gradient(135deg, rgba(113,63,18,.34), rgba(15,23,42,.76)); box-shadow: inset 0 1px rgba(255,255,255,.07), 0 16px 34px rgba(87,55,9,.16); }
.owner-access-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #1c1302; background: linear-gradient(135deg, #fde047, #f59e0b); font-size: 1.5rem; box-shadow: 0 0 25px rgba(250,204,21,.24); }
.owner-access-banner > div:nth-child(2) { display: grid; gap: .25rem; }
.owner-access-banner strong { color: #fff8d4; font-size: 1rem; }
.owner-access-banner p { margin: 0; color: #d8cba2; font-size: .8rem; line-height: 1.55; }
.owner-access-label { color: #facc15; font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.owner-summary-badge { width: max-content; margin: .55rem 0 .75rem; padding: .42rem .72rem; border: 1px solid rgba(250,204,21,.42); border-radius: 999px; color: #fde047; background: rgba(113,63,18,.24); font-size: .75rem; font-weight: 900; }
.owner-free { color: #86efac !important; }
.owner-notice { color: #bbf7d0; border-color: rgba(34,197,94,.3); background: rgba(34,197,94,.08); }
.success-shell-owner { border-color: rgba(250,204,21,.34); background: linear-gradient(145deg, rgba(113,63,18,.18), rgba(13,20,43,.9)); }
.success-shell-owner .success-icon { color: #201603; background: linear-gradient(135deg, #fde047, #f59e0b); box-shadow: 0 0 45px rgba(250,204,21,.24); }

.success-shell { max-width: 720px; margin: 4rem auto; padding: clamp(1.4rem, 4vw, 2.5rem); text-align: center; }
.success-icon { width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 1.2rem; border-radius: 24px; color: #052012; background: var(--green); font-size: 2rem; box-shadow: 0 0 45px rgba(74,222,128,.2); }
.order-code { display: inline-flex; margin: .5rem 0 1.2rem; padding: .75rem 1rem; border: 1px dashed var(--line-strong); border-radius: 13px; color: var(--cyan); background: rgba(34,211,238,.05); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; }

.track-history-page { position: relative; isolation: isolate; min-height: calc(100vh - 72px); overflow: hidden; }
.track-history-page::before { content: ""; position: absolute; z-index: -2; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(4,8,22,.48), rgba(5,8,22,.86) 58%, #050816), url('/assets/roblox-game-collage-bg-20260927.webp') center top / cover no-repeat; opacity: .78; }
.track-history-page::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(circle at 12% 20%, rgba(34,211,238,.16), transparent 28rem), radial-gradient(circle at 88% 52%, rgba(139,92,246,.17), transparent 30rem), linear-gradient(rgba(94,178,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(94,178,255,.035) 1px, transparent 1px); background-size: auto, auto, 56px 56px, 56px 56px; }
.track-shell { max-width: 900px; margin: 2.8rem auto; }
.track-history-head { align-items: center; padding: 1.15rem 1.25rem; border: 1px solid rgba(97,190,255,.18); border-radius: 22px; background: linear-gradient(145deg, rgba(13,29,59,.82), rgba(12,10,39,.82)); box-shadow: 0 18px 55px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.order-status-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.order-status-legend span { display: inline-flex; align-items: center; gap: .38rem; padding: .48rem .65rem; border: 1px solid color-mix(in srgb, var(--status-color) 34%, transparent); border-radius: 999px; color: var(--status-color); background: color-mix(in srgb, var(--status-color) 10%, rgba(5,9,24,.84)); font-size: .69rem; font-weight: 850; }
.order-status-legend i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }
.track-search { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: 1rem; }
.track-result { position: relative; margin-top: 1rem; padding: 1.25rem; overflow: hidden; border-color: rgba(var(--order-accent-rgb, 34,211,238),.28); background: linear-gradient(145deg, rgba(var(--order-accent-rgb, 34,211,238),.08), rgba(8,13,32,.96) 34%); box-shadow: 0 18px 46px rgba(0,0,0,.24); }
.track-result::before, .my-order-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, transparent, var(--order-accent, #22d3ee), transparent); box-shadow: 0 0 24px rgba(var(--order-accent-rgb, 34,211,238),.3); }
.order-status-badge { display: inline-flex; min-width: 174px; align-items: center; gap: .65rem; padding: .58rem .78rem; border: 1px solid color-mix(in srgb, var(--status-color) 42%, transparent); border-radius: 15px; color: var(--status-color); background: linear-gradient(135deg, color-mix(in srgb, var(--status-color) 18%, rgba(5,10,25,.94)), rgba(5,10,25,.92)); box-shadow: 0 0 26px color-mix(in srgb, var(--status-color) 13%, transparent); }
.order-status-badge > i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 11px; color: #07101e; background: var(--status-color); box-shadow: 0 0 16px color-mix(in srgb, var(--status-color) 36%, transparent); font-style: normal; font-weight: 950; }
.order-status-badge > span { display: grid; gap: .08rem; }
.order-status-badge small { color: #91a5c6; font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.order-status-badge strong { color: var(--status-color); font-size: .82rem; line-height: 1.2; }
.status-tone-waiting { --status-color: #facc15; }
.status-tone-confirmed { --status-color: #60a5fa; }
.status-tone-queue { --status-color: #a78bfa; }
.status-tone-processing { --status-color: #22d3ee; }
.status-tone-progress { --status-color: #fb923c; }
.status-tone-complete { --status-color: #4ade80; }
.status-tone-cancelled { --status-color: #fb7185; }
.status-tone-default { --status-color: #94a3b8; }
.order-state-waiting { --order-accent: #facc15; --order-accent-rgb: 250,204,21; }
.order-state-confirmed { --order-accent: #60a5fa; --order-accent-rgb: 96,165,250; }
.order-state-queue { --order-accent: #a78bfa; --order-accent-rgb: 167,139,250; }
.order-state-processing { --order-accent: #22d3ee; --order-accent-rgb: 34,211,238; }
.order-state-progress { --order-accent: #fb923c; --order-accent-rgb: 251,146,60; }
.order-state-complete { --order-accent: #4ade80; --order-accent-rgb: 74,222,128; }
.order-state-cancelled { --order-accent: #fb7185; --order-accent-rgb: 251,113,133; }
.order-state-default { --order-accent: #94a3b8; --order-accent-rgb: 148,163,184; }
.order-status-badge.status-tone-processing > i { animation: customer-status-pulse 1.8s ease-in-out infinite; }
.timeline-heading { margin-top: 1.4rem; }
.timeline { position: relative; display: grid; gap: 1rem; margin-top: 1.25rem; padding-left: 1.6rem; }
.timeline::before { content: ""; position: absolute; left: .42rem; top: .45rem; bottom: .45rem; width: 2px; background: linear-gradient(var(--cyan), var(--purple)); }
.timeline-item { position: relative; padding: .75rem .85rem; border: 1px solid color-mix(in srgb, var(--status-color) 22%, rgba(88,116,170,.18)); border-radius: 13px; background: color-mix(in srgb, var(--status-color) 5%, rgba(6,11,28,.72)); }
.timeline-item::before { content: ""; position: absolute; left: -1.55rem; top: 1rem; width: 10px; height: 10px; border: 3px solid var(--bg); border-radius: 50%; background: var(--status-color); box-shadow: 0 0 0 2px color-mix(in srgb, var(--status-color) 42%, transparent), 0 0 14px color-mix(in srgb, var(--status-color) 34%, transparent); }
.timeline-status-line { display: flex; align-items: center; gap: .45rem; margin-bottom: .28rem; }
.timeline-status-line i { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: #07101e; background: var(--status-color); font-size: .72rem; font-style: normal; font-weight: 950; }
.timeline-item h3 { margin: 0; color: var(--status-color); font-size: .93rem; }
.timeline-item p { margin-bottom: .28rem; font-size: .84rem; }
.timeline-item time { color: #647696; font-size: .72rem; }
@keyframes customer-status-pulse { 50% { transform: scale(1.07); box-shadow: 0 0 24px color-mix(in srgb, var(--status-color) 64%, transparent); } }

.search-wrap { position: relative; }
.search-results { position: absolute; z-index: 60; top: calc(100% + .55rem); left: 0; right: 0; max-height: 420px; overflow: auto; padding: .55rem; border: 1px solid var(--line); border-radius: 16px; background: #0a1125; box-shadow: var(--shadow); }
.search-summary { margin: 0 0 .65rem; color: var(--muted); font-size: .76rem; }
.search-summary strong { color: #eaf3ff; }
.search-browse-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.search-browse-head strong { color: #eef5ff; font-size: .88rem; }
.search-browse-head span { color: var(--muted); font-size: .68rem; }
.search-browse-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.search-browse-game { min-width: 0; display: grid; grid-template-columns: 68px minmax(0,1fr) auto; align-items: center; gap: .7rem; padding: .6rem; border: 1px solid rgba(91,119,181,.28); border-radius: 14px; color: #eef5ff; background: linear-gradient(135deg,rgba(19,36,70,.72),rgba(10,15,37,.88)); transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.search-browse-game:hover { transform: translateY(-2px); border-color: rgba(34,211,238,.5); background: linear-gradient(135deg,rgba(23,52,91,.86),rgba(23,15,57,.9)); }
.search-browse-game img { width: 68px; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 9px; }
.search-browse-game span { min-width: 0; display: grid; gap: .12rem; }
.search-browse-game small { color: var(--cyan); font-size: .56rem; font-weight: 900; letter-spacing: .1em; }
.search-browse-game strong { overflow: hidden; font-size: .78rem; white-space: nowrap; text-overflow: ellipsis; }
.search-browse-game em { color: var(--muted); font-size: .63rem; font-style: normal; }
.search-browse-game b { color: #89eaff; font-size: .9rem; }
.search-group-stack { display: grid; gap: .8rem; }
.search-game-group { overflow: hidden; border: 1px solid rgba(91,119,181,.28); border-radius: 17px; background: rgba(5,11,27,.65); }
.search-game-heading { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .75rem; color: #eef5ff; background: linear-gradient(100deg, rgba(34,211,238,.12), rgba(139,92,246,.11)); transition: background .2s ease; }
.search-game-heading:hover { background: linear-gradient(100deg, rgba(34,211,238,.2), rgba(139,92,246,.18)); }
.search-game-heading img { width: 58px; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid rgba(116,219,255,.28); border-radius: 11px; }
.search-game-heading span, .search-product-result span { min-width: 0; display: grid; gap: .13rem; }
.search-game-heading small { color: var(--cyan); font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.search-game-heading strong { overflow: hidden; font-size: .94rem; white-space: nowrap; text-overflow: ellipsis; }
.search-game-heading em { color: var(--muted); font-size: .68rem; font-style: normal; }
.search-game-heading b { color: var(--cyan); font-size: .7rem; white-space: nowrap; }
.search-product-list { display: grid; gap: .25rem; padding: .38rem; border-top: 1px solid rgba(91,119,181,.2); }
.search-product-result { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: .72rem; padding: .55rem .65rem; border-radius: 12px; color: #edf4ff; transition: background .2s ease, transform .2s ease; }
.search-product-result:hover { transform: translateX(2px); background: rgba(255,255,255,.055); }
.search-product-result img { width: 54px; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 9px; }
.search-product-result small { overflow: hidden; color: #8da2c6; font-size: .64rem; white-space: nowrap; text-overflow: ellipsis; }
.search-product-result strong { overflow: hidden; font-size: .8rem; white-space: nowrap; text-overflow: ellipsis; }
.search-product-result em { color: var(--cyan); font-size: .72rem; font-style: normal; font-weight: 800; }
.search-product-result b { color: #b7c8e7; font-size: .68rem; white-space: nowrap; }

.support-button { position: fixed; z-index: 70; right: 1.1rem; bottom: 1.1rem; width: min(328px, calc(100vw - 2.2rem)); min-height: 84px; display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 13px; padding: 12px 22px 12px 14px; overflow: hidden; border: 1px solid rgba(34,211,238,.36); border-radius: 28px; color: #eef5ff; background: linear-gradient(135deg, rgba(10,19,40,.98), rgba(7,13,31,.98)); box-shadow: 0 18px 46px rgba(0,0,0,.4), 0 0 26px rgba(34,211,238,.08); cursor: pointer; text-align: left; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.support-button:hover { transform: translateY(-2px); border-color: rgba(34,211,238,.58); box-shadow: 0 21px 50px rgba(0,0,0,.46), 0 0 32px rgba(34,211,238,.13); }
.support-button[hidden] { display: none !important; }
.support-button-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 19px; color: #061020; background: linear-gradient(135deg, #38d7f4, #8d7df2); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.support-button-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.support-button-copy { min-width: 0; display: grid; gap: 6px; }
.support-button-copy strong { overflow: hidden; font-size: 15px; line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; text-overflow: ellipsis; }
.support-button-copy small { color: #8391aa; font-size: 11px; line-height: 1; }
.support-online-dot { position: absolute; top: 9px; right: 10px; width: 8px; height: 8px; border: 3px solid #0b142b; border-radius: 50%; background: #45e5a9; box-shadow: 0 0 0 7px rgba(34,211,238,.06), 0 0 12px rgba(69,229,169,.7); }
.support-panel { position: fixed; z-index: 75; right: 1.1rem; bottom: 7.15rem; width: min(390px, calc(100% - 2.2rem)); overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #0b1227; box-shadow: 0 28px 80px rgba(0,0,0,.52); }
.support-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.support-title { display: flex; align-items: center; gap: .65rem; }
.support-title i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #03101a; background: var(--gradient); font-style: normal; font-weight: 900; }
.support-messages { height: 310px; overflow-y: auto; display: grid; align-content: start; gap: .65rem; padding: 1rem; }
.message { max-width: 96%; padding: .82rem .9rem; border-radius: 14px; color: #dbe7ff; background: #151f3b; font-size: .83rem; line-height: 1.65; }
.message.user { max-width: 84%; justify-self: end; color: #03101a; background: var(--cyan); line-height: 1.5; }
.support-catalog { display: grid; gap: .55rem; width: 100%; }
.support-catalog-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .55rem; border: 1px solid rgba(34,211,238,.22); border-radius: 14px; color: #eef5ff; background: rgba(18,29,56,.9); transition: border-color .2s ease, transform .2s ease; }
.support-catalog-card:hover { transform: translateY(-1px); border-color: rgba(34,211,238,.58); }
.support-catalog-card img { width: 48px; height: 48px; object-fit: cover; border-radius: 10px; background: #0b1227; }
.support-catalog-card span { min-width: 0; display: grid; gap: 3px; }
.support-catalog-card strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .78rem; }
.support-catalog-card small { overflow: hidden; color: var(--muted); white-space: nowrap; text-overflow: ellipsis; font-size: .68rem; }
.support-catalog-card b { color: var(--cyan); font-size: .7rem; }
.support-form { display: grid; grid-template-columns: 1fr auto; gap: .55rem; padding: .8rem; border-top: 1px solid var(--line); }
.support-panel { width: min(420px, calc(100% - 2.2rem)); max-height: min(720px, calc(100dvh - 9rem)); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: linear-gradient(160deg, rgba(13,22,47,.99), rgba(6,11,27,.99)); }
.support-messages { height: min(410px, calc(100dvh - 21rem)); min-height: 300px; }
.message { white-space: pre-wrap; overflow-wrap: anywhere; }
.message a { white-space: normal; }
.support-presence { display: flex; align-items: center; gap: 6px; margin-top: 3px; color: #62e6a9; font-weight: 800; }
.support-title .support-status-dot { width: 8px; height: 8px; display: inline-block; flex: 0 0 8px; border: 0; border-radius: 50%; background: #35df91; box-shadow: 0 0 0 4px rgba(53,223,145,.1), 0 0 11px rgba(53,223,145,.7); }
.support-quick { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.support-quick button { min-height: 42px; padding: .58rem .7rem; border: 1px solid rgba(76,197,255,.22); border-radius: 12px; color: #dcecff; background: rgba(20,33,65,.82); cursor: pointer; font: inherit; font-size: .75rem; font-weight: 750; text-align: left; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.support-quick button:hover { transform: translateY(-1px); border-color: rgba(62,214,245,.58); background: rgba(30,49,91,.9); }
.support-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.support-action { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: .48rem .7rem; border: 1px solid rgba(62,214,245,.35); border-radius: 10px; color: var(--cyan); background: rgba(34,211,238,.07); font-size: .73rem; font-weight: 800; }
.support-action-admin { color: #07101f; border-color: transparent; background: var(--gradient); }
.support-input { min-height: 44px; max-height: 112px; resize: none; line-height: 1.35; }
.support-thinking { min-width: 66px; display: flex; align-items: center; justify-content: center; gap: 5px; }
.support-thinking span { width: 7px; height: 7px; border-radius: 50%; background: #7bdffa; animation: support-dot 1.1s ease-in-out infinite; }
.support-thinking span:nth-child(2) { animation-delay: .14s; }
.support-thinking span:nth-child(3) { animation-delay: .28s; }
@keyframes support-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }

@media (max-width: 1040px) {
  .game-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .hero-shell { min-height: 590px; grid-template-columns: 1fr; align-items: end; }
  .hero-copy { align-self: end; padding-top: 13rem; }
  .hero-art { inset: 0 0 32% 20%; }
  .hero-art::before { background: linear-gradient(0deg, #090e21 0, rgba(9,14,33,.86) 32%, rgba(9,14,33,.05) 80%); }
  .hero-orb { top: 8%; bottom: auto; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-grid, .checkout-grid { grid-template-columns: 1fr; }
  .detail-media, .summary-card { position: static; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-toolbar { position: static !important; top: auto; z-index: auto; grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hero { padding-top: 1rem; }
  .hero-shell { min-height: 620px; border-radius: 22px; }
  .hero-copy { padding: 11rem 1.15rem 1.4rem; }
  .hero-copy h1 { font-size: 2.65rem; }
  .hero-art { inset: 0 0 38% 0; }
  .hero-orb { width: 78px; right: 5%; border-radius: 23px; font-size: 1.1rem; }
  .game-grid, .product-grid, .feature-grid, .steps { grid-template-columns: 1fr; }
  .product-card { height: auto; }
  .joki-terms-notice { grid-template-columns: auto minmax(0, 1fr); margin-top: -.4rem; }
  .joki-terms-notice > b { grid-column: 2; justify-self: start; }
  .detail-description-head { flex-wrap: wrap; }
  .detail-description-head .detail-required-badge { margin-left: 50px; }
  .product-thumb { aspect-ratio: 16 / 9; }
  .product-thumb img { height: 100%; object-fit: cover; }
  .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-card-body { padding: .75rem; }
  .game-card .button { display: none; }
  .catalog-hero { margin-top: .8rem; min-height: 260px; padding: 1.2rem; }
  .track-search { grid-template-columns: 1fr; }
  .search-game-heading { grid-template-columns: 52px minmax(0, 1fr); }
  .search-browse-head { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .search-browse-list { grid-template-columns: 1fr; }
  .search-browse-game { grid-template-columns: 62px minmax(0,1fr) auto; }
  .search-browse-game img { width: 62px; }
  .search-game-heading img { width: 52px; }
  .search-game-heading b, .search-product-result b { display: none; }
  .search-product-result { grid-template-columns: 48px minmax(0, 1fr); gap: .6rem; padding: .52rem; }
  .search-product-result img { width: 48px; }
  .payment-choice { grid-template-columns: 1fr 1fr; }
  .special-stock-time-grid { grid-template-columns: 1fr; }
  .support-button { right: .75rem; bottom: .75rem; width: 58px; min-height: 58px; grid-template-columns: 1fr; gap: 0; padding: 5px; border-radius: 19px; }
  .support-button-icon { width: 48px; height: 48px; border-radius: 15px; }
  .support-button-copy { display: none; }
  .support-online-dot { top: 5px; right: 5px; }
  .support-panel { inset: auto .55rem .55rem; width: auto; max-height: calc(100dvh - 1.1rem); border-radius: 20px; }
  .support-messages { height: auto; min-height: 260px; max-height: calc(100dvh - 12.5rem); }
  .support-quick { grid-template-columns: 1fr 1fr; }
  .support-form { grid-template-columns: minmax(0, 1fr) auto; padding: .65rem; }
  .support-form .button { padding-inline: .8rem; }
}

.account-auth-page { position: relative; isolation: isolate; min-height: calc(100vh - 74px); display: flex; flex-direction: column; align-items: center; gap: clamp(1.4rem,3vw,2rem); overflow: hidden; padding: clamp(2rem,5vw,4rem) 0; background: radial-gradient(circle at 18% 8%,rgba(34,211,238,.13),transparent 32%),radial-gradient(circle at 82% 88%,rgba(139,92,246,.16),transparent 34%),linear-gradient(145deg,#050916,#080d20 52%,#080619); }
.account-auth-page::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .3; background-image: linear-gradient(rgba(94,178,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(94,178,255,.08) 1px,transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at center,#000,transparent 75%); }
.account-auth-glow { position: absolute; z-index: -1; top: 1rem; width: min(720px,85vw); aspect-ratio: 1; border: 1px solid rgba(34,211,238,.09); border-radius: 50%; box-shadow: 0 0 0 55px rgba(34,211,238,.018),0 0 0 110px rgba(139,92,246,.014); }
.account-shell { max-width: 560px; }
.account-shell-auth { width: min(100% - 2rem,600px); }
.account-card { padding: clamp(1.25rem, 4vw, 2rem); }
.account-auth-card { position: relative; overflow: hidden; padding: clamp(1.4rem,5vw,2.5rem); border-color: rgba(102,182,255,.22); background: linear-gradient(155deg,rgba(20,32,62,.94),rgba(7,11,28,.97)); box-shadow: 0 32px 90px rgba(0,0,0,.42),0 0 65px rgba(89,70,229,.1); backdrop-filter: blur(22px); }
.account-auth-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg,transparent,#22d3ee,#9b5cff,transparent); }
.account-brand { position: relative; z-index: 1; width: min(100% - 2rem,620px); display: grid; justify-items: center; gap: .7rem; margin: 0 auto; pointer-events: none; text-align: center; }
.account-brand img { width: clamp(92px,14vw,132px); height: clamp(92px,14vw,132px); object-fit: contain; border: 1px solid rgba(86,194,255,.22); border-radius: 28px; filter: drop-shadow(0 0 30px rgba(34,211,238,.38)); }
.account-brand strong { color: #53dcff; font-size: clamp(1.9rem,6vw,3.2rem); font-style: italic; font-weight: 950; letter-spacing: -.055em; white-space: nowrap; }
.account-brand strong span { color: #f5f8ff; }
.account-brand small { color: #a382ff; font-size: clamp(.68rem,1.8vw,.84rem); font-weight: 900; letter-spacing: .45em; }
.account-auth-heading { margin-bottom: 1.25rem; text-align: center; }
.account-auth-heading h1 { margin: .45rem 0 .5rem; font-size: clamp(1.8rem,5vw,2.55rem); }
.account-auth-heading p { max-width: 470px; margin: 0 auto; color: #91a5c7; line-height: 1.65; }
.account-auth-card .input { border-color: rgba(122,165,229,.18); background: rgba(3,8,22,.66); }
.account-auth-card .input:focus { border-color: #44d9ff; box-shadow: 0 0 0 3px rgba(34,211,238,.1); }
.account-mode-switch { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .65rem; margin-top: 1.1rem; color: #8296b7; font-size: .86rem; }
.account-card > .button { margin: .5rem .5rem .5rem 0; }
.my-order-card { position: relative; overflow: hidden; padding: 1.25rem; margin-bottom: 1rem; border-color: rgba(var(--order-accent-rgb, 34,211,238),.25); background: linear-gradient(145deg, rgba(var(--order-accent-rgb, 34,211,238),.075), rgba(7,12,30,.95) 32%); box-shadow: 0 20px 52px rgba(0,0,0,.24); backdrop-filter: blur(13px); }
.my-order-card summary { cursor: pointer; padding-top: 1rem; color: var(--cyan); font-weight: 700; }
.my-order-card .track-result { box-shadow: none; margin-top: .75rem; }
.my-order-card strong, .account-card p { overflow-wrap: anywhere; }
.history-notes { display: grid; gap: .65rem; margin: .9rem 0; }
.history-note { display: grid; gap: .28rem; padding: .78rem .9rem; border: 1px solid rgba(96,210,255,.18); border-radius: 13px; background: rgba(34,211,238,.045); }
.history-note span { color: var(--cyan); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .045em; }
.history-note p { margin: 0; color: #dce8fb; font-size: .86rem; line-height: 1.55; white-space: pre-wrap; }
.history-note-customer { border-color: rgba(167,139,250,.2); background: rgba(139,92,246,.045); }
.history-note-customer span { color: #c4b5fd; }
.account-card [hidden] { display: none; }

@media (max-width: 640px) {
  .track-history-page::before { background: linear-gradient(180deg, rgba(4,8,22,.56), rgba(5,8,22,.91) 42rem, #050816), url('/assets/roblox-game-collage-bg-20260927.webp') center top / auto 620px no-repeat; opacity: .72; }
  .track-shell { margin: .7rem auto 1.6rem; }
  .track-history-head { align-items: stretch; padding: 1rem; border-radius: 18px; }
  .order-status-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .order-status-legend span { min-width: 0; justify-content: center; padding: .48rem .32rem; font-size: .58rem; }
  .order-card-headline, .order-result-head { align-items: stretch; flex-direction: column; }
  .order-status-badge { width: 100%; min-width: 0; }
  .my-order-card, .track-result { padding: 1rem; border-radius: 18px; }
  .timeline { padding-left: 1.35rem; }
  .timeline-item::before { left: -1.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .order-status-badge.status-tone-processing > i { animation: none; }
}

/* Keep the supplied promo banner readable, with no cropping or overlay. */
.hero--branded .hero-shell { display: flex; flex-direction: column; min-height: 0; }
.hero--branded .hero-art { position: relative; inset: auto; width: 100%; }
.hero--branded .hero-art img { width: 100%; height: auto; object-fit: contain; }
.hero--branded .hero-art::before { display: none; }
.hero--branded .hero-copy { width: 100%; padding: clamp(1.25rem, 3vw, 2.5rem); }
.hero--branded .hero-copy h1 { max-width: none; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; }
.hero--branded .hero-copy p { max-width: 760px; }
.hover-preview { position: relative; width: 100%; aspect-ratio: 1672 / 941; display: block; overflow: hidden; padding: 0; border: 0; color: #fff; background: #050914; cursor: pointer; isolation: isolate; }
.hover-preview::after { content: ""; position: absolute; inset: auto 0 0; z-index: 3; height: 34%; pointer-events: none; background: linear-gradient(transparent, rgba(2,5,16,.78)); }
.hover-preview:focus-visible { outline: 3px solid var(--cyan); outline-offset: -5px; }
.hover-preview > img, .hover-preview > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .28s ease; }
.hover-preview > img { z-index: 1; opacity: 1; }
.hover-preview > video { z-index: 2; opacity: 0; background: #030712; }
.hover-preview.is-playing > img { opacity: 0; }
.hover-preview.is-playing > video { opacity: 1; }
.hover-preview-hint { position: absolute; z-index: 4; left: 50%; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 7px 16px 7px 8px; border: 1px solid rgba(174,211,255,.25); border-radius: 999px; background: rgba(3,8,23,.8); box-shadow: 0 10px 30px rgba(0,0,0,.3); backdrop-filter: blur(14px); transform: translateX(-50%); color: #eaf6ff; font-size: 13px; white-space: nowrap; }
.hover-preview-hint > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #061019; background: var(--gradient); box-shadow: 0 0 20px rgba(34,211,238,.28); font-size: 11px; }
.hover-preview-hint b { font-weight: 800; }
.order-guide { display: grid; grid-template-columns: minmax(160px, 240px) minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.order-mascot { width: 100%; height: auto; object-fit: contain; border-radius: 20px; background: transparent; mix-blend-mode: screen; filter: drop-shadow(0 18px 38px rgba(32,190,255,.22)); }
.order-guide .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.support-title img { width: 40px; height: 44px; object-fit: contain; border-radius: 10px; }
@media (max-width: 640px) {
  .hover-preview-hint { bottom: 8px; max-width: calc(100% - 16px); min-height: 36px; padding: 5px 12px 5px 6px; font-size: 11px; }
  .hover-preview-hint > span { width: 25px; height: 25px; }
  .order-guide { grid-template-columns: minmax(0, 1fr); }
  .order-mascot { width: 170px; justify-self: center; }
  .order-guide .steps { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .hover-preview, .hover-preview > img, .hover-preview > video { transition: none; }
}

/* Home page layout and ambient motion */
.home-page { position: relative; isolation: isolate; overflow: clip; padding-bottom: 1rem; }
.home-ambient { position: absolute; z-index: -2; inset: 0; overflow: hidden; pointer-events: none; }
.home-ambient::before { content: ""; position: absolute; inset: 0 0 auto; height: min(1180px, 100%); background: linear-gradient(90deg,rgba(2,6,19,.18),rgba(3,7,22,.72) 28%,rgba(4,7,20,.84) 50%,rgba(3,7,22,.72) 72%,rgba(2,6,19,.18)),linear-gradient(180deg,rgba(2,6,18,.12),rgba(3,7,20,.66) 62%,#050817 100%),url('/assets/roblox-game-collage-bg-20260927.webp') center top / max(1280px, 100%) auto no-repeat; opacity: .8; }
.home-ambient::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 8% 35%,rgba(34,211,238,.2),transparent 24%),radial-gradient(circle at 92% 62%,rgba(139,92,246,.2),transparent 25%); opacity: .28; }
.home-orb { position: absolute; display: block; border-radius: 50%; filter: blur(4px); opacity: .26; will-change: transform; }
.home-orb-one { width: min(520px,48vw); aspect-ratio: 1; left: -15%; top: 5%; background: radial-gradient(circle at 35% 35%,rgba(34,211,238,.58),rgba(42,111,255,.11) 44%,transparent 72%); animation: home-orb-one 18s ease-in-out infinite alternate; }
.home-orb-two { width: min(620px,56vw); aspect-ratio: 1; right: -20%; top: 31%; background: radial-gradient(circle at 45% 45%,rgba(153,102,255,.48),rgba(76,55,217,.1) 46%,transparent 72%); animation: home-orb-two 22s ease-in-out infinite alternate; }
.home-orb-three { width: min(480px,44vw); aspect-ratio: 1; left: 18%; bottom: 2%; background: radial-gradient(circle at center,rgba(34,211,238,.22),rgba(153,102,255,.1) 48%,transparent 72%); animation: home-orb-three 20s ease-in-out infinite alternate; }
.home-light-beam { position: absolute; left: 50%; top: 8%; width: 2px; height: 78%; opacity: .3; background: linear-gradient(transparent,#22d3ee 18%,#9b5cff 52%,transparent); box-shadow: 0 0 30px rgba(34,211,238,.34); transform: rotate(18deg); animation: home-beam 14s ease-in-out infinite alternate; }
.home-grid-glow { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(91,170,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(91,170,255,.07) 1px,transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom,#000,transparent 94%); animation: home-grid-drift 30s linear infinite; }
.home-page .hero { position: relative; z-index: 1; padding: clamp(1.35rem,3vw,2.7rem) 0 2.4rem; }
.home-page .hero-shell { border-color: rgba(90,207,255,.25); background: linear-gradient(145deg,rgba(11,20,43,.96),rgba(6,10,25,.97)); box-shadow: 0 32px 90px rgba(0,0,0,.4),0 0 55px rgba(45,114,255,.1); }
.home-page .hero-art { overflow: hidden; border-bottom: 1px solid rgba(113,184,255,.16); }
.home-page .hero-art::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 70px rgba(3,7,20,.25); }
.home-page .hero-copy { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "eyebrow trust" "title actions" "summary actions"; column-gap: 2rem; align-items: center; }
.home-page .hero-copy .eyebrow { grid-area: eyebrow; }
.home-page .hero-copy h1 { grid-area: title; margin-bottom: .65rem; }
.home-page .hero-copy > p { grid-area: summary; margin: 0; }
.home-page .hero-copy > .row-wrap { grid-area: actions; min-width: 190px; align-content: center; justify-content: flex-end; }
.home-page .hero-copy > .hero-trust { grid-area: trust; justify-content: flex-end; margin: 0; }
.home-service-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.home-service-strip article { min-width: 0; display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; border: 1px solid rgba(120,180,255,.15); border-radius: 17px; background: linear-gradient(145deg,rgba(18,31,61,.78),rgba(8,13,31,.82)); box-shadow: 0 14px 35px rgba(0,0,0,.18); backdrop-filter: blur(15px); }
.home-service-strip article > span { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(103,220,255,.42); border-radius: 13px; color: #e7fbff; background: linear-gradient(145deg,rgba(24,190,235,.28),rgba(112,75,238,.34)); box-shadow: inset 0 1px rgba(255,255,255,.16),0 0 24px rgba(34,211,238,.13); }
.home-service-strip .service-icon svg { width: 23px; height: 23px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 5px rgba(137,233,255,.28)); }
.home-service-strip article div { min-width: 0; display: grid; gap: .2rem; }
.home-service-strip strong { overflow: hidden; font-size: .8rem; white-space: nowrap; text-overflow: ellipsis; }
.home-service-strip small { overflow: hidden; color: #7187ab; font-size: .67rem; white-space: nowrap; text-overflow: ellipsis; }
.home-section { position: relative; padding: clamp(2.4rem,5vw,4.2rem) 0; }
.home-section-frame { position: relative; padding: clamp(1.2rem,3vw,2.15rem); overflow: hidden; border: 1px solid rgba(117,169,244,.13); border-radius: 28px; background: linear-gradient(150deg,rgba(13,22,46,.78),rgba(7,11,27,.72)); box-shadow: 0 24px 68px rgba(0,0,0,.2); backdrop-filter: blur(16px); }
.home-section-frame::before { content: ""; position: absolute; inset: 0 12% auto; height: 1px; background: linear-gradient(90deg,transparent,rgba(34,211,238,.7),rgba(153,102,255,.65),transparent); }
.home-section .section-head { position: relative; z-index: 1; margin-bottom: 1.8rem; }
.home-section .section-head > div { max-width: 720px; }
.home-section-special .home-section-frame { border-color: rgba(255,73,91,.2); background: linear-gradient(145deg,rgba(65,12,28,.24),rgba(10,15,34,.8)); }
.home-section-products .home-section-frame { background: linear-gradient(145deg,rgba(18,27,58,.82),rgba(18,10,42,.65)); }
.home-section-features .feature-card { position: relative; min-height: 190px; padding: 1.35rem; }
.home-section-features .feature-card::after { content: ""; position: absolute; width: 110px; height: 110px; right: -46px; bottom: -54px; border-radius: 50%; background: radial-gradient(circle,rgba(34,211,238,.13),transparent 68%); transition: transform .35s ease; }
.home-section-features .feature-card:hover::after { transform: scale(1.35); }
.home-section-order .home-section-frame { background: linear-gradient(145deg,rgba(8,26,48,.8),rgba(17,11,43,.7)); }
.order-guide { grid-template-columns: minmax(210px,280px) minmax(0,1fr); align-items: stretch; }
.order-visual { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; overflow: hidden; padding: 1.1rem; border: 1px solid rgba(92,200,255,.2); border-radius: 22px; background: radial-gradient(circle at 50% 28%,rgba(34,211,238,.14),transparent 42%),linear-gradient(160deg,rgba(19,40,70,.86),rgba(8,13,31,.9)); text-align: center; }
.order-visual::before { content: ""; position: absolute; inset: 10% 10% auto; aspect-ratio: 1; border: 1px solid rgba(34,211,238,.13); border-radius: 50%; box-shadow: 0 0 0 30px rgba(34,211,238,.025),0 0 0 60px rgba(153,102,255,.018); animation: order-ring 12s linear infinite; }
.order-visual-kicker { position: absolute; z-index: 2; left: 50%; top: 1rem; width: max-content; max-width: calc(100% - 2rem); color: #77e8ff; font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-align: center; text-transform: uppercase; transform: translateX(-50%); }
.order-visual .order-mascot { position: relative; z-index: 1; width: min(100%,220px); margin: 1.6rem auto 0; translate: 13% 0; }
.order-visual > div { position: relative; z-index: 2; width: 100%; display: grid; justify-items: center; gap: .3rem; padding: .85rem; border: 1px solid rgba(122,184,255,.13); border-radius: 15px; background: rgba(5,10,27,.68); backdrop-filter: blur(12px); text-align: center; }
.order-visual strong { font-size: 1rem; }
.order-visual small { color: #8094b5; font-size: .74rem; line-height: 1.55; }
.home-section-order .step { min-height: 128px; background: linear-gradient(145deg,rgba(20,32,62,.84),rgba(8,13,30,.9)); }
@keyframes home-orb-one { to { transform: translate3d(28vw,10vh,0) scale(1.16); } }
@keyframes home-orb-two { to { transform: translate3d(-22vw,15vh,0) scale(.9); } }
@keyframes home-orb-three { to { transform: translate3d(18vw,-10vh,0) scale(1.12); } }
@keyframes home-beam { to { transform: translateX(16vw) rotate(28deg); opacity: .12; } }
@keyframes home-grid-drift { to { background-position: 70px 35px,35px 70px; } }
@keyframes home-watermark { to { transform: translate3d(0,-18px,0) scale(1.025); opacity: .17; } }
@keyframes order-ring { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .home-ambient::before { opacity: .3; }
  .home-ambient::after { background-position: left -14vw top 16vh,right -17vw top 60vh,left top,right bottom; opacity: .08; }
  .home-page .hero-copy {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-areas: none;
    gap: .85rem;
    align-items: stretch;
  }
  .home-page .hero-copy .eyebrow,
  .home-page .hero-copy h1,
  .home-page .hero-copy > p,
  .home-page .hero-copy > .row-wrap,
  .home-page .hero-copy > .hero-trust { grid-area: auto; }
  .home-page .hero-copy > .row-wrap { margin-top: .25rem; justify-content: flex-start; }
  .home-page .hero-copy > .hero-trust { justify-content: flex-start; margin-top: .25rem; }
  .home-service-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .home-ambient::before { inset: -3vh -10vw; opacity: .2; filter: blur(18px) saturate(1.2); }
  .home-ambient::after { display: none; }
  .home-page .hero { padding: .7rem 0 1.7rem; }
  .home-page .hero-shell { min-height: 0; border-radius: 20px; }
  .home-page .hero-art,
  .home-page .hover-preview { width: 100%; aspect-ratio: 16 / 9; }
  .hero--branded .hero-copy,
  .home-page .hero-copy {
    min-height: 0;
    align-self: stretch;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-areas: none;
    gap: .72rem;
    padding: 1rem;
  }
  .home-page .hero-copy .eyebrow,
  .home-page .hero-copy h1,
  .home-page .hero-copy > p,
  .home-page .hero-copy > .row-wrap,
  .home-page .hero-copy > .hero-trust { grid-area: auto; min-width: 0; }
  .home-page .hero-copy .eyebrow { margin: 0; font-size: .68rem; }
  .home-page .hero-copy h1 { margin: 0; font-size: clamp(1.55rem,7.4vw,2rem); line-height: 1.08; }
  .home-page .hero-copy > p { margin: 0; font-size: .86rem; line-height: 1.55; }
  .home-page .hero-copy > .row-wrap { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin: .1rem 0 0; }
  .home-page .hero-copy > .row-wrap .button { width: 100%; min-height: 42px; padding: .66rem .72rem; font-size: .8rem; }
  .home-page .hero-copy > .hero-trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; margin: .15rem 0 0; padding-top: .75rem; border-top: 1px solid rgba(116,181,255,.13); font-size: .62rem; }
  .home-page .hero-copy > .hero-trust span { min-width: 0; align-items: flex-start; line-height: 1.35; }
  .home-service-strip { grid-template-columns: 1fr; gap: .55rem; }
  .home-service-strip article { padding: .72rem .8rem; }
  .home-section-frame { padding: 1rem; border-radius: 22px; }
  .home-section { padding: 2.2rem 0; }
  .order-guide { grid-template-columns: 1fr; }
  .order-visual .order-mascot { width: 155px; }
  .home-orb { opacity: .18; }
  .home-light-beam { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .home-ambient::after,.home-orb,.home-light-beam,.home-grid-glow,.order-visual::before { animation: none !important; }
}


.quantity-stepper { width: max-content; display: grid; grid-template-columns: 48px 62px 48px; align-items: center; overflow: hidden; border: 1px solid rgba(91,212,255,.4); border-radius: 14px; background: rgba(4,10,25,.82); box-shadow: 0 10px 28px rgba(1,7,20,.25); }
.quantity-stepper button { height: 46px; border: 0; color: #07101f; background: var(--gradient); font: inherit; font-size: 1.35rem; font-weight: 950; cursor: pointer; }
.quantity-stepper button:disabled { cursor: not-allowed; opacity: .35; }
.quantity-stepper output { display: grid; place-items: center; height: 46px; color: #fff; font-weight: 950; }
.payment-proof-notice { display: grid; gap: .35rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid rgba(251,191,36,.44); border-radius: 16px; color: #fff0b0; background: linear-gradient(135deg,rgba(120,53,15,.25),rgba(54,35,9,.22)); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.payment-proof-notice strong { color: #facc15; }
.payment-proof-notice span { line-height: 1.6; }
.checkout-agreement { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem 1rem; border: 1px solid rgba(94,210,255,.22); border-radius: 14px; color: #c9d7ee; background: rgba(7,16,38,.56); font-size: .82rem; line-height: 1.5; }
.checkout-agreement input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: .15rem; accent-color: var(--cyan); }
.admin-chat-before-pay { margin-bottom: 1rem; background: linear-gradient(135deg,#22c55e,#4ade80); color: #03140a; border: 1px solid #86efac; box-shadow: 0 0 22px rgba(34,197,94,.38); }
.stock-indicator { width: max-content; margin: .75rem 0; padding: .4rem .7rem; border-radius: 999px; font-size: .76rem; font-weight: 900; }
.stock-indicator.in-stock, .stock-card-label { color: #86efac; border: 1px solid rgba(34,197,94,.35); background: rgba(34,197,94,.1); }
.stock-indicator.sold-out, .stock-card-label.sold-out { color: #fca5a5; border: 1px solid rgba(248,113,113,.42); background: rgba(239,68,68,.1); }
.stock-card-label { width: max-content; display: inline-flex; padding: .25rem .52rem; border-radius: 999px; font-size: .7rem; font-weight: 900; }
.product-card-sold-out .product-thumb img { filter: grayscale(.65) brightness(.7); }
.button.disabled { pointer-events: none; opacity: .5; }

/* Immersive storefront homepage */
.home-v2-stage { position: relative; z-index: 1; padding: 1.4rem 0 3rem; }
.home-v2-stage > .container { width: min(1320px, calc(100% - 2rem)); }
.home-v2-frame { position: relative; overflow: hidden; padding: .85rem; border: 1px solid rgba(48, 218, 255, .52); border-radius: 28px; background: linear-gradient(145deg, rgba(6, 14, 37, .97), rgba(8, 8, 31, .97)); box-shadow: 0 0 0 1px rgba(128, 75, 255, .12), 0 0 45px rgba(38, 185, 255, .13), 0 30px 90px rgba(0, 0, 0, .48); }
.home-v2-frame::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: radial-gradient(circle at 12% 5%, rgba(34, 211, 238, .16), transparent 28%), radial-gradient(circle at 92% 25%, rgba(139, 92, 246, .2), transparent 28%), linear-gradient(90deg, transparent, rgba(34, 211, 238, .38), rgba(147, 83, 255, .4), transparent) top / 100% 1px no-repeat; }
.home-v2-frame > * { position: relative; z-index: 1; }
.home-v2-hero { display: grid; grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr); min-height: 430px; overflow: hidden; border: 1px solid rgba(112, 180, 255, .2); border-radius: 22px; background: linear-gradient(115deg, rgba(8, 23, 51, .98), rgba(12, 10, 37, .97)); }
.home-v2-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4.2vw, 4rem); }
.home-v2-copy::after { content: ""; position: absolute; right: -100px; top: -20%; width: 180px; height: 140%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(7, 14, 37, .94) 35%, transparent); filter: blur(16px); transform: rotate(8deg); }
.home-v2-kicker { width: max-content; margin-bottom: 1rem; color: #75e9ff; font-size: .67rem; font-weight: 950; letter-spacing: .22em; }
.home-v2-kicker::before { content: ""; display: inline-block; width: 28px; height: 2px; margin: 0 .65rem .2rem 0; background: linear-gradient(90deg, var(--cyan), var(--purple)); box-shadow: 0 0 12px rgba(34, 211, 238, .65); }
.home-v2-copy h1 { max-width: 600px; margin: 0 0 1rem; font-size: clamp(2.4rem, 4.7vw, 4.7rem); line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.home-v2-copy h1 span { display: block; color: transparent; background: linear-gradient(105deg, #fff 5%, #4ee7ff 47%, #a56cff 90%); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 0 20px rgba(65, 196, 255, .15)); }
.home-v2-copy > p { max-width: 600px; margin: 0 0 1.45rem; color: #aebed8; font-size: .95rem; line-height: 1.7; }
.home-v2-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.home-v2-actions .button { min-width: 160px; }
.home-v2-actions svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.home-v2-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin-top: 1.6rem; }
.home-v2-benefits article { min-width: 0; display: flex; align-items: center; gap: .55rem; padding: .58rem .65rem; border: 1px solid rgba(93, 190, 255, .15); border-radius: 13px; background: rgba(7, 14, 35, .58); }
.home-v2-benefits article > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(63, 214, 255, .35); border-radius: 50%; color: #72eaff; background: linear-gradient(145deg, rgba(34, 211, 238, .14), rgba(139, 92, 246, .18)); }
.home-v2-benefits svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-v2-benefits article div { min-width: 0; display: grid; gap: .08rem; }
.home-v2-benefits strong { overflow: hidden; font-size: .69rem; white-space: nowrap; text-overflow: ellipsis; }
.home-v2-benefits small { overflow: hidden; color: #7589aa; font-size: .58rem; white-space: nowrap; text-overflow: ellipsis; }
.home-v2-media { position: relative; min-height: 430px; overflow: hidden; background: #030714; }
.home-v2-media::before { content: ""; position: absolute; z-index: 4; inset: 0 auto 0 0; width: 24%; pointer-events: none; background: linear-gradient(90deg, #09142d, transparent); }
.home-v2 .home-v2-media .hover-preview { height: 100%; aspect-ratio: auto; }
.home-v2 .home-v2-media .hover-preview > img,
.home-v2 .home-v2-media .hover-preview > video { object-fit: cover; }
.home-v2-media-glow { position: absolute; z-index: 4; right: 4%; bottom: 4%; width: 200px; aspect-ratio: 1; pointer-events: none; border-radius: 50%; background: radial-gradient(circle, rgba(153, 102, 255, .2), transparent 66%); filter: blur(10px); }
.home-v2-searchbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; margin: .85rem 0; padding: .7rem; border: 1px solid rgba(93, 190, 255, .18); border-radius: 17px; background: linear-gradient(90deg, rgba(14, 28, 58, .88), rgba(11, 14, 39, .82)); }
.home-v2-searchbar > button { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; padding: .62rem .8rem; border: 1px solid rgba(83, 172, 238, .14); border-radius: 12px; color: #8094b5; background: rgba(3, 9, 25, .6); text-align: left; cursor: pointer; }
.home-v2-searchbar > button:hover { border-color: rgba(52, 219, 255, .5); color: #dff9ff; }
.home-v2-searchbar > button svg { width: 21px; height: 21px; fill: none; stroke: #50e4ff; stroke-width: 1.8; }
.home-v2-searchbar > button span { min-width: 0; display: grid; gap: .08rem; }
.home-v2-searchbar > button small { color: #42dff8; font-size: .55rem; font-weight: 900; letter-spacing: .11em; }
.home-v2-searchbar > button strong { overflow: hidden; font-size: .8rem; white-space: nowrap; text-overflow: ellipsis; }
.home-v2-searchbar > div { display: flex; align-items: center; gap: .45rem; }
.home-v2-searchbar > div a { padding: .65rem .8rem; border: 1px solid rgba(116, 157, 222, .16); border-radius: 11px; color: #9db0cf; background: rgba(255,255,255,.025); font-size: .69rem; font-weight: 800; white-space: nowrap; }
.home-v2-searchbar > div a:hover { color: #03101a; background: var(--gradient); }
.home-v2-section { padding: 1rem .2rem 1.3rem; }
.home-v2-section + .home-v2-section { border-top: 1px solid rgba(104, 169, 236, .1); }
.home-v2-section-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; margin-bottom: .85rem; }
.home-v2-section-head h2 { margin: 0 0 .1rem; font-size: 1.05rem; letter-spacing: -.02em; }
.home-v2-section-head p { margin: 0; color: #7186a8; font-size: .68rem; }
.home-v2-section-head > a,
.home-v2-section-actions > a { color: #63e4ff; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.home-v2-section-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.home-rail-controls { display: inline-flex; gap: .35rem; }
.home-rail-controls button { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(89,207,255,.3); border-radius: 10px; color: #dffaff; background: rgba(12,27,55,.84); cursor: pointer; font-weight: 900; }
.home-rail-controls button:hover:not(:disabled) { border-color: #5de6ff; background: rgba(34,211,238,.13); }
.home-rail-controls button:disabled { cursor: not-allowed; opacity: .32; }
.home-v2-heading-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(55, 215, 255, .35); border-radius: 12px; color: #64e9ff; background: linear-gradient(145deg, rgba(34,211,238,.15), rgba(105,72,238,.22)); box-shadow: 0 0 20px rgba(34, 211, 238, .09); }
.home-v2-heading-icon.is-gold { color: #ffd44d; border-color: rgba(251, 191, 36, .42); background: linear-gradient(145deg, rgba(251, 191, 36, .16), rgba(120, 53, 15, .24)); box-shadow: 0 0 22px rgba(251, 191, 36, .12); animation: home-crown-glow 3.2s ease-in-out infinite; }
.home-v2-heading-icon svg,
.home-side-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.home-favorite-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: max(180px, calc((100% - 3.6rem) / 6)); gap: .72rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.home-favorite-grid::-webkit-scrollbar { display: none; }
.home-favorite-card { scroll-snap-align: start; }
.home-favorite-card { overflow: hidden; border: 1px solid rgba(65, 170, 255, .24); border-radius: 15px; background: linear-gradient(160deg, rgba(13, 26, 55, .88), rgba(6, 11, 28, .96)); box-shadow: 0 12px 26px rgba(0, 0, 0, .16); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.home-favorite-card:hover { border-color: rgba(59, 222, 255, .55); box-shadow: 0 18px 34px rgba(0,0,0,.26), 0 0 22px rgba(34,211,238,.08); transform: translateY(-4px); }
.home-favorite-cover { aspect-ratio: 16 / 10; overflow: hidden; }
.home-favorite-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.home-favorite-card:hover img { transform: scale(1.05); }
.home-favorite-copy { display: grid; gap: .16rem; padding: .65rem .72rem .72rem; }
.home-favorite-copy strong { overflow: hidden; font-size: .75rem; white-space: nowrap; text-overflow: ellipsis; }
.home-favorite-copy small { color: #7186a8; font-size: .6rem; }
.home-v2-commerce-grid { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: .85rem; padding-top: .3rem; border-top: 1px solid rgba(104, 169, 236, .1); }
.home-v2-commerce-grid > .home-v2-section { min-width: 0; border: 0; }
.home-special-grid { display: flex; gap: .72rem; overflow-x: auto; padding: .15rem .1rem .55rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(72,211,255,.34) transparent; }
.home-special-card { min-width: 230px; flex: 0 0 min(255px, 76vw); overflow: hidden; border: 1px solid rgba(152, 83, 255, .45); border-radius: 15px; background: linear-gradient(155deg, rgba(28, 16, 58, .92), rgba(8, 14, 35, .96)); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 14px 30px rgba(0,0,0,.18); scroll-snap-align: start; }
.home-special-card:nth-child(2n) { border-color: rgba(255, 70, 112, .45); }
.home-special-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #081027; }
.home-special-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.home-special-card:hover .home-special-media img { transform: scale(1.05); }
.home-special-media span { position: absolute; left: .45rem; top: .45rem; padding: .26rem .42rem; border: 1px solid rgba(255, 118, 142, .62); border-radius: 7px; color: #fff; background: rgba(162, 15, 49, .88); box-shadow: 0 0 15px rgba(255, 54, 104, .28); font-size: .48rem; font-weight: 950; letter-spacing: .045em; }
.home-special-copy { display: grid; gap: .42rem; padding: .7rem; }
.home-special-copy > small { color: #62e5ff; font-size: .54rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.home-special-copy h3 { min-height: 2.35em; margin: 0; font-size: .76rem; line-height: 1.2; }
.home-special-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; color: #f6f9ff; font-size: .82rem; font-weight: 900; }
.home-special-price del { color: #7181a1; font-size: .56rem; font-weight: 600; }
.home-special-copy .button { width: 100%; margin-top: .1rem; padding: .5rem .55rem; font-size: .65rem; }
.home-special-card.is-sold-out { filter: saturate(.45); opacity: .68; }
.home-v2-sidebar { display: grid; align-content: start; gap: .75rem; padding-top: 1rem; }
.home-side-card { position: relative; overflow: hidden; padding: 1rem; border: 1px solid rgba(91, 188, 255, .2); border-radius: 17px; background: linear-gradient(150deg, rgba(13, 27, 56, .92), rgba(9, 12, 32, .94)); }
.home-side-card::after { content: ""; position: absolute; right: -42px; top: -42px; width: 110px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(34, 211, 238, .15), transparent 68%); }
.home-side-icon { width: 39px; height: 39px; display: grid; place-items: center; margin-bottom: .65rem; border: 1px solid rgba(61, 220, 255, .36); border-radius: 12px; color: #68eaff; background: linear-gradient(145deg, rgba(34,211,238,.12), rgba(139,92,246,.2)); }
.home-side-card h2 { margin: 0 0 .28rem; font-size: .9rem; }
.home-side-card p { margin: 0 0 .75rem; color: #8194b3; font-size: .67rem; line-height: 1.5; }
.home-track-card form { display: grid; gap: .55rem; }
.home-track-card .input { height: 40px; font-size: .7rem; }
.home-track-card .button,
.home-help-card .button { width: 100%; padding: .57rem .65rem; font-size: .68rem; }
.home-help-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem .7rem; align-items: center; }
.home-help-card .home-side-icon { margin: 0; }
.home-help-card div p { margin: 0; }
.home-help-card .button { grid-column: 1 / -1; }
.home-v2-empty { display: grid; justify-items: center; gap: .3rem; padding: 2rem 1rem; border: 1px dashed rgba(251,191,36,.25); border-radius: 16px; color: #ffe29a; background: rgba(251,191,36,.04); text-align: center; }
.home-v2-empty span { color: #8194b3; font-size: .72rem; }
.home-v2-order { padding-bottom: .3rem; }
.home-order-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.home-order-steps article { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .7rem; padding: .8rem; border: 1px solid rgba(83, 172, 238, .17); border-radius: 14px; background: linear-gradient(145deg, rgba(13, 27, 56, .8), rgba(7, 12, 30, .86)); }
.home-order-steps article:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -.62rem; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 50%; color: #03101a; background: var(--gradient); font-size: .62rem; font-weight: 950; }
.home-order-steps article > span { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(73, 220, 255, .45); border-radius: 10px; color: #06101c; background: var(--gradient); box-shadow: 0 0 16px rgba(34,211,238,.14); font-size: .7rem; font-weight: 950; }
.home-order-steps article div { min-width: 0; display: grid; gap: .12rem; }
.home-order-steps strong { font-size: .72rem; }
.home-order-steps small { color: #7589aa; font-size: .58rem; line-height: 1.4; }
.home-v2-popular { position: relative; z-index: 1; padding: 0 0 3rem; }
.home-v2-popular .home-v2-section { padding: 1.2rem; border: 1px solid rgba(91, 188, 255, .16); border-radius: 22px; background: linear-gradient(145deg, rgba(11, 22, 48, .82), rgba(11, 9, 34, .8)); box-shadow: 0 20px 55px rgba(0,0,0,.2); }
@keyframes home-crown-glow { 50% { box-shadow: 0 0 30px rgba(251, 191, 36, .24); transform: translateY(-1px); } }

@media (max-width: 1100px) {
  .home-v2-hero { grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr); }
  .home-v2-copy { padding: 2rem; }
  .home-v2-benefits { grid-template-columns: 1fr; }
  .home-v2-benefits article { max-width: 260px; }
  .home-favorite-grid { grid-template-columns: none; grid-auto-columns: calc((100% - 1.44rem) / 3); }
  .home-v2-commerce-grid { grid-template-columns: minmax(0, 1fr); }
  .home-v2-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; }
}

@media (max-width: 820px) {
  .home-v2-stage > .container { width: min(100% - 1.1rem, 1320px); }
  .home-v2-frame { padding: .65rem; border-radius: 22px; }
  .home-v2-hero { grid-template-columns: minmax(0, 1fr); }
  .home-v2-copy { order: 2; }
  .home-v2-copy::after,
  .home-v2-media::before { display: none; }
  .home-v2-media { min-height: 0; aspect-ratio: 16 / 9; }
  .home-v2 .home-v2-media .hover-preview { width: 100%; height: 100%; aspect-ratio: 16 / 9; }
  .home-v2-searchbar { grid-template-columns: minmax(0, 1fr); }
  .home-v2-searchbar > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-v2-searchbar > div a { text-align: center; }
  .home-special-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-order-steps article:nth-child(2)::after { display: none; }
}

@media (max-width: 560px) {
  .home-v2-stage { padding-top: .6rem; }
  .home-v2-stage > .container { width: min(100% - .7rem, 1320px); }
  .home-v2-frame { padding: .45rem; border-radius: 18px; }
  .home-v2-hero { border-radius: 15px; }
  .home-v2-copy { padding: 1.15rem; }
  .home-v2-kicker { margin-bottom: .7rem; font-size: .57rem; }
  .home-v2-copy h1 { font-size: clamp(2rem, 10.5vw, 3rem); }
  .home-v2-copy > p { font-size: .8rem; line-height: 1.58; }
  .home-v2-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-v2-actions .button { min-width: 0; padding: .67rem .55rem; font-size: .72rem; }
  .home-v2-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: 1rem; }
  .home-v2-benefits article { display: grid; justify-items: center; padding: .52rem .25rem; text-align: center; }
  .home-v2-benefits article div { justify-items: center; }
  .home-v2-benefits strong { font-size: .56rem; }
  .home-v2-benefits small { font-size: .48rem; }
  .home-v2-searchbar { margin: .45rem 0; padding: .45rem; }
  .home-v2-searchbar > div { gap: .3rem; }
  .home-v2-searchbar > div a { padding: .55rem .3rem; font-size: .56rem; }
  .home-v2-section { padding: .8rem .15rem 1rem; }
  .home-v2-section-head { grid-template-columns: auto minmax(0, 1fr); }
  .home-v2-section-head > a { grid-column: 2; justify-self: start; }
  .home-v2-section-actions { grid-column: 2; width: 100%; justify-content: space-between; }
  .home-v2-section-head p { font-size: .6rem; }
  .home-favorite-grid { grid-template-columns: none; grid-auto-columns: calc((100% - .5rem) / 2); gap: .5rem; }
  .home-favorite-copy { padding: .55rem; }
  .home-special-grid { gap: .5rem; }
  .home-special-copy { padding: .58rem; }
  .home-special-copy h3 { font-size: .67rem; }
  .home-special-price { font-size: .72rem; }
  .home-v2-sidebar { grid-template-columns: minmax(0, 1fr); }
  .home-order-steps { grid-template-columns: minmax(0, 1fr); }
  .home-order-steps article::after { display: none !important; }
  .home-v2-popular { padding-bottom: 2rem; }
  .home-v2-popular .home-v2-section { padding: .85rem; border-radius: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-v2-heading-icon.is-gold { animation: none; }
  .home-favorite-card,
  .home-favorite-cover img,
  .home-special-media img { transition: none; }
}

@media (max-width: 800px) {
  .games-catalog-page { background: radial-gradient(circle at 16% 4%, rgba(34,211,238,.1), transparent 20rem), linear-gradient(180deg, #071025, #050816); }
  .games-catalog-page::before { opacity: .16; background-size: 46px 46px; }
  .games-catalog-page::after { opacity: .64; background: linear-gradient(180deg, rgba(4,8,22,.42) 0%, rgba(5,8,22,.88) 34rem, #050816 58rem), url('/assets/roblox-game-collage-bg-20260927.webp') center top / auto 620px no-repeat; }
  .games-catalog-ambient { display: none; }
  .catalog-page-head { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 1rem; border-radius: 19px; box-shadow: none; }
  .catalog-title-icon { width: 48px; height: 48px; border-radius: 15px; font-size: 1.35rem; }
  .catalog-highlights { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
  .games-toolbar { grid-template-columns: minmax(0, 1fr) auto !important; }
  .home-ambient::before { position: absolute; inset: 0 0 auto; height: 720px; opacity: .68; filter: none; transform: none; background: linear-gradient(180deg, rgba(4,8,22,.28), rgba(5,8,22,.84) 66%, #050817), url('/assets/roblox-game-collage-bg-20260927.webp') center top / auto 560px no-repeat; }
  .home-ambient::after,
  .home-orb,
  .home-light-beam,
  .home-grid-glow,
  .home-v2-media-glow { display: none; }
  .home-v2-frame,
  .home-special-card,
  .home-favorite-card,
  .games-catalog-page .game-card { box-shadow: none; }
  .home-v2-heading-icon.is-gold { animation: none; }
  .home-special-grid { scroll-behavior: auto; }
  .home-page .home-v2-section,
  .home-page .home-section,
  .home-page .home-v2-popular,
  .games-catalog-page .game-card { content-visibility: auto; contain-intrinsic-size: 320px; }
}

@media (max-width: 560px) {
  .games-catalog-page { padding-top: 1.25rem; }
  .catalog-page-head { grid-template-columns: 1fr; gap: .7rem; }
  .catalog-title-icon { width: 44px; height: 44px; }
  .catalog-page-head h1 { font-size: 2rem; }
  .catalog-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: .35rem; }
  .catalog-highlights span { min-width: 0; padding: .5rem .35rem; overflow: hidden; font-size: .58rem; text-align: center; text-overflow: ellipsis; }
  .games-toolbar { grid-template-columns: minmax(0, 1fr) !important; gap: .3rem; }
  .catalog-game-count { justify-self: start; margin-left: .35rem; }
  .game-card-emoji { right: .45rem; bottom: .45rem; width: 31px; height: 31px; border-radius: 10px; font-size: .9rem; }
}
