/* Game Store luxury presentation (navy velvet + bright gold). Visual only. */
:root{--lx-gold:#FFC72C;--lx-gold-l:#FFF1A8;--lx-gold-d:#B8860B;--lx-navy:#021F54;--lx-deep:#021433}
.packs,.items,.themes{gap:1.4rem}
.card.lx-card{position:relative;overflow:hidden;color:#fff;border:3px solid var(--lx-gold)!important;border-radius:20px;padding:1.1rem 1rem 1.2rem;
  background:radial-gradient(120% 80% at 50% 0%,#1E4C8F 0%,#0B2545 45%,#021433 100%),#0B2545!important;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 6px),radial-gradient(120% 80% at 50% 0%,#1E4C8F 0%,#0B2545 45%,#021433 100%)!important;
  box-shadow:0 0 0 2px var(--lx-deep),0 0 0 4px rgba(255,199,44,.55),0 12px 28px rgba(2,20,51,.45),inset 0 0 40px rgba(0,0,0,.45);
  transition:transform .25s ease,box-shadow .25s ease}
/* gold filigree corners */
.lx-card::before{content:"";position:absolute;inset:7px;border:1.5px solid rgba(255,199,44,.6);border-radius:14px;pointer-events:none;
  background:
   radial-gradient(circle at 0 0,transparent 13px,var(--lx-gold) 14px,var(--lx-gold) 15.5px,transparent 16.5px) top left/34px 34px no-repeat,
   radial-gradient(circle at 100% 0,transparent 13px,var(--lx-gold) 14px,var(--lx-gold) 15.5px,transparent 16.5px) top right/34px 34px no-repeat,
   radial-gradient(circle at 0 100%,transparent 13px,var(--lx-gold) 14px,var(--lx-gold) 15.5px,transparent 16.5px) bottom left/34px 34px no-repeat,
   radial-gradient(circle at 100% 100%,transparent 13px,var(--lx-gold) 14px,var(--lx-gold) 15.5px,transparent 16.5px) bottom right/34px 34px no-repeat}
.lx-card>*{position:relative}
.card.lx-card,.lx-card h3,.lx-card p,.lx-card .small,.lx-card span{color:#F4F8FF}
.lx-card .tag,.lx-card span.tag{background:var(--lx-gold);color:var(--lx-navy)}
.lx-card .tag-new{background:#BFE6FF;color:var(--lx-navy)}.lx-card .tag-coming-soon{background:#3a4c6b;color:#fff}
.lx-card .btn{width:100%;font-size:1.15rem;min-height:60px;border:3px solid var(--lx-gold-l);border-radius:14px;color:var(--lx-navy);
  background:linear-gradient(180deg,var(--lx-gold-l) 0%,var(--lx-gold) 48%,#E0A800 52%,var(--lx-gold) 100%);box-shadow:0 4px 0 var(--lx-gold-d),0 8px 18px rgba(0,0,0,.35);transition:transform .15s ease,box-shadow .15s ease,filter .15s}
.lx-card .btn.alt{background:transparent;color:var(--lx-gold-l);border-color:var(--lx-gold);box-shadow:none}
.lx-card .btn:hover:not(:disabled){filter:brightness(1.08)}
.lx-card .btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--lx-gold-d),0 3px 8px rgba(0,0,0,.35)}
.lx-card .btn:focus-visible{outline:4px solid #fff;outline-offset:3px}
.lx-card .btn:disabled{opacity:.75;cursor:not-allowed}
@media (hover:hover){.lx-card:hover{transform:translateY(-6px);box-shadow:0 0 0 2px var(--lx-deep),0 0 0 4px var(--lx-gold),0 18px 40px rgba(2,20,51,.55),0 0 34px rgba(255,199,44,.35),inset 0 0 40px rgba(0,0,0,.45)}}
.lx-card:focus-within{box-shadow:0 0 0 2px var(--lx-deep),0 0 0 5px #fff,0 0 30px rgba(255,199,44,.5)}
/* art */
.lx-art{position:relative;margin:.4rem auto .3rem;max-width:260px;aspect-ratio:200/140;border-radius:14px;overflow:hidden}
.lx-svg{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.lx-prev{background:radial-gradient(circle at 50% 45%,#1E4C8F,#021433 75%);border:2px solid var(--lx-gold);box-shadow:inset 0 0 0 4px var(--lx-deep),inset 0 0 0 5px rgba(255,199,44,.5)}
.lx-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 48%,rgba(255,241,168,.15) 52%,transparent 62%);background-size:250% 100%;background-position:150% 0;animation:lxShine 5.5s ease-in-out infinite}
.lx-card:hover .lx-shine{animation-duration:2.2s}
@keyframes lxShine{0%,55%{background-position:150% 0}100%{background-position:-60% 0}}
.lx-tw{transform-box:fill-box;transform-origin:center;animation:lxTw 2.6s ease-in-out infinite}
@keyframes lxTw{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}
/* packs text: large and easy to read */
.lx-tier{font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--lx-gold);font-size:1rem;margin-top:.3rem}
.lx-card.pack .pack-n{font-size:2.3rem;line-height:1.1;color:#fff;text-shadow:0 2px 0 #000,0 0 18px rgba(191,230,255,.55)}
.lx-card.pack .price{font-size:2rem;font-weight:800;color:var(--lx-gold);text-shadow:0 2px 0 #000;margin:.3rem 0 .7rem}
.lx-card.pack .small{font-size:1rem}
.lx-ribbon{position:absolute!important;top:16px;right:-46px;transform:rotate(38deg);width:180px;text-align:center;padding:.35rem 0;font-weight:800;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;z-index:2;
  background:linear-gradient(180deg,var(--lx-gold-l),var(--lx-gold));color:var(--lx-navy);box-shadow:0 3px 8px rgba(0,0,0,.4)}
.lx-best{border-width:4px!important;box-shadow:0 0 0 2px var(--lx-deep),0 0 0 6px var(--lx-gold),0 0 40px rgba(255,199,44,.55),0 14px 32px rgba(2,20,51,.5),inset 0 0 40px rgba(0,0,0,.45);animation:lxGlow 3.5s ease-in-out infinite}
@keyframes lxGlow{50%{box-shadow:0 0 0 2px var(--lx-deep),0 0 0 6px var(--lx-gold-l),0 0 60px rgba(255,199,44,.8),0 14px 32px rgba(2,20,51,.5),inset 0 0 40px rgba(0,0,0,.45)}}
.lx-t5 .lx-art{max-width:300px}
/* items + themes */
.lx-item .swatch-dot{position:absolute;top:14px;right:14px;width:26px;height:26px;border:2px solid var(--lx-gold);box-shadow:0 0 0 2px var(--lx-deep);z-index:2}
.lx-rar{display:inline-block;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .7rem;border-radius:999px;border:2px solid var(--lx-gold);color:var(--lx-gold)}
.lx-r2 .lx-rar{background:rgba(191,230,255,.15);color:#E6F4FF;border-color:#BFE6FF}
.lx-r3 .lx-rar{background:var(--lx-gold);color:var(--lx-navy)}
.lx-r4 .lx-rar{background:linear-gradient(90deg,var(--lx-gold-l),var(--lx-gold),#fff,var(--lx-gold));color:var(--lx-navy);border-color:#fff}
.lx-r3,.lx-r4{border-width:4px!important}
.lx-state{position:absolute!important;top:12px;left:12px;z-index:3;font-weight:800;font-size:.95rem;padding:.3rem .7rem;border-radius:10px;background:#fff;color:var(--lx-navy);border:2px solid var(--lx-gold)}
.lx-equipped .lx-state{background:var(--lx-gold)}
.lx-state~.lx-rar{margin-left:auto;float:right}
.lx-equipped{box-shadow:0 0 0 2px var(--lx-deep),0 0 0 6px var(--lx-gold-l),0 0 34px rgba(255,199,44,.6)!important}
.lx-theme .tprev.lx-frame{height:150px;border:3px solid var(--lx-gold);border-radius:14px;box-shadow:inset 0 0 0 3px var(--lx-deep),inset 0 0 0 4px rgba(255,199,44,.6);margin:.5rem 0}
.lx-locked .tprev{filter:saturate(.5) brightness(.75)}
.lx-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;margin:.4rem 0}
@media (max-width:520px){.packs,.items,.themes{grid-template-columns:1fr}.lx-art{max-width:300px}.lx-card.pack .pack-n{font-size:2.5rem}.lx-card.pack .price{font-size:2.2rem}}
@media (prefers-reduced-motion:reduce){.lx-card,.lx-card .btn{transition:none}.lx-shine,.lx-tw,.lx-best{animation:none}.lx-shine{display:none}.lx-tw{opacity:.9}.lx-card:hover{transform:none}}
@media (forced-colors:active){.lx-card{border:3px solid CanvasText!important}}
.lx-card .lx-ribbon{position:relative!important;top:auto;right:auto;transform:none;width:auto;margin:-1.1rem -1rem .5rem;padding:.45rem .5rem;border-radius:16px 16px 0 0;font-size:1rem;color:var(--lx-navy)}
.lx-card .lx-ribbon::before{content:"\2726  "}.lx-card .lx-ribbon::after{content:"  \2726"}
/* Oct 25 2026: a short last row of packs is centred instead of leaving an empty gap on the right */
@media (min-width:521px){.grid.packs{display:flex;flex-wrap:wrap;justify-content:center}.grid.packs>*{flex:0 1 calc((100% - 4.2rem)/4);min-width:200px}}
/* Oct 25 2026: price + Buy button sit at the same height across a row */
.lx-card.pack,.card.pack{display:flex!important;flex-direction:column;align-items:center}
.lx-card.pack>.price,.card.pack>.price{margin-top:auto!important}
.lx-card.pack>.btn,.card.pack>.btn{margin-top:.2rem}
.lx-card.pack>.btn,.card.pack>.btn{width:100%;min-height:3.6em;display:flex;align-items:center;justify-content:center}
/* Pool shop: exotic cues + cue balls (js/store-pool.js) */
.pool-shop{margin:1.6rem 0 .6rem}
.pool-shop .pool-sub{color:#F3E5AB;margin:1rem 0 .5rem;font-size:1.15rem;letter-spacing:.02em}
.pool-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:1rem!important}
.pool-grid.balls{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}
.pool-item{display:flex!important;flex-direction:column}
.pool-item>.btn{margin-top:auto!important;width:100%;min-height:3.2em}
.pool-art{display:flex;align-items:center;justify-content:center;border-radius:12px;background:radial-gradient(ellipse at 50% 40%,#1b4f86 0%,#0d2c52 60%,#071a33 100%)!important;border:1px solid rgba(212,160,23,.45);padding:.6rem;margin:.4rem 0 .6rem;min-height:120px}
.pool-art .pool-pv{display:block;max-width:100%;height:auto}
.pool-art.cue .pool-pv{width:100%}
.pool-art.ball .pool-pv{width:120px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}
@media (max-width:520px){.pool-grid,.pool-grid.balls{grid-template-columns:1fr 1fr!important;gap:.7rem!important}.pool-grid{grid-template-columns:1fr!important}.pool-art.ball .pool-pv{width:96px}}
.pool-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
.pool-grid.balls{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important}
.pool-item .lx-art.pool-art{aspect-ratio:auto!important;max-width:none!important;width:100%;overflow:visible}
.pool-item .lx-rar{align-self:flex-start}
.pool-item .lx-state~.lx-rar{align-self:flex-end;float:none;margin-left:0}
.pool-item .lx-state{background:#F3E5AB!important}
.pool-item.lx-equipped .lx-state{background:#FFC72C!important}
.pool-item h3{margin:.2rem 0 .3rem}
@media (max-width:520px){.pool-grid{grid-template-columns:1fr!important}.pool-grid.balls{grid-template-columns:1fr 1fr!important}.pool-art{min-height:0;padding:.4rem}.pool-item{padding:.8rem!important}}
/* Pool shop v2: rarity + status share one wrapping row (never overlap); roomier ball grid */
.pool-item .pool-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .5rem;margin-bottom:.2rem}
.pool-item .pool-tags .lx-state{position:static!important;top:auto;left:auto;float:none;margin:0;font-size:.85rem;padding:.2rem .6rem;white-space:nowrap}
.pool-item .pool-tags .lx-rar{float:none;margin:0;white-space:nowrap}
.pool-art.cue{padding:0;overflow:hidden!important}
.pool-grid.balls{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important}
.pool-item h3{font-size:1.12rem;line-height:1.25}
@media (max-width:520px){.pool-grid.balls{grid-template-columns:1fr 1fr!important}.pool-item h3{font-size:1rem}.pool-item .pool-tags .lx-rar,.pool-item .pool-tags .lx-state{font-size:.72rem;padding:.15rem .45rem}}
.pool-item>.btn{white-space:nowrap;height:3.2em;min-height:0!important;padding-top:0;padding-bottom:0}
@media (max-width:520px){.pool-item .pool-tags .lx-rar{white-space:normal}.pool-item>.btn{font-size:.9rem}}
@media (max-width:360px){.pool-item .pool-tags .lx-rar,.pool-item .pool-tags .lx-state{font-size:.62rem;letter-spacing:.02em;padding:.12rem .35rem}.pool-grid.balls{gap:.5rem!important}}
.pool-grid.balls{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important}
.pool-item>.btn{white-space:normal;line-height:1.1}
.pool-item .pool-tags .lx-state{color:#0B2545!important;font-weight:800}
@media (max-width:520px){.pool-grid.balls{grid-template-columns:1fr 1fr!important}}
@media (max-width:520px){.pool-item>.btn{padding-left:.3rem!important;padding-right:.3rem!important;font-size:.85rem;height:3.4em}}
@media (max-width:360px){.pool-item>.btn{font-size:.78rem;height:3.6em}}
/* Theme cards: Owned/Equipped badge sits in the flow above the rarity pill (no overlap, preview never squeezed beside a floated pill). 2026-10-26 */
.lx-theme .lx-state{position:static!important;display:inline-block;margin:0 .4rem .4rem 0;vertical-align:middle}
.lx-theme .lx-state~.lx-rar{float:none;margin-left:0;vertical-align:middle}
.lx-theme .tprev.lx-frame{clear:both}
