/* Storefront layout */
body {
  isolation:isolate;
  background:#130c15;
}
body::before,body::after {
  content:""; position:fixed; pointer-events:none; z-index:-1;
}
body::before {
  inset:-18% -10%;
  background:
    radial-gradient(ellipse at 8% 35%,#ab35547d 0%,#6c234667 22%,transparent 47%),
    radial-gradient(ellipse at 90% 58%,#cb466782 0%,#79284966 25%,transparent 49%),
    radial-gradient(ellipse at 49% 100%,#642a4d72,transparent 48%);
  animation:store-haze 12s ease-in-out infinite alternate;
}
body::after {
  inset:0; opacity:.38;
  background:radial-gradient(circle,#ffd3d9 1px,transparent 2px) 0 0 / 153px 127px,
    radial-gradient(circle,#f37591 1px,transparent 2px) 31px 44px / 101px 173px;
  mask-image:linear-gradient(90deg,#000,transparent 31%,transparent 69%,#000);
  animation:store-sparks 15s linear infinite;
}
@keyframes store-haze {
  from { transform:translate3d(-5%,-7%,0) scale(1); opacity:.64; }
  to { transform:translate3d(7%,9%,0) scale(1.1); opacity:1; }
}
@keyframes store-sparks {
  to { background-position:153px -127px,132px -129px; }
}
@media(prefers-reduced-motion:reduce) {
  body::before,body::after { animation:none; }
}
.masthead { isolation:isolate; background:radial-gradient(ellipse at 24% 34%,#6f293a 0%,#38151f 29%,#180e16 70%,#120a12); border-color:#66313f; }
.masthead::before {
  inset:-55% -18%; pointer-events:none; z-index:-1;
  background:radial-gradient(ellipse at 34% 46%,#fff2ee80 0%,#ff6c75a0 10%,#c82d5260 23%,transparent 47%),
    radial-gradient(ellipse at 68% 54%,#e94d6480,transparent 39%);
  animation:header-light 9s ease-in-out infinite alternate;
}
.mast-sparks {
  position:absolute; z-index:0; inset:-48px 0; pointer-events:none; opacity:.64;
  background-image:radial-gradient(circle,#fff5ed 1px,transparent 2px),radial-gradient(circle,#ff8297 1.5px,transparent 2.5px),radial-gradient(circle,#ffd5df 1px,transparent 2px);
  background-size:139px 107px,211px 151px,173px 93px;
  background-position:22px 10px,60px 34px,91px 66px;
  mask-image:linear-gradient(90deg,transparent,#000 25%,#000 74%,transparent);
  animation:header-sparks 12s linear infinite;
}
@keyframes header-light {
  from { transform:translate(-9%,-9%) rotate(-6deg); opacity:.64; }
  to { transform:translate(13%,10%) rotate(5deg); opacity:.94; }
}
@keyframes header-sparks {
  from { background-position:22px 10px,60px 34px,91px 66px; }
  to { background-position:161px -97px,271px -117px,264px -27px; }
}
.masthead .heroinner { min-height:225px; justify-content:space-between; align-items:flex-start; padding:16px 0 22px; }
.mast-brand img { width:clamp(135px,20vw,215px); height:auto; filter:drop-shadow(0 12px 15px #14070e) drop-shadow(0 0 17px #ffb9b54a); }
.mast-actions { display:flex; align-items:center; gap:12px; }
.mast-actions .editions { display:inline-block; margin:0; color:#ffe0d6; background:#261620db; padding:8px 12px; border:1px solid #65404b; border-radius:24px; letter-spacing:0; font-size:12px; }
#player-name { max-width:22ch; overflow:hidden; text-overflow:ellipsis; }
.shop-layout { display:grid; grid-template-columns:208px minmax(0,1fr); gap:21px; position:relative; margin-top:-19px; }
.sidebar { position:sticky; top:16px; align-self:start; }
.side-menu,.featured-card,.welcome { border:1px solid var(--line); background:linear-gradient(145deg,#21151b,#181116); border-radius:12px; }
.side-menu { display:block; padding:13px; }
.side-menu h2 { color:#ffe1d9; font-family:inherit; font-size:11px; text-transform:uppercase; letter-spacing:.15em; margin:2px 6px 8px; }
.side-menu button { display:flex; align-items:center; gap:8px; width:100%; text-align:left; background:transparent; border:1px solid transparent; border-radius:7px; padding:8px; color:#e4cdd5; font-size:13px; }
.side-menu button:hover,.side-menu button[aria-pressed=true] { background:#45222d; border-color:#723641; color:#ffe7e0; }
.side-menu button span { width:19px; text-align:center; }
.featured-grid { display:grid; gap:10px; }
.featured-card:hover { filter:brightness(1.2); }
.featured-card b,.featured-card small { display:block; }
.featured-card i { margin-left:auto; font-style:normal; font-size:22px; }
.featured { margin:17px 0 13px; }
.featured h2 { font-family:inherit; text-transform:uppercase; margin-bottom:8px; }
.featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-card { text-align:left; min-width:0; display:flex; align-items:center; gap:9px; padding:5px 10px 5px 5px; }
.featured-card img { width:42px; height:48px; object-fit:contain; mix-blend-mode:screen; }
.featured-card b { font-size:13px; }
.featured-card small { color:#ffac89; font-size:11px; }
.welcome { padding:17px; margin-bottom:24px; }
.welcome h1 { font-size:clamp(30px,5vw,45px); line-height:1; text-shadow:none; margin:3px 0 8px; }
.welcome p { color:var(--muted); font-size:14px; line-height:1.5; }
.catalog h2,.support h2 { font-size:clamp(43px,6vw,64px); }
.search input { width:min(36vw,190px); }
.rank-compare { padding:11px 13px; font-size:14px; }
.rank-compare summary { font-weight:700; color:#ffd2bc; }
.table-scroll { overflow:auto; margin-top:12px; }
.rank-compare table { width:100%; border-collapse:collapse; white-space:nowrap; }
.rank-compare td,.rank-compare th { border:1px solid var(--line); padding:8px; text-align:center; }
.rank-compare thead th { color:#ffab91; background:#34202a; }
.rank-compare .outline { min-height:30px; padding:0 8px; font-size:12px; }
.footer .brand { gap:5px; }
@media(max-width:850px) {
  .shop-layout { grid-template-columns:162px minmax(0,1fr); gap:12px; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .helpgrid { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .masthead .heroinner { min-height:158px; }
  .masthead::before { opacity:.8; }
  .mast-actions .editions { display:none; }
  .shop-layout { grid-template-columns:minmax(0,1fr); margin-top:0; }
  .sidebar { position:static; }
  .side-menu { padding:9px; }
  #filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-card { flex-direction:column; text-align:center; padding:4px; gap:0; }
  .featured-card i { display:none; }
  .sectionhead { flex-wrap:wrap; gap:0 12px; }
  .search input { width:170px; }
}
/* Account, community modules, and storefront information */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.player-bar { display:flex; align-items:stretch; border-radius:24px; background:#21141a; border:1px solid #62333b; overflow:hidden; }
.player-bar button { display:flex; align-items:center; gap:7px; background:transparent; border:0; padding:3px 8px 3px 12px; min-height:40px; font-size:12px; font-weight:700; }
.player-bar button:focus-visible { outline-offset:-3px; }
.player-bar button:hover { filter:brightness(1.18); }
.player-bar #basket { background:linear-gradient(135deg,#ac3337,#812436); color:#fff1e9; }
.player-bar img { image-rendering:pixelated; border-radius:50%; border:1px solid #a5696e; }
.side-widgets { display:grid; gap:8px; margin-top:10px; }
.side-widget { background:#1d1319; border:1px solid var(--line); border-radius:10px; padding:11px; min-width:0; }
.side-widget h2,.welcome-card h2 { font-family:inherit; font-size:11px; text-transform:uppercase; letter-spacing:.075em; }
.side-widget p { color:var(--muted); font-size:11px; line-height:1.4; margin-top:5px; }
.payment-slots { display:flex; gap:5px; margin-top:8px; }
.payment-slots span { width:25px; height:25px; border-radius:5px; background:repeating-linear-gradient(45deg,#2c2028,#2c2028 4px,#342630 4px,#342630 8px); border:1px solid #47323e; }
.gift-check { display:flex; gap:5px; margin-top:8px; }
.gift-check input,.gift-check button { font-size:11px; padding:5px; border-radius:6px; border:1px solid #5e3745; }
.gift-check input { min-width:0; width:100%; background:#120c11; color:var(--ink); }
.gift-check button { background:#522630; color:#f4c5bd; cursor:default; }
.top-customer,.community { display:flex; align-items:center; gap:9px; }
.top-customer { background:linear-gradient(110deg,#53232d,#23151e); }
.goal-ring { display:grid; place-items:center; width:39px; height:39px; flex:none; border:3px solid #72504e; border-top-color:#d56759; border-radius:50%; color:#ffc5b6; }
.welcome { margin-bottom:10px; }
.welcome h1 { color:#ff927c; font-size:clamp(32px,4vw,43px); }
.welcome p+p { margin-top:7px; }
.welcome-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:30px; }
.welcome-card { border:1px solid; border-radius:10px; padding:12px 14px; }
.welcome-card p { color:var(--muted); font-size:13px; line-height:1.48; margin:6px 0; }
.welcome-card a { font-size:12px; font-weight:700; }
.refunds { background:#2a151a; border-color:#a84a50; color:#ff9c92; }
.discord-support { background:#17231e; border-color:#3d775b; color:#a0e4b9; }
.basket-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }
@media(max-height:780px) { .sidebar { position:static; } }
@media(max-width:640px) {
  .player-bar button { padding:2px 6px; }
  .player-bar img { width:27px; height:27px; }
  #player-name { max-width:11ch; }
  .side-widgets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gift-check { flex-wrap:wrap; }
  .welcome-cards { grid-template-columns:1fr; }
  .footer { flex-wrap:wrap; }
  .footer p { text-align:left; }
}
/* Portal lighting and server address */
.masthead::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 65% 55%,#ff503866,transparent 48%);
  opacity:.45;
  animation:portal-glow 6s ease-in-out infinite alternate;
}
.masthead .heroinner { z-index:1; justify-content:flex-start; gap:clamp(12px,4vw,52px); }
.mast-actions { margin-left:auto; }
.side-menu button[aria-pressed=true] {
  background:linear-gradient(110deg,#5b2932,#3d1d28);
  border-color:#b25a57;
  box-shadow:inset 0 0 15px #f05a4630,0 0 12px #f05a4625;
  animation:selection-glow .58s ease-out;
}
.choices label:has(:checked) { animation:selection-glow .58s ease-out; }
.card:focus-within,.card:hover,.featured-card:hover,.featured-card:focus-visible {
  box-shadow:0 0 21px #f05a463a;
}
@keyframes portal-glow { from { opacity:.25; } to { opacity:.75; } }
@keyframes selection-glow {
  from { box-shadow:inset 0 0 25px #f05a467a,0 0 18px #f05a4666; }
  to { box-shadow:inset 0 0 15px #f05a4630,0 0 12px #f05a4625; }
}
@media(max-width:640px) {
}
@media(prefers-reduced-motion:reduce) {
  .masthead::before,.masthead::after,.mast-sparks,.side-menu button[aria-pressed=true],.choices label:has(:checked) { animation:none; }
}
/* Package contents and store footer */
.details-link {
  align-self:flex-start; margin:0 0 12px; padding:0; border:0; background:none;
  color:#ffb7a4; font-size:12px; text-decoration:underline; text-underline-offset:3px;
}
#details { width:min(680px,calc(100% - 28px)); padding-bottom:0; }
#details h2 { padding-right:24px; }
.package-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:18px; }
.package-layout .detailart { width:100%; height:auto; max-height:246px; }
.package-layout h3 { font-size:15px; margin-top:15px; }
.package-layout ul { padding-left:20px; margin:8px 0 18px; }
.package-layout li { margin-bottom:4px; font-size:14px; }
.package-preview { margin:12px 0; }
.package-preview figcaption { color:#ffc0aa; font-size:13px; font-weight:700; margin-bottom:5px; }
.package-preview img { display:block; width:100%; max-width:310px; height:auto; border:1px solid #795057; border-radius:4px; }
.package-buy {
  display:flex; justify-content:space-between; align-items:center; gap:10px; position:sticky; bottom:0;
  background:#20151e; border-top:1px solid var(--line); padding:10px 0 16px; color:#ffb7a4;
}
.package-actions { display:flex; flex-wrap:wrap; gap:7px; }
.package-actions .outline { min-height:35px; }
#remove-player { width:100%; margin-top:12px; }
.card .package-actions .primary { width:auto; flex:1; }
.card .package-actions button { padding:0 9px; font-size:12px; }
.store-footer { background:#0c090e; padding:0; }
.footer-main { display:grid; grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr); gap:clamp(15px,6vw,90px); align-items:center; padding:32px 0; }
.footer-main h2 { font-family:inherit; font-size:15px; margin:0 0 5px; }
.footer-main p,.footer-bar p { color:#c5b8c3; font-size:13px; line-height:1.5; }
.footer-brand { justify-self:center; }
.footer-brand img { display:block; object-fit:contain; filter:drop-shadow(0 4px 12px #ff56343a); }
.footer-discord { margin-top:9px; min-height:36px; background:#433789; border-color:#6f5ac7; }
.footer-discord:hover { background:#594ab3; }
.footer-bottom { border-top:1px solid var(--line); }
.footer-bar { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:14px 0; }
.footer-links { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; font-size:12px; }
.footer-links a,.footer-payments a { color:#ffc0aa; text-decoration:underline; text-underline-offset:3px; }
.footer-payments { font-size:12px; }
.footer-payments small { color:var(--muted); }
.payment-brands { display:flex; align-items:center; gap:7px; margin:5px 0; padding:0; list-style:none; }
.payment-brands li { display:grid; place-content:center; width:52px; height:25px; border-radius:4px; background:#211923; font-weight:800; }
.payment-brands .wallet { background:#fff; color:#141217; font-size:10px; display:flex; justify-content:center; align-items:center; gap:2px; }
.payment-brands .wallet b { color:#2967cc; }
.payment-brands .mastercard { position:relative; }
.mastercard::before,.mastercard::after { position:absolute; top:4px; width:17px; height:17px; border-radius:50%; content:""; }
.mastercard::before { left:12px; background:#eb001b; }
.mastercard::after { left:23px; background:#ff9d00; opacity:.92; }
.payment-brands .visa { font-size:15px; font-style:italic; color:#fff; }
.payment-brands .amex { background:#0865ae; color:#fff; font-size:9px; line-height:.9; }
@media(max-width:640px) {
  .package-layout { grid-template-columns:minmax(0,1fr) minmax(74px,.38fr); gap:9px; }
  .package-layout .detailart { max-height:135px; }
  .footer-main { grid-template-columns:1fr; gap:13px; }
  .footer-brand { grid-row:1; justify-self:start; }
  .footer-bar { align-items:flex-start; flex-direction:column; }
}
:root { --portal-light:255 80 56; --portal-intensity:1; }
:root[data-portal=ember] { --portal-light:255 151 64; }
:root[data-portal=violet] { --portal-light:157 86 246; }
.masthead::after { background:radial-gradient(ellipse at 65% 55%,rgb(var(--portal-light) / clamp(0,calc(var(--portal-intensity) * .4),1)),transparent 48%); }
@media(prefers-reduced-motion:no-preference) {
  :root[data-tilt=true] .card:hover { transform:perspective(650px) rotateX(5deg) rotateY(-5deg) translateY(-5px); }
}

.catalog-banner {
  position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between;
  gap:16px; min-height:112px; padding:17px clamp(15px,3vw,29px); overflow:hidden;
  color:#fff1eb; border:1px solid #ab4d53; border-radius:13px;
  background:linear-gradient(105deg,#451c29 15%,#732833 56%,#3a1722);
  box-shadow:0 4px 0 #321420,0 10px 26px #0005;
}
.catalog-banner::before {
  position:absolute; z-index:-1; inset:0; content:"";
  background:radial-gradient(ellipse at 76% 40%,#ffb1b484 0%,#e84e6877 25%,transparent 65%);
  opacity:.52; transition:opacity .25s ease; animation:header-light 10s ease-in-out infinite alternate;
}
.catalog-banner:hover::before,.catalog-banner:focus-visible::before { opacity:.86; }
.banner-copy { display:grid; gap:4px; }
.banner-copy span { color:#ffc0ac; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.banner-copy strong { font-family:var(--heading); font-size:clamp(29px,4vw,42px); line-height:.95; }
.banner-copy small { color:#ffe0d5; font-size:12px; }
.banner-actions { display:flex; flex-wrap:wrap; gap:8px; }
.banner-actions .outline { background:#33141fd9; border-color:#c7706d; color:#fff0e7; min-height:38px; }
.banner-actions .outline:hover { background:#632733; }
.catalog-banner:focus-within::before { opacity:.86; }
@media(max-width:540px) {
  .catalog-banner { flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-banner::before { transition:none; animation:none; }
}
.parent-notice { margin-top:16px; padding:15px 17px; border:1px solid #a45a5b; border-left:4px solid #e46c62; border-radius:10px; background:#29171e; }
.parent-notice h3 { font-size:15px; color:#ffb4a5; margin-bottom:6px; }
.parent-notice p { color:#e0cbd2; font-size:14px; line-height:1.55; }

#basket-dialog { position:fixed; inset:0 0 0 auto; margin:0; width:min(100%,430px); height:100dvh; max-height:none; max-width:none; border-radius:16px 0 0 16px; padding:24px 20px; background:#1b1119; }
#basket-dialog[open] { display:flex; flex-direction:column; gap:13px; animation:basket-enter .22s ease-out; }
#basket-dialog h2 { padding-right:28px; margin-bottom:0; }
.basket-body { flex:1; overflow:auto; min-height:0; }
.basket-player,.basket-line,.basket-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.basket-player { padding:8px 0; border-bottom:1px solid #573542; margin-bottom:10px; }
.basket-line { background:#2a1b26; border:1px solid #533642; border-radius:9px; padding:10px; }
.basket-line>div { flex:1; min-width:0; overflow-wrap:anywhere; }
.basket-line small { display:block; color:#ffb7a4; margin-top:3px; }
.basket-quantity select { color:#f9eaf0; background:#20151e; border:1px solid #71505c; border-radius:6px; padding:6px; }
#basket-dialog .outline { min-height:34px; padding:0 8px; font-size:12px; }
#basket-actions { display:grid; flex:none; border-top:1px solid #573542; padding-top:13px; margin:0; }
.basket-summary strong { color:#ffac97; font-size:19px; }
#basket-feedback:empty { display:none; }
#basket-feedback { color:#ffb7a4; font-size:13px; }
#payment-dialog { width:min(960px,calc(100% - 18px)); padding:16px; max-height:calc(100dvh - 18px); }
#payment-dialog h2 { margin:0 35px 8px 0; font-size:34px; }
#tebex-payment tebex-checkout { display:block; }
@keyframes basket-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) { #basket-dialog[open] { animation:none; } }
.payment-slots img { border-radius:5px; image-rendering:pixelated; } #gift-balance { color:#ffb7a4; font-size:11px; }
#gift-form button { background:#8b3542; color:#fff0e6; cursor:pointer; } #gift-status { min-height:1em; }
#goal-progress { display:block; max-width:100%; height:6px; margin-top:6px; accent-color:#ef756b; }

.goal-card { border-color:#874652; background:radial-gradient(ellipse at 15% 0%,#aa414b55,transparent 68%),linear-gradient(150deg,#321b27,#1b1218); padding:12px; }
.goal-header { display:flex; align-items:center; gap:7px; margin-bottom:11px; }
.goal-emblem { display:grid; place-items:center; width:27px; height:27px; flex:none; border:1px solid #9e5864; border-radius:7px; color:#fff2f2; background:radial-gradient(circle at 30% 20%,#c3646c,#622a3b 78%); font-size:17px; }
.goal-header h2 { color:#fff0f0; flex:1; }
#goal-percent { color:#fff3f2; border:1px solid #ac6169; background:#642b3c; border-radius:12px; padding:2px 6px; font-size:11px; }
.goal-track { height:12px; overflow:hidden; border:1px solid #81424e; border-radius:10px; background:#160d16; box-shadow:inset 0 2px 3px #0008; }
#goal-fill { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(180deg,#fff1f1 0%,#f9898f 34%,#e44353 68%,#b62844 100%); box-shadow:0 0 8px #f7687a; transition:width .65s ease; }
.goal-amount { display:flex; justify-content:space-between; gap:6px; align-items:center; flex-wrap:wrap; margin-top:8px; font-size:10px; color:#d7bcc3; }
.goal-amount strong { color:#fff2f2; }
.goal-card #goal-caption { margin-top:6px; font-size:10px; }
@media(prefers-reduced-motion:reduce) { #goal-fill { transition:none; } }
.payment-slots { display:grid; gap:4px; padding:0; margin:6px 0; list-style:none; } .payment-slots li { display:flex; align-items:center; gap:7px; min-width:0; } .payment-slots li span { width:auto; height:auto; background:none; border:0; color:#fff0e9; font-size:11px; overflow-wrap:anywhere; } .payment-slots img { flex:none; } #top-customer { overflow-wrap:anywhere; }
iframe#nl-badge-frame { display:none !important; }

.card { --art-tone:224 100 104; background:linear-gradient(165deg,rgb(var(--art-tone) / .15),#1b121a 66%); border-color:rgb(var(--art-tone) / .29); }
.cardart { isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 55%,rgb(var(--art-tone) / .42),rgb(var(--art-tone) / .14) 53%,#21151c 89%); }
.cardart img { mix-blend-mode:lighten; mask-image:radial-gradient(ellipse 72% 74% at center,#000 59%,transparent 100%); }
.cardart small { z-index:1; border-color:rgb(var(--art-tone) / .48); color:#ffece6; }
.card:hover,.card:focus-within { border-color:rgb(var(--art-tone) / .68); box-shadow:0 0 20px rgb(var(--art-tone) / .23); }

/* Unified carmine surfaces */
:root { --surface:#261824; --surface-deep:#1b131e; --surface-edge:#563540; --surface-copy:#e0c8d2; }
.side-menu,.side-widget,.welcome,.featured-card,.helpgrid article,.rank-compare,.search,.parent-notice {
  border-color:var(--surface-edge);
  background:linear-gradient(150deg,var(--surface),var(--surface-deep));
}
.side-menu button:not([aria-pressed=true]):hover { background:#3c2432; border-color:#714554; color:#fff0ef; }
.welcome { background:radial-gradient(ellipse at 0% 0%,#87415b50,transparent 63%),linear-gradient(150deg,#2d1c2a,#1d1421); }
.welcome p,.helpgrid p,.side-widget p,dialog p,dialog li { color:var(--surface-copy); }
.welcome-card.refunds,.welcome-card.discord-support { background:linear-gradient(145deg,#34202b,#211723); border-color:#73414e; }
.welcome-card.discord-support { color:#ffc4d1; }
.top-customer,.goal-card { background:linear-gradient(145deg,#3b2534,#211724); border-color:#704251; }
.store-footer { background:radial-gradient(ellipse at 50% 0%,#66304866,transparent 73%),#17101b; border-color:#54313f; }
.footer-bottom { border-color:#4d303d; }
.footer-main p,.footer-bar p { color:var(--surface-copy); }
dialog,#basket-dialog { background:linear-gradient(145deg,#322232,#201622 70%); border-color:#805263; }
dialog .close,.basket-line { background:#3a2637; }
.package-buy { background:#281c2a; }
#username,.basket-quantity select { background:#1d1421; border-color:#6d4a5b; }

/* Ruby coast */
body { background:#21121b; }
body::before {
  inset:0;
  background:linear-gradient(90deg,#32142150,#1b111c94 31%,#1b111c94 69%,#32142140),
    url(art/kryos-coast.svg) center / cover no-repeat;
  animation:none;
}
body::after { content:none; }
.masthead {
  background:transparent;
  border-bottom:0;
}
.masthead::before {
  inset:0;
  background:radial-gradient(ellipse at 53% 35%,#ff7d8970,transparent 71%);
  mask-image:linear-gradient(#000 10%,transparent 100%);
  animation:header-soft-pulse 12s ease-in-out infinite alternate;
}
.masthead::after { content:none; }
.mast-sparks { animation:none; opacity:.32; mask-image:linear-gradient(#000,transparent 95%); }
.catalog-banner {
  background:linear-gradient(108deg,#4d1928,#822735 64%,#451822);
  border-color:#ba525a;
}
.catalog-banner::before { background:radial-gradient(ellipse at 75% 40%,#ffe4db48,#ed526854 26%,transparent 67%); animation:none; }
:root { --surface:#2b1b25; --surface-deep:#1c141d; --surface-edge:#653740; --surface-copy:#e5cfd5; }
.side-menu button:not([aria-pressed=true]):hover { background:#422531; border-color:#8b4853; }
.welcome { background:radial-gradient(ellipse at 0% 0%,#8e354854,transparent 64%),linear-gradient(148deg,#33212c,#211620); }
.welcome-card.discord-support { background:linear-gradient(145deg,#39232d,#251923); border-color:#80515a; color:#ffccd2; }
.store-footer { background:linear-gradient(152deg,#30202b,#1c141e); border-color:#5e3741; }
.footer-bottom { border-color:#53313b; }
.featured-card img,.cardart img,.package-layout .detailart { mix-blend-mode:normal; }
.featured-card img { border-radius:4px; }
.cardart img { filter:none; mask-image:radial-gradient(ellipse 76% 78% at center,#000 64%,transparent 100%); }
@keyframes header-soft-pulse { from { opacity:.46; } to { opacity:.82; } }
@media(prefers-reduced-motion:reduce) { .masthead::before { animation:none; } }
.welcome h1,.welcome .eyebrow,.welcome-cards .welcome-card { color:#fff; }
.welcome h1 { font-family:inherit; font-weight:800; letter-spacing:.025em; }
.welcome .eyebrow,.welcome-cards h2 { font-family:inherit; letter-spacing:.045em; }
.welcome-cards .welcome-card p { color:#f3e9ee; }
.welcome-cards .welcome-card a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
