:root {
  --sidebar-width: 254px;
  --content-inner-width: 1232px;
  --cs-lead-offset: 0px;
  --glory-line: #3f3025;
  --glory-panel: #1b1713;
  --glory-muted: #cec2b6;
}

body::before {
  background-image:
    linear-gradient(180deg, #110c08a3 0%, #110d0990 36%, var(--color-bg) 720px),
    var(--bg-image, none);
  background-position: center top;
  background-size: 100% 100%, max(100%, 960px) auto;
}

@media (width > 960px) {
  body .site { gap: 20px; }
  .site-main { padding: 28px 32px 40px 0; }
  .site-main > .site-header { margin-bottom: 22px; }
  .store-sidebar { padding: 22px 0 22px 26px; }
  .store-sidebar .cs-sidebar-logo { margin: 0 0 17px; }
  .cs-sidebar-logo img { width: 100%; height: auto; }
}

.store-sidebar .widget,
.category-description,
.store-text {
  box-shadow: 0 12px 26px #07050230;
}

.site-navigation .menu > li > a { color: var(--color-text-darker); }
.site-navigation .menu > li > a:hover { color: var(--color-primary-hover); }

.glory-home {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.glory-hero {
  padding: clamp(23px, 4.1vw, 46px);
  border: 1px solid #d28d4f70;
  border-radius: calc(var(--cs-radius) + 4px);
  background:
    linear-gradient(92deg, #160e09 4%, #1d110bea 39%, #1d110b30 100%),
    var(--bg-image, none) 62% 29% / cover no-repeat,
    #2a1910;
  box-shadow: 0 20px 45px #08050365, inset 0 1px #ffe4b21a;
}

.glory-hero h1 {
  margin: 0;
  color: #fff6eb;
  font-size: clamp(2.15rem, 5.1vw, 4.3rem);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -.065em;
}

.glory-hero h1 span { color: var(--color-primary-hover); }

.glory-hero p {
  max-width: 36ch;
  margin: 12px 0 22px;
  color: #eee0d2;
  font-size: clamp(.94rem, 1.6vw, 1.1rem);
  line-height: 1.65;
}

.glory-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.glory-button,
.glory-secondary-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: .86rem;
  font-weight: 750;
  text-decoration: none;
}

.glory-button {
  color: #211105;
  background: var(--color-primary-hover);
  border-color: #ffc282;
}

.glory-button:hover { color: #211105; background: #ffbf77; text-decoration: none; }
.glory-secondary-button { color: #fff4e8; background: #22170feb; border-color: #927051; }
.glory-secondary-button:hover { color: #fff4e8; background: #39271a; text-decoration: none; }

.glory-home .cs-home-cards { margin: 0; }
.glory-home .cs-home-cards .info { min-height: 67px; }
.glory-home .cs-home-cards .info.server { color: #1f1006; }
.glory-home .cs-home-cards .info.server .cs-nav-title,
.glory-home .cs-home-cards .info.server .cs-nav-subtitle,
.glory-home .cs-home-cards .info.server .cs-nav-chev { color: inherit; }
.glory-home .cs-home-cards .info.server .cs-nav-subtitle { opacity: 1; }
.glory-home .cs-home-cards .info.server .cs-nav-icon { color: #fff5e7; }

.glory-home .cs-featured-head,
.glory-catalog h2 {
  margin: 0 0 11px;
  font-size: 1rem;
  font-weight: 750;
  color: var(--color-text);
  text-transform: none;
  letter-spacing: -.015em;
}

.glory-home .cs-featured-grid,
.glory-category-grid { gap: 10px; }

.glory-home .cs-featured-grid .cs-featured-card {
  min-height: 74px;
  padding: 12px;
  border-color: var(--glory-line);
  background: linear-gradient(150deg, #271d15, var(--glory-panel));
}

.glory-home .cs-featured-grid .cs-featured-card:hover {
  transform: translateY(-2px);
  border-color: #94643d;
}

.glory-home .cs-featured-img { width: 47px; height: 47px; }
.glory-home .cs-featured-name {
  margin: 0 0 4px;
  font-size: .83rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.glory-catalog { scroll-margin-top: 16px; }
.glory-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.glory-category-grid a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 63px;
  padding: 9px 13px;
  color: var(--color-text);
  border: 1px solid var(--glory-line);
  border-radius: var(--cs-radius);
  background: var(--glory-panel);
  font-size: .88rem;
  font-weight: 650;
  text-decoration: none;
}

.glory-category-grid a:hover { color: #fff5e9; background: #2d2015; border-color: #94643d; }
.glory-category-grid img { display: block; width: 38px; height: 38px; object-fit: contain; }
.glory-category-grid a > span:first-child { grid-column: 2; }
.glory-category-arrow { color: var(--color-primary-hover); font-size: 1.12rem; }

.glory-page-heading {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3.5vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.13;
}

.glory-rank-category .category-description { margin-bottom: 13px; }
.glory-rank-category .category-description p { margin: 0; color: var(--glory-muted); }
.glory-rank-scroll-hint { display: none; margin: 0 0 8px; color: var(--glory-muted); font-size: .82rem; }
.glory-rank-category .cs-cmp-mount { display: block; min-width: 0; }
.glory-rank-category .cs-cmp-mount:empty { display: none; }
.glory-rank-category .cs-cmp-fallback { display: grid; }
.glory-rank-category .cs-cmp-mount:not(:empty) ~ .cs-cmp-fallback { display: none; }
.glory-rank-category .cs-cmp-scroll { max-width: 100%; scrollbar-color: #8d5d36 #211812; }
.glory-rank-category .cs-cmp {
  min-width: 714px;
  overflow: visible;
  clip-path: inset(0 round var(--cs-radius));
  border: 1px solid var(--glory-line);
  border-radius: var(--cs-radius);
  background: var(--color-brighter-bg);
}
.glory-rank-category .cs-cmp-panel { display: none; }
.glory-rank-category .cs-cmp-label {
  position: sticky;
  left: 0;
  z-index: 2;
  border-left: 0;
  border-right: 1px solid var(--glory-line);
  border-radius: 0;
}
.glory-rank-category .glory-cmp-perk-heading {
  align-items: end;
  padding-bottom: 17px;
  color: var(--color-text);
  font-size: .88rem;
  font-weight: 800;
}
.glory-rank-category .cs-cmp-label,
.glory-rank-category .cs-cmp-cell { min-width: 0; font-size: .82rem; }
.glory-rank-category .cs-cmp-card { padding: 0 11px 12px; border-radius: 0; }
.glory-rank-category .cs-cmp-badge { width: min(110px, calc(100% + 18px)); height: 48px; margin: 12px 0 7px; }
.glory-rank-category .cs-cmp-badge img { width: auto; height: 18px; max-width: 100%; object-fit: contain; }
.glory-rank-category .cs-cmp-banner-spacer { height: 14px; }
.glory-rank-category .cs-cmp-name { font-size: .85rem; }
.glory-rank-category .cs-cmp-foot { border-radius: 0; }
.glory-rank-category .cs-cmp-divider {
  justify-content: flex-start;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--glory-line);
  background: #342316;
}
.glory-rank-category .cs-cmp-divider-label { position: sticky; left: 12px; color: #ffc684; }
.glory-rank-category .cs-cmp-check { background: #36724c; }

.glory-rank-summary { margin: 0 0 10px; color: var(--glory-muted); font-size: .9rem; }
.glory-perk-panel {
  padding: 14px;
  margin-top: 12px;
  border: 1px solid var(--glory-line);
  border-radius: 10px;
  background: #1f1813;
}

.glory-perk-panel.glory-perk-ffa { border-color: #8b5c38; background: #2b1d13; }
.glory-perk-panel h3 { margin: 0 0 5px; color: var(--color-primary-hover); font-size: 1rem; font-weight: 750; }
.glory-perk-panel dl, .glory-perk-panel dd { margin: 0; }
.glory-perk-panel dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 6px 0;
  border-top: 1px solid #ffffff12;
  font-size: .86rem;
}
.glory-perk-panel dl > div:first-child { border: 0; }
.glory-perk-panel dt { color: var(--glory-muted); }
.glory-perk-panel dd { text-align: right; font-weight: 650; overflow-wrap: anywhere; }
.glory-setting-check {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #36724c;
  color: #fff;
}

.cs-patreon .glory-button { margin-top: 6px; }

.glory-home-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.glory-info-card {
  padding: 16px;
  border: 1px solid var(--glory-line);
  border-radius: var(--cs-radius);
  background: var(--glory-panel);
}

.glory-info-card h2 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: var(--color-text);
}

.glory-info-card p {
  margin: 0 0 10px;
  color: var(--glory-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.glory-info-card a { color: #ffd19d; font-size: .83rem; font-weight: 700; }
.glory-support-card { border-color: #3a583f; background: linear-gradient(135deg, #20271c, var(--glory-panel)); }
.glory-edition-links { display: flex; gap: 8px; flex-wrap: wrap; }
.glory-edition-links a {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--glory-line);
  background: #2a2118;
  text-decoration: none;
}
.glory-edition-links a:hover { border-color: var(--color-primary); }

.glory-quantity-grid { display: grid; gap: 10px; }
.glory-quantity-card {
  display: grid;
  grid-template-columns: minmax(126px, 1.27fr) minmax(0, 4fr);
  align-items: stretch;
  gap: 10px;
}
.glory-quantity-art,
.glory-offer {
  border: 1px solid var(--glory-line);
  border-radius: var(--cs-radius);
  background: var(--glory-panel);
}
.glory-quantity-art {
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 6px;
  padding: 10px;
  text-align: center;
  text-decoration: none;
}
.glory-quantity-art img { width: 49px; height: 49px; object-fit: contain; }
.glory-quantity-art h2 { margin: 0; color: var(--color-text); font-size: .97rem; }
.glory-quantity-card:has(.glory-offer-saving) .glory-quantity-art { border-color: #805733; }
.glory-buy-tiles { display: grid; min-width: 0; }
.glory-buy-tiles[hidden], .glory-buy-status[hidden] { display: none; }
.glory-offer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.glory-offer {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  min-height: 101px;
  min-width: 0;
  padding: 9px 4px;
  color: var(--color-text);
  text-align: center;
  text-decoration: none;
}
.glory-offer-quantity { font-weight: 800; font-size: clamp(.95rem, 1.55vw, 1.19rem); }
.glory-offer-cost { display: grid; gap: 2px; font-size: .78rem; color: var(--glory-muted); }
.glory-offer-price { color: var(--color-text); }
.glory-offer-saving { border-color: #b37845; background: linear-gradient(145deg, #362517, var(--glory-panel) 80%); padding-top: 22px; }
.glory-offer-saving .glory-offer-price { color: #ffc184; }
.glory-offer-badge {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2px 6px;
  border-radius: 0 calc(var(--cs-radius) - 1px) 0 8px;
  color: #241408;
  background: #ffbc77;
  font-size: .66rem;
  font-weight: 800;
}
.glory-offer-add { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; font-size: .8rem; font-weight: 800; }
.glory-offer:is(:hover, :focus-visible) { border-color: #ffbb76; background: #372417; color: #ffcc97; text-decoration: none; }
.glory-offer:is(:hover, :focus-visible) :is(.glory-offer-quantity, .glory-offer-cost) { opacity: 0; }
.glory-offer:is(:hover, :focus-visible) .glory-offer-add { opacity: 1; }
.glory-offer-details:is(:hover, :focus-visible) .glory-offer-quantity { opacity: 1; }
.glory-offer[aria-busy="true"] { opacity: .65; cursor: progress; }
.glory-offer:focus-visible { outline: 2px solid #ffd09c; outline-offset: 2px; }
.glory-buy-status, .glory-bulk-note { margin: 8px 0 0; color: var(--glory-muted); font-size: .8rem; }
.glory-buy-status { color: #ffc7b5; }
.glory-product-buy-ready > .glory-buy-tiles { margin: 0 0 10px; }
.glory-product-buy-ready .glory-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.glory-product-buy-ready .product-actions .add, .glory-product-buy-ready .product-actions .price { display: none; }

.glory-patreon-groups { display: grid; gap: 15px; margin: 16px 0; }
.glory-patreon-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid #765536;
  border-radius: var(--cs-radius);
  background: linear-gradient(120deg, #4a301d, #2b2017);
  color: #ffe6ca;
  font-size: 1rem;
  font-weight: 800;
}
.glory-patreon-tier[data-tier-level="highest"] .glory-patreon-bar {
  border-color: #c8905d;
  background: linear-gradient(110deg, #754d2c, #3d2618);
  color: #fff1dc;
}
.glory-patreon-tier[data-tier-level="middle"] .glory-patreon-bar {
  border-color: #9b6a45;
  background: linear-gradient(110deg, #583921, #352316);
}
.glory-patreon-bar span { font-size: .84rem; color: #ffd1a0; }
.glory-patreon-players {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.glory-patreon-players:not(:empty) { margin-top: 10px; }
.glory-patreon-empty { margin: 8px 0 0; color: var(--glory-muted); font-size: .82rem; }
.glory-patreon-empty[hidden] { display: none; }
.glory-patreon-players .cs-patreon-card { min-width: 0; border-color: var(--glory-line); }
.glory-patreon-players .cs-patreon-name { overflow-wrap: anywhere; }

@media (width <= 760px) {
  .glory-quantity-card { grid-template-columns: 1fr; gap: 7px; }
  .glory-quantity-art { grid-template-columns: auto 1fr; place-content: center start; justify-items: start; align-items: center; text-align: left; }
  .glory-quantity-art img { width: 34px; height: 34px; }
  .glory-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .glory-offer { min-height: 83px; }
  .glory-quantity-grid { gap: 18px; }
  .glory-patreon-players { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.glory-home a:focus-visible,
.glory-rank-category :is(a, .cs-cmp-scroll):focus-visible,
.cs-patreon a:focus-visible { outline: 2px solid #ffd09c; outline-offset: 3px; }

@media (width <= 1050px) {
  .glory-rank-scroll-hint { display: block; }
}

@media (width <= 600px) {
  .glory-home { gap: 18px; }
  .glory-hero { background-position: center, 68% 30%; }
  .glory-home .cs-home-cards { gap: 9px; }
  .glory-home .cs-featured-grid { grid-template-columns: 1fr; }
  .glory-category-grid a { gap: 7px; padding: 8px; font-size: .8rem; }
  .glory-category-grid img { width: 29px; height: 29px; }
  .glory-home-info { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .glory-home *, .glory-home *::before { animation-duration: 0s !important; transition-duration: 0s !important; }
}
