:root {
    --accent: #6f63ff;
    --accent-strong: #8d35ff;
    --bg: #171b20;
    --surface: rgba(61, 66, 72, .78);
    --surface-2: rgba(83, 88, 94, .72);
    --surface-3: rgba(28, 31, 35, .86);
    --text: #f4f5f7;
    --muted: #c3c7cc;
    --line: rgba(255,255,255,.14);
    --success: #90e62c;
    --danger: #ff6c7c;
    --shadow: 0 22px 70px rgba(0,0,0,.38);
    --surface-radius: 20px;
    --font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
:root[data-theme="light"] {
    --bg: #f4efe7;
    --surface: rgba(255, 251, 244, .74);
    --surface-2: rgba(247, 239, 228, .82);
    --surface-3: rgba(255, 253, 248, .90);
    --text: #27221c;
    --muted: #70685e;
    --line: rgba(91, 74, 54, .15);
    --success: #4f8d33;
    --danger: #c74858;
    --shadow: 0 22px 64px rgba(91, 72, 48, .14);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.dialog-open { overflow: hidden; }
body { position: relative; z-index: 0; min-height: 100vh; margin: 0; color: var(--text); background: var(--bg); font-family: var(--font-family); line-height: 1.45; }
body.has-site-background { background: #171a1f; }
.site-background { position: fixed; inset: 0; z-index: -3; overflow: hidden; }
.site-background img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) brightness(.72); }
body.has-site-background::before { content: ""; position: fixed; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(18,22,27,.22), rgba(18,22,27,.56) 54%, rgba(18,22,27,.72)); pointer-events: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1,h2,h3,p { margin-top: 0; }
.shell { width: min(1460px, calc(100% - 42px)); margin-inline: auto; }
.narrow-page { width: min(1120px, calc(100% - 42px)); }
.page-section { padding-block: 42px 80px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-150%); padding: 9px 14px; color: #fff; background: #111; border-radius: 10px; }
.skip-link:focus { transform: none; }
.muted { color: var(--muted); }

.site-header { position: sticky; top: 12px; z-index: 40; width: min(1100px, calc(100% - 42px)); margin: 12px auto 0; border: 1px solid var(--line); background: rgba(67,72,79,.72); border-radius: 24px; box-shadow: 0 15px 42px rgba(0,0,0,.28); backdrop-filter: blur(18px) saturate(1.1); }
:root[data-theme="light"] .site-header { background: rgba(255,255,255,.76); }
.header-row { width: 100%; min-height: 58px; display: flex; align-items: center; gap: 14px; padding: 7px 12px; }
.brand { display: flex; align-items: center; gap: 9px; font-weight: 900; }
.brand-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-strong)); }
.brand-logo { width: 44px; height: 44px; object-fit: contain; }
.brand > span:not(.brand-mark) { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.main-nav { display: flex; gap: 8px; }
.main-nav a { min-width: 118px; padding: 10px 17px; text-align: center; color: #f1f2f4; background: rgba(255,255,255,.06); border: 1px solid var(--line); border-radius: 12px; font-size: .82rem; font-weight: 800; }
:root[data-theme="light"] .main-nav a { color: var(--text); }
.main-nav a:hover { background: rgba(255,255,255,.12); }
.nav-count { display: inline-grid; min-width: 19px; height: 19px; place-items: center; margin-left: 4px; padding: 0 5px; border-radius: 999px; color: #fff; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); font-size: .68rem; }
.header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.icon-button { display: inline-grid; width: 40px; height: 40px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.07); cursor: pointer; }
.icon-button:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.12); }
.icon-button.danger { color: var(--danger); }
.wallet-pill { min-height: 42px; display: flex; align-items: center; gap: 7px; padding: 7px 15px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.08); cursor: pointer; }
.wallet-pill span { color: var(--muted); font-size: .7rem; text-transform: uppercase; font-weight: 800; }
.wallet-pill strong { font-size: .82rem; white-space: nowrap; }
.player-avatar-link { display: grid; width: 42px; height: 42px; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); font-weight: 900; }
.player-avatar-link img { width: 100%; height: 100%; object-fit: cover; }

.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 9px 17px; border: 1px solid transparent; border-radius: 13px; font-weight: 800; cursor: pointer; transition: transform .15s ease, filter .15s ease, background .15s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button-primary { color: #fff; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); box-shadow: 0 9px 26px color-mix(in srgb,var(--accent) 27%,transparent); }
.button-quiet { color: var(--text); background: rgba(255,255,255,.08); border-color: var(--line); }
.button-steam { color: #fff; background: #1b2838; }
.button-wide { width: 100%; }

.flash-stack { padding-top: 18px; }
.flash { padding: 12px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-3); box-shadow: var(--shadow); }
.flash-success { border-left: 4px solid var(--success); }
.flash-error { border-left: 4px solid var(--danger); }

.storefront-brand-stage { height: 118px; display: grid; place-items: center; padding: 14px 20px 6px; }
.storefront-brand-stage img { width: min(330px, 48vw); max-height: 100px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.42)); }
.shop-shell { display: grid; grid-template-columns: 126px minmax(0,1fr) 224px; align-items: start; gap: 16px; padding-bottom: 72px; }
.category-rail { position: sticky; top: 92px; display: grid; gap: 7px; }
.category-pill { display: flex; min-height: 35px; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; color: #f4f4f5; background: rgba(77,81,87,.78); border: 1px solid var(--line); border-radius: 999px; backdrop-filter: blur(12px); text-align: center; font-size: .77rem; font-weight: 700; }
:root[data-theme="light"] .category-pill { color: var(--text); }
.category-pill:hover,.category-pill.is-active { background: rgba(104,109,118,.9); border-color: rgba(255,255,255,.28); transform: translateX(2px); }
.category-icon { font-size: 1rem; }
.catalog-column { min-width: 0; }
.catalog-search { height: 42px; display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 0 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(73,78,84,.72); backdrop-filter: blur(14px); }
:root[data-theme="light"] .catalog-search { background: rgba(255,255,255,.78); }
.catalog-search > span { color: var(--muted); font-size: 1.25rem; }
.catalog-search input { width: 100%; min-width: 0; color: var(--text); background: transparent; border: 0; outline: none; }
.catalog-search input::placeholder { color: color-mix(in srgb,var(--muted) 76%,transparent); }
.search-clear { color: var(--muted); font-size: 1.35rem; }

.product-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(91,96,102,.67); box-shadow: 0 10px 28px rgba(0,0,0,.22); backdrop-filter: blur(12px); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
:root[data-theme="light"] .product-card { background: rgba(255,255,255,.74); }
.product-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.26); box-shadow: 0 16px 36px rgba(0,0,0,.28); }
.product-media { position: relative; width: 100%; aspect-ratio: 1 / .95; display: grid; place-items: center; overflow: hidden; padding: 0; border: 0; border-radius: 15px 15px 12px 12px; background: rgba(31,34,38,.54); cursor: pointer; }
.product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.product-card:hover .product-media img { transform: scale(1.035); }
.product-placeholder { color: rgba(255,255,255,.22); font-size: 2.3rem; font-weight: 950; }
.price-badge { position: absolute; top: 0; left: 0; padding: 4px 9px; border-radius: 0 0 9px 0; color: #fff; background: linear-gradient(135deg,#4e5cff,var(--accent)); font-size: .69rem; font-weight: 900; white-space: nowrap; box-shadow: 0 5px 16px rgba(40,53,255,.25); }
.old-price-badge { position: absolute; top: 5px; right: 6px; padding: 2px 6px; color: #eee; background: rgba(0,0,0,.56); border-radius: 8px; text-decoration: line-through; font-size: .61rem; }
.product-card-copy { padding: 9px 9px 10px; }
.product-card-copy h3 { margin: 0 0 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; }
.product-card-copy p { min-height: 30px; margin: 0 0 8px; overflow: hidden; color: var(--muted); font-size: .68rem; line-height: 1.32; }
.product-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.product-card-actions form { min-width: 0; }
.mini-button { width: 100%; min-width: 0; min-height: 29px; padding: 5px 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: rgba(255,255,255,.07); text-overflow: ellipsis; white-space: nowrap; font-size: .64rem; font-weight: 800; cursor: pointer; }
.mini-button.accent { color: #fff; border-color: transparent; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); }

.widget-rail { position: sticky; top: 92px; display: grid; gap: 10px; }
.store-widget { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: rgba(75,80,87,.76); box-shadow: 0 12px 34px rgba(0,0,0,.22); backdrop-filter: blur(14px); }
:root[data-theme="light"] .store-widget { background: rgba(255,255,255,.8); }
.widget-image { width: 100%; aspect-ratio: 2.1/1; object-fit: cover; }
.widget-copy,.widget-empty { display: grid; gap: 8px; padding: 11px; }
.widget-copy > strong,.widget-empty > strong { font-size: .77rem; }
.widget-copy small,.widget-empty small { color: var(--muted); font-size: .68rem; }
.widget-body { color: var(--muted); font-size: .69rem; }
.widget-body p:last-child { margin-bottom: 0; }
.server-widget-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.server-widget-head > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .77rem; }
.server-status { min-width: 0; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 4px 7px; border-radius: 999px; background: rgba(0,0,0,.22); font-size: .61rem; font-weight: 800; white-space: nowrap; }
.server-status i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 10px currentColor; }
.server-status.online i { background: var(--success); }
.server-population { display: grid; gap: 5px; }
.server-population-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .62rem; }
.server-population-meta b { color: var(--text); font-size: .65rem; font-variant-numeric: tabular-nums; }
.server-population-track { position: relative; height: 7px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 999px; background: rgba(20,23,27,.58); box-shadow: inset 0 1px 3px rgba(0,0,0,.28); }
.server-population-fill { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#675cff 0%,#a92cff 54%,#ff416c 100%); box-shadow: 0 0 12px rgba(168,44,255,.28); transition: width .35s ease; }
.server-widget-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: 6px; }
.server-widget-actions.single { grid-template-columns: 1fr; }
.server-widget-button { min-width: 0; min-height: 29px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 7px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: rgba(255,255,255,.07); font: inherit; font-size: .61rem; font-weight: 850; line-height: 1; text-align: center; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.server-widget-button:hover { border-color: rgba(169,44,255,.45); background: rgba(255,255,255,.12); transform: translateY(-1px); }
.server-connect-button { color: #fff; border-color: transparent; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); }
.server-connect-button:hover { border-color: transparent; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); filter: brightness(1.06); }
.widget-link { display: inline-flex; justify-content: center; padding: 7px 9px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.08); font-size: .68rem; font-weight: 800; }

.glass-dialog { max-width: none; max-height: none; margin: auto; padding: 0; color: var(--text); border: 0; background: transparent; overflow: visible; }
.glass-dialog::backdrop { background: rgba(10,12,15,.68); backdrop-filter: blur(5px); }
.dialog-shell { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; background: linear-gradient(135deg,rgba(52,57,62,.96),rgba(31,34,39,.96)); box-shadow: 0 30px 100px rgba(0,0,0,.6); }
:root[data-theme="light"] .dialog-shell { background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(236,239,244,.98)); }
.product-dialog-shell { width: min(760px,calc(100vw - 30px)); max-height: min(86vh,850px); overflow-y: auto; }
.wallet-dialog-shell { width: min(430px,calc(100vw - 30px)); }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px 14px; border-bottom: 1px solid var(--line); }
.dialog-head h2 { margin: 2px 0 0; font-size: 1.35rem; line-height: 1.15; }
.dialog-kicker { color: #ad86ff; font-size: .67rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.dialog-x { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.07); cursor: pointer; font-size: 1.2rem; }
.product-dialog-main { display: grid; grid-template-columns: 230px 1fr; gap: 22px; padding: 22px; }
.product-dialog-image { display: grid; aspect-ratio: 1/1; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: rgba(0,0,0,.22); }
.product-dialog-image img { width: 100%; height: 100%; object-fit: cover; }
.product-dialog-image span { color: rgba(255,255,255,.25); font-size: 2rem; font-weight: 900; }
.dialog-price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.dialog-price strong { font-size: 1.45rem; }
.dialog-price del { color: var(--muted); font-size: .8rem; }
.rich-text { color: var(--muted); }
.compact-rich { font-size: .86rem; }
.compact-rich p { margin-bottom: 10px; }
.bundle-preview { margin: 0 22px 22px; padding: 17px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.045); }
.bundle-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.bundle-title h3 { margin: 0; font-size: 1rem; }
.bundle-title span { padding: 4px 8px; border-radius: 999px; color: #fff; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); font-size: .66rem; font-weight: 800; }
.bundle-item-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.bundle-item { min-width: 0; display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 9px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.055); }
.bundle-item-icon { display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border-radius: 12px; background: rgba(0,0,0,.22); }
.bundle-item-icon img { width: 100%; height: 100%; object-fit: contain; }
.bundle-item div { min-width: 0; }
.bundle-item strong,.bundle-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bundle-item strong { font-size: .76rem; }
.bundle-item small { color: var(--muted); font-size: .6rem; }
.bundle-item b { color: #c687ff; font-size: .8rem; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 22px 20px; }

.wallet-current { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 20px 22px 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.055); }
.wallet-current span { color: var(--muted); font-size: .76rem; }
.wallet-current strong { font-size: 1rem; }
.wallet-form { padding: 18px 22px 0; }
.wallet-form > label { display: grid; gap: 7px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.money-input { height: 46px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.08); }
.money-input b { color: var(--text); }
.money-input input { min-width: 0; color: var(--text); background: transparent; border: 0; outline: 0; font-weight: 800; }
.payment-choice { display: grid; gap: 7px; margin: 16px 0; padding: 0; border: 0; }
.payment-choice legend { margin-bottom: 7px; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.payment-choice label { display: flex; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.05); cursor: pointer; font-size: .78rem; }
.payment-choice input { accent-color: var(--accent); }
.wallet-provider-extra { margin-top: 1px; padding: 0; border: 0; background: transparent; }
.wallet-provider-extra[hidden] { display: none !important; }
.wallet-provider-extra-title { color: var(--muted); font-size: .76rem; font-weight: 700; }
.wallet-email-input { min-width: 0; height: 46px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.08); transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.wallet-email-input:focus-within { border-color: color-mix(in srgb,var(--accent) 68%,var(--line)); background: rgba(255,255,255,.10); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent); }
.wallet-email-icon { display: grid; height: 24px; place-items: center; border-right: 1px solid var(--line); color: #b99cff; font-size: .78rem; font-weight: 900; }
.wallet-email-input input { width: 100%; min-width: 0; height: 100%; padding: 0 11px; color: var(--text); border: 0; outline: 0; background: transparent; font-weight: 750; }
.wallet-email-input input::placeholder { color: color-mix(in srgb,var(--muted) 62%,transparent); font-weight: 600; }
.wallet-provider-extra small { color: color-mix(in srgb,var(--muted) 82%,transparent); font-size: .62rem; font-weight: 600; line-height: 1.4; }
.provider-warning-box { margin: 18px 22px 0; padding: 13px 14px; border: 1px solid color-mix(in srgb,var(--danger) 45%,var(--line)); border-radius: 13px; color: #ffd3d8; background: rgba(255,70,90,.08); font-size: .8rem; }

.payment-forward-page { min-height: 58vh; display: grid; place-items: center; align-content: center; gap: 14px; text-align: center; }
.payment-forward-status { display: grid; justify-items: center; gap: 8px; color: var(--muted); }
.payment-forward-status strong { color: var(--text); font-size: 1rem; }
.payment-forward-status > span:last-child { font-size: .72rem; }
.payment-forward-spinner { width: 28px; height: 28px; border: 3px solid rgba(255,255,255,.14); border-top-color: var(--accent); border-radius: 50%; animation: payment-forward-spin .75s linear infinite; }
.payment-forward-fallback { margin-top: 8px; }
.payment-forward-fallback:disabled { opacity: 0; pointer-events: none; }
@keyframes payment-forward-spin { to { transform: rotate(360deg); } }

.page-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.page-title-row h1 { margin: 0; font-size: clamp(2rem,5vw,4rem); }
.eyebrow { display: block; margin-bottom: 6px; color: #b78cff; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cart-layout { display: grid; grid-template-columns: 1fr 330px; gap: 20px; align-items: start; }
.cart-list { display: grid; gap: 10px; }
.cart-item { display: grid; grid-template-columns: 70px 1fr auto 40px; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); backdrop-filter: blur(14px); }
.cart-thumb { display: grid; width: 70px; height: 64px; place-items: center; overflow: hidden; border-radius: 12px; background: rgba(0,0,0,.22); }
.cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cart-item h2 { margin: 0 0 3px; font-size: 1rem; }
.cart-item p { margin: 0; color: var(--muted); font-size: .78rem; }
.order-summary { position: sticky; top: 94px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(16px); }
.order-summary > span { color: var(--muted); font-size: .78rem; }
.price-large { display: block; margin: 5px 0 15px; font-size: 1.8rem; letter-spacing: -.04em; }
.wallet-summary { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; padding: 10px 11px; border-radius: 12px; background: rgba(255,255,255,.06); }
.wallet-summary span { color: var(--muted); font-size: .73rem; }
.wallet-summary strong { font-size: .8rem; }
.balance-shortfall { margin: 10px 0; color: #ffb8c0; font-size: .76rem; }
.order-summary form { margin-top: 9px; }
.order-summary small { display: block; margin-top: 13px; color: var(--muted); font-size: .7rem; }
.empty-state { padding: 42px 24px; text-align: center; border: 1px dashed var(--line); border-radius: 20px; background: var(--surface); backdrop-filter: blur(14px); }
.empty-state.compact { padding: 20px; }
.empty-state p { margin-bottom: 20px; color: var(--muted); }
.empty-state.compact p { margin: 0; }

.account-head { display: grid; grid-template-columns: 1fr 320px; gap: 18px; }
.profile-card,.balance-card { padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); backdrop-filter: blur(16px); }
.profile-card { display: flex; align-items: center; gap: 18px; }
.profile-card h1 { margin: 2px 0 6px; font-size: clamp(1.9rem,4vw,3rem); }
.profile-card p { margin: 0; color: var(--muted); }
.avatar { display: grid; flex: 0 0 80px; height: 80px; place-items: center; overflow: hidden; border-radius: 22px; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); font-size: 2rem; font-weight: 900; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.balance-card { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.balance-card span { color: var(--muted); font-size: .76rem; }
.balance-card strong { font-size: 1.8rem; }
.account-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.account-actions form { margin-left: auto; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.section-heading h2 { margin: 0; }
.account-orders-heading { margin: 52px 0 18px; }
.account-orders-heading.secondary { margin-top: 42px; }
.orders-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); backdrop-filter: blur(16px); }
.orders-table { width: 100%; border-collapse: collapse; }
.orders-table th,.orders-table td { padding: 14px 15px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.orders-table th { color: var(--muted); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.orders-table td { font-size: .78rem; }
.orders-table tr:last-child td { border-bottom: 0; }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.07); font-size: .68rem; font-weight: 800; }
.status-delivered,.status-completed { color: #c6ff8e; background: rgba(125,224,44,.12); }
.status-paid,.status-queued { color: #c9b8ff; background: rgba(111,99,255,.14); }
.status-failed,.status-cancelled { color: #ffb1bb; background: rgba(255,70,90,.12); }
.inline-payment { display: inline; margin-left: 7px; }
.text-button { padding: 0; border: 0; color: #b78cff; background: none; font-weight: 800; cursor: pointer; }

.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; padding: 11px 15px; border: 1px solid var(--line); border-radius: 13px; color: #fff; background: rgba(28,31,36,.94); box-shadow: var(--shadow); font-size: .78rem; font-weight: 800; }
.site-footer { padding: 25px 0 27px; border-top: 1px solid rgba(255,255,255,.08); color: var(--muted); }
.footer-row { display: flex; align-items: center; justify-content: space-between; gap: 32px; font-size: .72rem; }
.footer-support-copy { display: grid; max-width: 760px; min-width: 0; gap: 5px; line-height: 1.5; }
.footer-support-copy strong { color: var(--text); font-size: .76rem; letter-spacing: .01em; }
.footer-support-copy span { color: var(--muted); }
.footer-links { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.footer-page-link { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.025); text-decoration: none; font-weight: 800; transition: color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease; }
.footer-page-link:hover,.footer-page-link:focus-visible { color: var(--text); border-color: rgba(172,126,255,.38); background: rgba(145,91,255,.08); transform: translateY(-1px); }
.footer-privacy-link { white-space: nowrap; }

.privacy-shell { width: min(920px, calc(100% - 32px)); margin: 42px auto 56px; }
.privacy-card { padding: clamp(20px,3.5vw,38px); border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.privacy-head { display: grid; gap: 8px; margin-bottom: 26px; }
.privacy-head .kicker { color: #b98cff; font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.privacy-head h1 { margin: 0; color: var(--text); font-size: clamp(1.55rem,4vw,2.35rem); }
.privacy-head p { margin: 0; color: var(--muted); line-height: 1.55; }
.privacy-sections { display: grid; gap: 13px; }
.privacy-section { padding: 17px 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.025); }
.privacy-section h2 { margin: 0 0 7px; color: var(--text); font-size: .92rem; }
.privacy-section p,.privacy-section li { color: var(--muted); font-size: .78rem; line-height: 1.62; }
.privacy-section p { margin: 0; }
.privacy-section ul { margin: 7px 0 0; padding-left: 19px; }
.privacy-actions { display: flex; justify-content: flex-start; margin-top: 22px; }

@media (max-width: 1320px) {
    .shop-shell { grid-template-columns: 116px minmax(0,1fr) 205px; }
    .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 1080px) {
    .shop-shell { grid-template-columns: 112px minmax(0,1fr); }
    .widget-rail { grid-column: 2; position: static; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 860px) {
    .site-header { top: 7px; width: calc(100% - 20px); margin-top: 7px; }
    .brand > span:not(.brand-mark), .theme-toggle { display: none; }
    .main-nav a { min-width: 0; padding-inline: 12px; }
    .shop-shell { grid-template-columns: 1fr; }
    .category-rail { position: static; display: flex; overflow-x: auto; grid-column: 1; padding-bottom: 3px; }
    .category-pill { flex: 0 0 auto; }
    .catalog-column,.widget-rail { grid-column: 1; }
    .widget-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cart-layout,.account-head { grid-template-columns: 1fr; }
    .order-summary { position: static; }
}
@media (max-width: 620px) {
    .shell,.narrow-page { width: calc(100% - 20px); }
    .header-row { min-height: 54px; padding: 6px 8px; }
    .brand-logo { width: 38px; height: 38px; }
    .main-nav a:first-child { display: none; }
    .wallet-pill { padding-inline: 10px; }
    .wallet-pill span { display: none; }
    .button-steam { padding-inline: 10px; font-size: .72rem; }
    .storefront-brand-stage { height: 90px; }
    .storefront-brand-stage img { max-height: 74px; }
    .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .product-card-copy { padding: 7px; }
    .product-card-copy p { display: none; }
    .product-card-actions { grid-template-columns: 1fr; }
    .mini-button { min-height: 28px; }
    .widget-rail { grid-template-columns: 1fr 1fr; }
    .product-dialog-main { grid-template-columns: 1fr; }
    .product-dialog-image { max-height: 260px; aspect-ratio: 1.4/1; }
    .bundle-item-grid { grid-template-columns: 1fr; }
    .page-title-row { align-items: flex-start; flex-direction: column; }
    .cart-item { grid-template-columns: 56px 1fr 38px; }
    .cart-thumb { width: 56px; height: 56px; }
    .cart-item > strong { grid-column: 2; }
    .cart-item > form { grid-column: 3; grid-row: 1 / span 2; }
    .profile-card { align-items: flex-start; flex-direction: column; }
    .account-actions form { width: 100%; margin-left: 0; }
    .account-actions form .button { width: 100%; }
}
@media (max-width: 420px) {
    .main-nav { display: none; }
    .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .widget-rail { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Product dialog v2 */
.product-dialog-shell { width: min(920px, calc(100vw - 30px)); max-height: min(90vh, 920px); overflow: hidden; display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.product-dialog-head { padding: 20px 24px 16px; background: linear-gradient(180deg,rgba(255,255,255,.035),transparent); }
.product-dialog-head h2 { font-size: clamp(1.3rem,2.7vw,1.8rem); }
.product-dialog-body { min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.35) transparent; }
.product-dialog-main { grid-template-columns: minmax(220px,280px) minmax(0,1fr); align-items: start; gap: 24px; padding: 24px; }
.product-dialog-image { position: sticky; top: 0; border-radius: 24px; background: radial-gradient(circle at 50% 18%,rgba(255,255,255,.09),rgba(0,0,0,.22)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05),0 16px 34px rgba(0,0,0,.2); }
.product-dialog-info { min-width: 0; display: grid; gap: 18px; }
.product-dialog-info .compact-rich { font-size: .88rem; line-height: 1.55; }
.product-dialog-actions { align-items: center; padding: 14px 24px 20px; border-top: 1px solid var(--line); background: rgba(20,23,28,.32); backdrop-filter: blur(14px); }
.product-dialog-actions form { margin: 0; }

/* Styled safe VIP description */
.rich-text .vip-perks { display: block; width: 100%; }
.rich-text .vip-perks-caption { margin: 0 0 11px; color: var(--text); font-size: .82rem; font-weight: 850; }
.rich-text .vip-perks-list { display: grid; gap: 8px; }
.rich-text .vip-perk { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(120deg,rgba(255,255,255,.055),rgba(153,71,255,.045)); }
.rich-text .vip-perk-name { color: color-mix(in srgb,var(--text) 90%,var(--muted)); font-size: .78rem; font-weight: 690; line-height: 1.35; }
.rich-text .vip-perk-value { flex: 0 0 auto; padding: 5px 9px; border-radius: 8px; color: #fff; background: linear-gradient(135deg,#5a64ff,#a63bff); box-shadow: 0 5px 15px rgba(113,70,255,.24); font-size: .7rem; line-height: 1; white-space: nowrap; }
.rich-text .vip-perk-action { background: linear-gradient(135deg,#536dfe,#8b5cf6); }

/* Choice product */
.choice-shop-section { display: grid; gap: 12px; padding-top: 3px; }
.choice-shop-heading { display: grid; gap: 2px; }
.choice-shop-heading > span { color: var(--text); font-size: .83rem; font-weight: 850; }
.choice-shop-heading > small { color: var(--muted); font-size: .68rem; }
.choice-shop-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.choice-shop-option { min-width: 0; display: grid; gap: 4px; padding: 11px 12px; text-align: left; color: var(--text); background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 13px; cursor: pointer; transition: .16s ease; }
.choice-shop-option span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: .7rem; font-weight: 750; }
.choice-shop-option strong { font-size: .83rem; }
.choice-shop-option:hover { border-color: rgba(169,117,255,.55); background: rgba(152,83,255,.08); }
.choice-shop-option.is-active { border-color: rgba(177,118,255,.75); background: linear-gradient(135deg,rgba(92,93,255,.15),rgba(177,56,255,.12)); box-shadow: 0 0 0 2px rgba(125,88,255,.08); }
.choice-shop-detail { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.035); }
.choice-shop-detail[hidden] { display: none; }
.choice-detail-price { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.choice-detail-price span { color: var(--muted); font-size: .76rem; font-weight: 750; }
.choice-detail-price strong { font-size: 1.1rem; }
.choice-description { padding-top: 8px; border-top: 1px solid var(--line); font-size: .76rem; }
.choice-description p:last-child { margin-bottom: 0; }
.choice-unavailable { padding: 13px; color: var(--muted); border: 1px dashed var(--line); border-radius: 13px; font-size: .77rem; }

/* Visual-only kit entry and nested modal */
.visual-kit-callout { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid rgba(171,109,255,.28); border-radius: 17px; background: linear-gradient(120deg,rgba(89,92,255,.09),rgba(178,59,255,.08)); }
.visual-kit-callout > div { min-width: 0; display: grid; gap: 2px; }
.visual-kit-eyebrow { color: #b997ff; font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.visual-kit-callout strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; }
.visual-kit-callout small { color: var(--muted); font-size: .68rem; }
.kit-open-button { flex: 0 0 auto; min-height: 36px; padding: 7px 14px; color: #fff; border-color: rgba(255,255,255,.12); background: linear-gradient(135deg,#5665ff,#a23cff); box-shadow: 0 8px 22px rgba(89,75,255,.23); }
.kit-dialog { z-index: 70; }
.kit-dialog::backdrop { background: rgba(7,9,13,.76); backdrop-filter: blur(8px); }
.kit-dialog-shell { width: min(720px,calc(100vw - 28px)); max-height: min(86vh,820px); display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; }
.kit-dialog-head { align-items: flex-start; padding: 21px 24px 17px; }
.kit-dialog-head p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }
.kit-dialog-content { min-height: 0; overflow-y: auto; padding: 20px 24px; }
.kit-item-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.kit-item-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); box-shadow: 0 9px 20px rgba(0,0,0,.12); }
.kit-item-picture { position: relative; display: grid; aspect-ratio: 1/1; place-items: center; padding: 10px; background: radial-gradient(circle at 50% 25%,rgba(255,255,255,.12),rgba(0,0,0,.08)); }
.kit-item-picture img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 8px 9px rgba(0,0,0,.25)); }
.kit-item-picture span { color: rgba(255,255,255,.25); font-size: 1.5rem; font-weight: 950; }
.kit-item-meta { display: grid; grid-template-columns:minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px 10px 10px; border-top: 1px solid var(--line); }
.kit-item-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; }
.kit-item-meta span { padding: 3px 6px; color: #fff; background: linear-gradient(135deg,#5964ff,#a13cff); border-radius: 7px; font-size: .65rem; font-weight: 900; }
.kit-visual-note { margin-top: 15px; padding: 11px 13px; color: var(--muted); border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.03); font-size: .68rem; }

.cart-choice-label { display: inline-flex; margin: 1px 0 4px; padding: 3px 7px; color: #d9c8ff; background: rgba(119,84,255,.12); border: 1px solid rgba(147,111,255,.24); border-radius: 999px; font-size: .65rem; font-weight: 800; }

/* Payment hand-off */
.payment-redirect-card { width: min(650px,100%); margin: 20px auto 0; padding: 32px; text-align: center; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg,rgba(62,67,74,.9),rgba(38,42,48,.92)); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
:root[data-theme="light"] .payment-redirect-card { background: linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,242,246,.94)); }
.payment-redirect-card h1 { margin: 5px 0 10px; font-size: clamp(1.6rem,4vw,2.25rem); }
.payment-redirect-card p { max-width: 530px; margin: 0 auto 22px; color: var(--muted); font-size: .86rem; }
.payment-redirect-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.payment-redirect-actions form { margin: 0; }
.payment-redirect-actions .button { min-width: 190px; }

@media (max-width: 720px) {
    .product-dialog-main { grid-template-columns: 1fr; padding: 18px; }
    .product-dialog-image { position: static; max-height: 300px; aspect-ratio: 1.35/1; }
    .choice-shop-options { grid-template-columns: 1fr 1fr; }
    .kit-item-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 500px) {
    .product-dialog-shell { width: calc(100vw - 12px); max-height: calc(100vh - 12px); }
    .product-dialog-head,.kit-dialog-head { padding-inline: 16px; }
    .product-dialog-main,.kit-dialog-content { padding-inline: 16px; }
    .product-dialog-actions { padding-inline: 16px; }
    .choice-shop-options { grid-template-columns: 1fr; }
    .visual-kit-callout { align-items: stretch; flex-direction: column; }
    .kit-open-button { width: 100%; }
    .kit-item-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .payment-redirect-card { padding: 24px 16px; }
    .payment-redirect-actions { display: grid; }
    .payment-redirect-actions .button { width: 100%; min-width: 0; }
}

/* VIP inline visual-kit trigger (mounted by storefront.js into sanitized rich text) */
.rich-text .vip-kit-open-slot{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-end}
.rich-text .vip-kit-open-slot .vip-perk-action{pointer-events:none}
.vip-inline-kit-button{min-height:30px;padding:5px 11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#fff;background:linear-gradient(135deg,#536dfe,#9a43ff);box-shadow:0 6px 16px rgba(91,74,255,.22);font-size:.7rem;font-weight:850;cursor:pointer}
.vip-inline-kit-button:hover{transform:translateY(-1px);filter:brightness(1.07)}
.visual-kit-callout.has-inline-trigger{padding:10px 12px;border-style:dashed;background:rgba(255,255,255,.025)}
.visual-kit-callout.has-inline-trigger .kit-open-button{display:none}
.visual-kit-callout.has-inline-trigger .visual-kit-eyebrow{display:none}
.visual-kit-callout.has-inline-trigger>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.visual-kit-callout.has-inline-trigger strong{font-size:.72rem}
.visual-kit-callout.has-inline-trigger small{font-size:.65rem}

/* Product dialog v4 — modular presentation */
.product-dialog-hero{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start;gap:22px;padding:22px 24px 12px}
.product-dialog-hero .product-dialog-image{position:sticky;top:0;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.1),rgba(0,0,0,.18));box-shadow:0 18px 38px rgba(0,0,0,.18)}
.product-dialog-hero .product-dialog-image img{width:100%;height:100%;object-fit:cover}
.product-purchase-panel{min-width:0;display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.04)}
.dialog-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}.dialog-price strong{font-size:1.55rem}.dialog-price del{color:var(--muted);font-size:.8rem}.purchase-hint{margin:0;color:var(--muted);font-size:.73rem;line-height:1.45}
.product-presentation{padding:10px 24px 18px}.product-presentation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.product-presentation-heading h3{margin:0;font-size:1rem}.product-presentation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.presentation-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px;padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 8px 22px rgba(0,0,0,.08)}
.presentation-card-copy,.presentation-text-card>div{min-width:0;display:grid;gap:3px}.presentation-card strong{font-size:.82rem}.presentation-card small,.presentation-card p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.35}.presentation-card em{width:max-content;margin-top:2px;padding:3px 7px;color:#d7c8ff;background:rgba(118,82,255,.12);border:1px solid rgba(144,108,255,.2);border-radius:999px;font-size:.62rem;font-style:normal;font-weight:800}.presentation-card-kicker{color:#b99cff;font-size:.59rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.presentation-value{flex:0 0 auto;padding:6px 10px;color:#fff;background:linear-gradient(135deg,#5964ff,#a23cff);border-radius:9px;box-shadow:0 7px 18px rgba(91,75,255,.2);font-size:.73rem;white-space:nowrap}.presentation-kit-card{border-color:rgba(158,112,255,.3);background:linear-gradient(135deg,rgba(86,86,255,.095),rgba(166,60,255,.075))}.presentation-text-card{grid-column:1/-1;align-items:flex-start}.presentation-empty-kit{color:var(--muted);font-size:.65rem}
.product-description-bottom{margin:0 24px 22px;padding:16px 17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.product-description-bottom .rich-text{font-size:.78rem;line-height:1.55}.product-description-bottom .rich-text>*:last-child{margin-bottom:0}
.product-dialog-actions{justify-content:flex-end}

/* Nested visual kit modal */
.product-submodal[hidden]{display:none}.product-submodal{position:absolute;inset:0;z-index:25;display:grid;place-items:center;padding:20px}.product-submodal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(7,9,13,.72);backdrop-filter:blur(9px);cursor:default}.product-submodal-card{position:relative;z-index:1;width:min(700px,calc(100% - 14px));max-height:min(78vh,760px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,rgba(55,59,66,.98),rgba(31,34,40,.98));box-shadow:0 30px 90px rgba(0,0,0,.55)}
:root[data-theme="light"] .product-submodal-card{background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(238,241,245,.99))}.product-submodal-card .dialog-actions{justify-content:flex-end;padding:13px 20px 18px}.kit-dialog-content{padding:18px 20px 20px}.kit-item-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.kit-item-card{position:relative;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 9px 22px rgba(0,0,0,.14)}.kit-item-picture{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:11px;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.13),rgba(0,0,0,.08))}.kit-item-picture img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))}.kit-item-quantity{position:absolute;right:7px;bottom:7px;min-width:30px;padding:4px 7px;text-align:center;color:#fff;background:linear-gradient(135deg,#5964ff,#a13cff);border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 5px 14px rgba(77,62,255,.25);font-size:.68rem;font-weight:900}.kit-item-meta{display:none}
html.kit-panel-open{overflow:hidden}

/* Direct wallet purchase feedback */
.wallet-shortfall{padding:10px 12px;color:#ffe2a8;background:rgba(255,171,58,.09);border:1px solid rgba(255,184,75,.25);border-radius:12px;font-size:.72rem;line-height:1.4}.wallet-shortfall[hidden]{display:none}

/* Player account modules */
.account-page{max-width:1220px}.account-module-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;margin-top:28px}.account-module{min-width:0;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-3) 78%,transparent));box-shadow:0 12px 32px rgba(0,0,0,.12);backdrop-filter:blur(16px)}.account-module-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.account-module-head h2{margin:2px 0 0;font-size:1.05rem}.active-promo-badge,.account-count{padding:4px 8px;color:#fff;background:linear-gradient(135deg,#5964ff,#a13cff);border-radius:999px;font-size:.62rem;font-weight:900}.active-promo-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border:1px solid rgba(145,105,255,.24);border-radius:14px;background:rgba(113,79,255,.07)}.active-promo-row>div{display:grid;gap:2px}.active-promo-row span{color:var(--muted);font-size:.66rem}.active-promo-row>b{color:#d8c8ff;white-space:nowrap}.promo-form{display:grid;gap:7px}.promo-form>label{color:var(--muted);font-size:.68rem;font-weight:750}.promo-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.promo-input-row input{min-width:0;padding:10px 12px;color:var(--text);background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:12px;outline:none;text-transform:uppercase}.promo-input-row input:focus{border-color:rgba(155,111,255,.65);box-shadow:0 0 0 3px rgba(126,90,255,.09)}.promo-form small{color:var(--muted);font-size:.62rem}.danger-text{color:var(--danger)}
.account-empty-inline{display:grid;gap:4px;padding:15px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.account-empty-inline strong{color:var(--text);font-size:.8rem}.account-empty-inline span{font-size:.68rem}.account-cart-list{display:grid;gap:8px}.account-cart-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}.account-cart-thumb{display:grid;width:54px;height:54px;place-items:center;overflow:hidden;border-radius:11px;background:rgba(0,0,0,.16)}.account-cart-thumb img{width:100%;height:100%;object-fit:cover}.account-cart-copy{min-width:0;display:grid;gap:1px}.account-cart-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}.account-cart-copy small{color:#d6c8ff;font-size:.62rem}.account-cart-copy span{color:var(--muted);font-size:.62rem}.account-cart-item>b{font-size:.72rem;white-space:nowrap}.account-cart-item .icon-button{width:34px;height:34px;border-radius:10px}.account-cart-total{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.account-cart-total>div{display:grid;margin-right:auto}.account-cart-total span{color:var(--muted);font-size:.63rem}.account-cart-total strong{font-size:1rem}.account-cart-total form{margin:0}

@media(max-width:820px){.product-dialog-hero{grid-template-columns:1fr}.product-dialog-hero .product-dialog-image{position:static;max-width:340px;justify-self:center}.product-presentation-grid{grid-template-columns:1fr}.presentation-text-card{grid-column:auto}.kit-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.account-module-grid{grid-template-columns:1fr}}
@media(max-width:560px){.product-dialog-hero,.product-presentation{padding-inline:14px}.product-description-bottom{margin-inline:14px}.product-submodal{padding:8px}.product-submodal-card{width:100%;max-height:88vh;border-radius:20px}.kit-dialog-content{padding:14px}.kit-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.presentation-card{min-height:70px;padding:12px}.promo-input-row{grid-template-columns:1fr}.account-cart-item{grid-template-columns:48px minmax(0,1fr) auto}.account-cart-thumb{width:48px;height:48px}.account-cart-item>b{grid-column:2}.account-cart-item form{grid-column:3;grid-row:1 / span 2}.account-cart-total{align-items:stretch;flex-direction:column}.account-cart-total>div{margin-right:0}.account-cart-total .button{width:100%}}
.product-dialog-shell{position:relative}

/* v4.2: live catalog search */
.product-card[hidden]{display:none!important}.search-clear{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:9px;color:var(--muted);background:rgba(255,255,255,.06);cursor:pointer}.search-clear:hover{color:var(--text);background:rgba(255,255,255,.12)}.search-clear[hidden]{display:none!important}[data-catalog-live-empty][hidden]{display:none!important}

/* v4.3: chat presentation + responsive polish */
.presentation-chat-card{border-color:rgba(164,111,255,.28);background:linear-gradient(135deg,rgba(89,93,255,.075),rgba(181,58,255,.06))}
.presentation-chat-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.presentation-chat-dots{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04)}
.presentation-chat-dots i{display:block;width:11px;height:11px;border-radius:50%;background:var(--dot-color,#a855f7);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 3px 10px color-mix(in srgb,var(--dot-color,#a855f7) 35%,transparent)}
.chat-open-button,.kit-open-button{min-height:36px;padding:7px 13px;border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#fff;background:linear-gradient(135deg,#5665ff,#a23cff);box-shadow:0 8px 22px rgba(89,75,255,.23);font-size:.72rem;font-weight:850;white-space:nowrap}
.chat-submodal-card{width:min(650px,calc(100% - 14px))}
.chat-dialog-content{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:18px 20px 22px}
.chat-preview-box{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.18);font-size:.9rem;line-height:1.5;box-shadow:inset 0 1px rgba(255,255,255,.03)}
.chat-preview-box span,.chat-preview-box em{font-style:normal;font-weight:850;transition:color .15s ease}
.chat-preview-box strong{color:var(--text)}
.chat-palette-section{display:grid;gap:9px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}
.chat-palette-section>div:first-child{display:grid;gap:2px}.chat-palette-section strong{font-size:.8rem}.chat-palette-section small{color:var(--muted);font-size:.65rem}
.chat-color-options{display:flex;flex-wrap:wrap;gap:7px}
.chat-color-option{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 9px;color:var(--muted);background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:.62rem;font-weight:800;transition:.15s ease}
.chat-color-option i{display:block;width:15px;height:15px;flex:0 0 15px;border-radius:50%;background:var(--chat-color,#fff);box-shadow:0 0 0 1px rgba(255,255,255,.2),0 4px 12px color-mix(in srgb,var(--chat-color,#fff) 30%,transparent)}
.chat-color-option:hover{color:var(--text);border-color:rgba(255,255,255,.28)}
.chat-color-option.is-active{color:var(--text);border-color:color-mix(in srgb,var(--chat-color,#a855f7) 70%,white);background:color-mix(in srgb,var(--chat-color,#a855f7) 13%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--chat-color,#a855f7) 12%,transparent)}
html.subpanel-open{overflow:hidden}

/* Keep the main product modal compact and prevent controls from visually sticking together. */
.product-purchase-panel>.button,.product-purchase-panel form,.product-purchase-panel form .button{width:100%}
.product-dialog-actions{min-height:68px}
.product-dialog-actions .button{min-width:116px}
.product-description-bottom{overflow-wrap:anywhere}
.rich-text{overflow-wrap:anywhere}

/* Account/payment polish. */
.payment-redirect-actions form{display:flex}
.payment-redirect-actions form .button{width:100%}
.profile-card>div:last-child{min-width:0}.profile-card p{overflow-wrap:anywhere}
.account-module,.balance-card,.profile-card{min-width:0}
.orders-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.site-footer{margin-top:auto}

@media(max-width:860px){
    body{overflow-x:hidden}
    .category-rail{scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-inline:1px 4px}
    .category-rail::-webkit-scrollbar{display:none}
    .category-pill{scroll-snap-align:start}
    .widget-rail{order:3}
}

@media(max-width:640px){
    .shell,.narrow-page{width:calc(100% - 14px)}
    .site-header{top:5px;width:calc(100% - 10px);margin-top:5px;border-radius:18px}
    .header-row{min-width:0;min-height:50px;gap:6px;padding:5px 7px}
    .brand{min-width:0;flex:0 1 auto}.brand-logo{width:34px;height:34px}.brand-mark{width:34px;height:34px;border-radius:11px}
    .header-actions{min-width:0;gap:5px}.wallet-pill{min-width:0;max-width:132px;min-height:38px;padding:6px 9px}.wallet-pill strong{overflow:hidden;text-overflow:ellipsis;font-size:.7rem}.player-avatar-link{width:38px;height:38px;flex:0 0 38px}.icon-button{width:38px;height:38px}
    .storefront-brand-stage{height:76px;padding:7px 12px 4px}.storefront-brand-stage img{width:min(250px,70vw);max-height:68px}
    .shop-shell{gap:10px;padding-bottom:42px}.category-rail{gap:6px}.category-pill{min-height:34px;padding:7px 11px;font-size:.72rem}
    .catalog-search{height:40px;margin-bottom:10px;border-radius:13px;padding-inline:11px}
    .product-grid{gap:8px}.product-card{border-radius:15px}.product-media{border-radius:13px 13px 10px 10px}.price-badge{padding:4px 7px;font-size:.62rem}.product-card-copy h3{font-size:.76rem}.mini-button{font-size:.61rem}
    .widget-rail{grid-template-columns:1fr;gap:8px}

    .glass-dialog{width:100%;max-width:100vw}
    .product-dialog-shell{width:calc(100vw - 8px);height:auto;max-height:calc(100dvh - 8px);border-radius:20px}
    .product-dialog-head{position:relative;padding:14px 14px 11px;gap:10px}.product-dialog-head h2{font-size:1.2rem}.dialog-kicker{font-size:.59rem}.dialog-x{width:32px;height:32px;flex-basis:32px;border-radius:10px}
    .product-dialog-body{overscroll-behavior:contain}
    .product-dialog-hero{grid-template-columns:1fr;gap:12px;padding:12px 12px 8px}
    .product-dialog-hero .product-dialog-image{position:static;width:min(210px,68vw);max-width:none;justify-self:center;border-radius:18px}
    .product-purchase-panel{gap:10px;padding:12px;border-radius:16px}.dialog-price strong{font-size:1.3rem}.purchase-hint{font-size:.67rem}
    .choice-shop-options{grid-template-columns:1fr 1fr;gap:6px}.choice-shop-option{padding:9px 10px}.choice-shop-detail{padding:10px}
    .product-presentation{padding:8px 12px 12px}.product-presentation-heading{margin-bottom:8px}.product-presentation-heading h3{font-size:.9rem}.product-presentation-grid{grid-template-columns:1fr;gap:8px}
    .presentation-card{min-height:66px;padding:11px 12px;border-radius:15px;gap:10px}.presentation-card strong{font-size:.76rem}.presentation-card small,.presentation-card p{font-size:.63rem}.presentation-value{padding:5px 8px;font-size:.67rem}
    .presentation-chat-card{align-items:stretch;flex-direction:column}.presentation-chat-card-actions{justify-content:space-between}.presentation-chat-dots{padding:6px 8px}.presentation-chat-dots i{width:10px;height:10px}.chat-open-button,.kit-open-button{min-height:34px;padding:6px 11px}
    .product-description-bottom{margin:0 12px 14px;padding:13px 14px;border-radius:15px}.product-description-bottom .rich-text{font-size:.73rem}
    .product-dialog-actions{min-height:58px;padding:10px 12px 12px}.product-dialog-actions .button{min-width:100px}

    .product-submodal{position:absolute;padding:5px}.product-submodal-card,.chat-submodal-card{width:100%;max-height:calc(100dvh - 18px);border-radius:18px}.kit-dialog-head{padding:14px}.kit-dialog-head h2{font-size:1.15rem}.kit-dialog-head p{margin:4px 0 0;color:var(--muted);font-size:.66rem}.kit-dialog-content,.chat-dialog-content{padding:12px}.kit-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kit-item-card{border-radius:13px}.kit-item-picture{padding:7px}.kit-item-quantity{right:5px;bottom:5px;min-width:26px;padding:3px 5px;border-radius:7px;font-size:.61rem}.product-submodal-card .dialog-actions{padding:10px 12px 12px}.product-submodal-card .dialog-actions .button{width:100%}
    .chat-preview-box{padding:13px 14px;font-size:.78rem}.chat-palette-section{padding:11px}.chat-color-options{gap:6px}.chat-color-option{min-height:32px;padding:5px 7px}.chat-color-option span{display:none}.chat-color-option i{width:18px;height:18px;flex-basis:18px}

    .wallet-dialog-shell{width:calc(100vw - 10px);border-radius:20px}.wallet-current{margin:14px 14px 0}.wallet-form{padding:14px 14px 0}.wallet-form .dialog-actions{padding-inline:0}.wallet-form .dialog-actions .button{flex:1}
    .payment-redirect-card{margin-top:0;padding:22px 14px;border-radius:20px}.payment-redirect-card h1{font-size:1.55rem}.payment-redirect-card p{font-size:.78rem}.payment-redirect-actions{display:grid;grid-template-columns:1fr;width:100%}.payment-redirect-actions form,.payment-redirect-actions .button{width:100%}

    .account-head{gap:10px}.profile-card,.balance-card{padding:14px;border-radius:17px}.profile-card{gap:12px}.avatar{flex-basis:58px;width:58px;height:58px;border-radius:16px;font-size:1.45rem}.profile-card h1{font-size:1.45rem}.profile-card p{font-size:.7rem}.balance-card strong{font-size:1.4rem}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.account-actions .button,.account-actions form,.account-actions form .button{width:100%;margin:0}.account-actions form{grid-column:1/-1}
    .account-module-grid{gap:10px;margin-top:18px}.account-module{padding:14px;border-radius:17px}.account-module-head{margin-bottom:10px}.active-promo-row{align-items:flex-start;flex-direction:column;gap:7px}.promo-input-row{grid-template-columns:1fr}.promo-input-row .button{width:100%}
    .account-orders-heading{margin:30px 0 12px}.account-orders-heading.secondary{margin-top:28px}.section-heading{align-items:flex-start;gap:10px}.section-heading .button{min-height:38px;padding:7px 10px}
    .orders-table th,.orders-table td{padding:10px 11px;font-size:.7rem}
    .footer-row{align-items:flex-start;flex-direction:column;gap:14px;text-align:left}
    .footer-support-copy{max-width:none}
    .footer-links{align-self:stretch;justify-content:flex-start}
    .privacy-shell{width:calc(100% - 18px);margin:20px auto 34px}
    .privacy-card{padding:17px;border-radius:19px}
    .privacy-section{padding:14px;border-radius:14px}
    .toast{left:8px;right:8px;bottom:8px;text-align:center}
}

/* v4.9.3 — mobile presentation actions: buttons always sit below card content */
@media(max-width:560px){
    .presentation-kit-card{align-items:stretch;flex-direction:column}
    .presentation-kit-card .presentation-card-copy{width:100%}
    .presentation-kit-card .kit-open-button{width:100%;margin-top:4px}
    .presentation-chat-card{align-items:stretch;flex-direction:column}
    .presentation-chat-card-actions{align-items:stretch;flex-direction:column;justify-content:flex-start;gap:8px}
    .presentation-chat-mini{align-self:flex-start;max-width:100%}
    .presentation-chat-card .chat-open-button{width:100%;margin-top:2px}
}

@media(max-width:420px){
    .site-header .brand{max-width:42px}.site-header .brand>span:not(.brand-mark){display:none}
    .wallet-pill{max-width:118px;padding-inline:8px}.wallet-pill strong{font-size:.65rem}
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card-copy{padding:7px 6px 8px}.product-card-actions{gap:4px}
    .choice-shop-options{grid-template-columns:1fr}
    .kit-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .presentation-chat-card-actions{align-items:stretch;flex-direction:column}.presentation-chat-dots{align-self:flex-start}.chat-open-button{width:100%}
    .account-actions{grid-template-columns:1fr}.account-actions form{grid-column:auto}
}

@media(max-width:340px){
    .product-grid{grid-template-columns:1fr 1fr;gap:6px}.price-badge{font-size:.57rem}.mini-button{padding-inline:4px;font-size:.57rem}
    .kit-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
    .responsive-orders{display:block;width:100%}.responsive-orders thead{display:none}.responsive-orders tbody{display:grid;gap:8px;padding:8px}.responsive-orders tr{display:grid;gap:0;padding:6px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.responsive-orders td{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;padding:7px 0;border:0;border-bottom:1px solid rgba(255,255,255,.07);white-space:normal;overflow-wrap:anywhere}.responsive-orders td:last-child{border-bottom:0}.responsive-orders td::before{content:attr(data-label);color:var(--muted);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.responsive-orders .inline-payment{display:block;margin:5px 0 0}.responsive-orders .status{justify-self:start}
}
.product-dialog-body{overflow-x:hidden}.product-dialog-hero,.product-presentation,.product-presentation-grid,.presentation-card,.presentation-card-copy{min-width:0}.product-dialog-shell,.product-submodal-card{max-width:100%}

/* v4.5 — chat prefix/name/message appearance + notification toasts */
.presentation-chat-mini{display:inline-flex;align-items:center;gap:4px;max-width:190px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);overflow:hidden;white-space:nowrap;font-size:.67rem;font-weight:900}.presentation-chat-mini [data-chat-prefix-preview],.presentation-chat-mini [data-chat-name-preview]{display:inline-block;min-width:0}.presentation-chat-mini [data-chat-name-preview]{overflow:hidden;text-overflow:ellipsis}
.chat-preview-box [data-chat-prefix-preview],.chat-preview-box [data-chat-name-preview],.chat-preview-box [data-chat-text-preview]{display:inline-block;vertical-align:baseline}.chat-preview-box [data-chat-name-preview]{font-weight:900}.chat-preview-box [data-chat-text-preview]{font-style:normal;font-weight:750}
.chat-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chat-palette-wide{grid-column:1/-1}.chat-palette-section{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.035)}.chat-palette-section>div:first-child{display:grid;gap:2px}.chat-palette-section small{color:var(--muted);font-size:.64rem}
.toast{max-width:min(420px,calc(100vw - 24px));transition:transform .18s ease,opacity .18s ease}.toast[data-toast-type="error"]{border-color:rgba(255,84,108,.52);background:linear-gradient(135deg,rgba(61,22,30,.97),rgba(36,28,32,.97));box-shadow:0 16px 42px rgba(164,35,56,.28)}.toast[data-toast-type="success"]{border-color:rgba(72,214,145,.45);background:linear-gradient(135deg,rgba(17,62,46,.97),rgba(26,36,33,.97));box-shadow:0 16px 42px rgba(33,128,88,.22)}.toast[data-toast-type="warning"]{border-color:rgba(255,193,78,.5);background:linear-gradient(135deg,rgba(69,51,18,.97),rgba(38,34,27,.97))}
@media(max-width:700px){.presentation-chat-mini{max-width:100%;align-self:flex-start}.chat-feature-grid{grid-template-columns:1fr}.chat-palette-wide{grid-column:auto}.chat-submodal-card .chat-dialog-content{padding:10px}.chat-preview-box{overflow-wrap:anywhere}}

/* v4.6 — top-right notifications, stacked promos, promo prices and Rust prefix presets */
.toast{top:22px!important;right:22px!important;bottom:auto!important;left:auto!important;z-index:12000!important;min-width:min(360px,calc(100vw - 44px));max-width:min(560px,calc(100vw - 44px));padding:17px 20px!important;border-radius:17px!important;font-size:.94rem!important;line-height:1.45!important;font-weight:800!important;box-shadow:0 22px 65px rgba(0,0,0,.38)!important;backdrop-filter:blur(16px)}
.price-badge.promo-active{background:linear-gradient(135deg,#8b5cf6,#ec4899);box-shadow:0 8px 22px rgba(168,85,247,.36)}.old-price-badge.promo-old-price{text-decoration:line-through;text-decoration-thickness:2px;opacity:.88}.dialog-price.has-promo-price{display:grid;grid-template-columns:auto auto;align-items:end;justify-content:start;gap:4px 12px}.dialog-price.has-promo-price del{grid-column:1;font-size:.9rem;opacity:.62}.dialog-price.has-promo-price strong{grid-column:1;font-size:1.7rem}.promo-price-label{grid-column:2;grid-row:1/3;align-self:center;padding:6px 9px;border:1px solid rgba(168,85,247,.34);border-radius:999px;background:rgba(168,85,247,.11);color:#c4a7ff;font-size:.68rem;font-weight:850;white-space:nowrap}.choice-price-stack{display:flex!important;align-items:baseline;justify-content:flex-end;gap:7px;flex-wrap:wrap}.choice-price-stack del{font-size:.72em;opacity:.52;font-weight:700}.choice-price-stack span{color:#c39cff}
.active-promo-list{display:grid;gap:10px;margin:4px 0 14px}.active-promo-list .active-promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.active-promo-list .active-promo-row form{margin:0}.active-promo-list .active-promo-row b{white-space:nowrap}.active-promo-list .active-promo-row .icon-button{width:34px;height:34px}
.chat-rust-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.chat-rust-option{display:grid;gap:6px;min-height:68px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.chat-rust-option:hover{transform:translateY(-1px);border-color:rgba(168,85,247,.45)}.chat-rust-option.is-active{border-color:#8b5cf6;background:rgba(139,92,246,.13);box-shadow:0 0 0 1px rgba(139,92,246,.12)}.chat-rust-option>span{display:block;min-height:22px;font-weight:900;font-size:1rem;overflow:hidden}.chat-rust-option>small{color:var(--muted);font-size:.68rem}
@media(max-width:640px){.toast{top:10px!important;left:10px!important;right:10px!important;bottom:auto!important;min-width:0;max-width:none;width:auto;padding:15px 16px!important;font-size:.9rem!important}.dialog-price.has-promo-price{grid-template-columns:1fr}.promo-price-label{grid-column:1;grid-row:auto;justify-self:start}.chat-rust-options{grid-template-columns:1fr}.active-promo-list .active-promo-row{grid-template-columns:minmax(0,1fr) auto}.active-promo-list .active-promo-row form{grid-column:2;grid-row:1}.active-promo-list .active-promo-row b{grid-column:1/3}}


/* v4.7 — real Rust fulfillment preview */
.product-delivery-preview{padding:10px 24px 18px;border-top:1px solid var(--line)}
.delivery-item-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.delivery-item-card{aspect-ratio:1/1;min-width:0}.delivery-item-card .kit-item-picture{padding:10px}.delivery-item-card .kit-item-picture>span{font-size:1rem;font-weight:900;color:var(--muted)}
@media(max-width:820px){.delivery-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.product-delivery-preview{padding:8px 12px 12px}.delivery-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}}
@media(max-width:380px){.delivery-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.7.1 — unified chat option tiles */
.chat-rust-options,
.chat-color-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    align-items:stretch;
}

.chat-rust-options{margin-top:10px}

.chat-rust-option,
.chat-color-option{
    width:100%;
    min-width:0;
    min-height:58px;
    height:58px;
    margin:0;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.04);
    color:var(--muted);
    cursor:pointer;
    box-sizing:border-box;
    transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}

.chat-rust-option{
    display:grid;
    grid-template-rows:minmax(22px,1fr) auto;
    align-items:center;
    gap:3px;
    text-align:left;
}

.chat-rust-option>span{
    display:flex;
    align-items:center;
    min-width:0;
    min-height:22px;
    overflow:hidden;
    font-size:.95rem;
    font-weight:900;
    line-height:1.1;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.chat-rust-option>small{
    display:block;
    overflow:hidden;
    color:var(--muted);
    font-size:.65rem;
    line-height:1.1;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.chat-color-option{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    text-align:left;
    font-size:.68rem;
    font-weight:850;
}

.chat-color-option i{
    width:18px;
    height:18px;
    flex:0 0 18px;
    border-radius:50%;
    background:var(--chat-color,#fff);
    box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 14px color-mix(in srgb,var(--chat-color,#fff) 42%,transparent);
}

.chat-color-option span{
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.chat-rust-option:hover,
.chat-color-option:hover{
    transform:translateY(-1px);
    color:var(--text);
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.065);
}

.chat-rust-option.is-active{
    color:var(--text);
    border-color:#8b5cf6;
    background:rgba(139,92,246,.13);
    box-shadow:0 0 0 1px rgba(139,92,246,.12),0 8px 22px rgba(99,55,180,.14);
}

.chat-color-option.is-active{
    color:var(--text);
    border-color:color-mix(in srgb,var(--chat-color,#a855f7) 70%,white);
    background:color-mix(in srgb,var(--chat-color,#a855f7) 12%,rgba(255,255,255,.025));
    box-shadow:0 0 0 1px color-mix(in srgb,var(--chat-color,#a855f7) 18%,transparent),0 8px 22px color-mix(in srgb,var(--chat-color,#a855f7) 14%,transparent);
}

/* Wide message palette keeps the exact same tile dimensions as the two upper columns. */
.chat-palette-wide .chat-color-options{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:700px){
    .chat-rust-options,
    .chat-color-options,
    .chat-palette-wide .chat-color-options{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .chat-rust-option,
    .chat-color-option{
        min-height:54px;
        height:54px;
        padding:9px 10px;
    }
    .chat-color-option span{display:block}
}

@media(max-width:420px){
    .chat-rust-options,
    .chat-color-options,
    .chat-palette-wide .chat-color-options{
        grid-template-columns:1fr;
    }
}

/* v4.8 — Rust markup is available for prefix, nickname and message. */
.chat-palette-wide .chat-rust-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.chat-color-options:empty,.chat-rust-options:empty{display:none}
@media(max-width:700px){.chat-palette-wide .chat-rust-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.chat-palette-wide .chat-rust-options{grid-template-columns:1fr}}


/* v4.10 — complete cream light theme + matte glass
   All selectors live at the end of the stylesheet on purpose: older storefront
   components contained dark hard-coded fills that otherwise survived a theme switch. */
:root[data-theme="light"] {
    color-scheme: light;
    --cream-canvas: #f4efe7;
    --cream-canvas-2: #ebe1d3;
    --cream-glass: rgba(255, 251, 244, .72);
    --cream-glass-strong: rgba(255, 252, 247, .88);
    --cream-glass-soft: rgba(245, 236, 223, .68);
    --cream-line: rgba(91, 74, 54, .15);
    --cream-line-strong: rgba(91, 74, 54, .24);
    --cream-ink: #27221c;
    --cream-muted: #70685e;
}
:root[data-theme="light"] body {
    color: var(--cream-ink);
    background:
        radial-gradient(circle at 12% -8%, rgba(255,255,255,.92), transparent 34rem),
        radial-gradient(circle at 88% 14%, rgba(224,205,178,.28), transparent 30rem),
        linear-gradient(145deg, var(--cream-canvas), #eee5da 62%, var(--cream-canvas-2));
}
:root[data-theme="light"] body.has-site-background { background: var(--cream-canvas); }
:root[data-theme="light"] .site-background img {
    filter: saturate(.72) brightness(1.04) contrast(.91);
}
:root[data-theme="light"] body.has-site-background::before {
    background:
        linear-gradient(180deg, rgba(250,246,238,.56), rgba(244,237,226,.76) 48%, rgba(239,230,217,.90)),
        radial-gradient(circle at 50% 0, rgba(255,255,255,.28), transparent 48%);
    backdrop-filter: blur(1.5px);
    -webkit-backdrop-filter: blur(1.5px);
}
:root[data-theme="light"] .site-header,
:root[data-theme="light"] .product-card,
:root[data-theme="light"] .store-widget,
:root[data-theme="light"] .catalog-search,
:root[data-theme="light"] .cart-item,
:root[data-theme="light"] .order-summary,
:root[data-theme="light"] .profile-card,
:root[data-theme="light"] .balance-card,
:root[data-theme="light"] .orders-table-wrap,
:root[data-theme="light"] .empty-state,
:root[data-theme="light"] .account-module,
:root[data-theme="light"] .account-empty-inline,
:root[data-theme="light"] .account-cart-item {
    border-color: var(--cream-line);
    background: linear-gradient(145deg, rgba(255,253,249,.79), rgba(247,239,228,.66));
    box-shadow: 0 18px 52px rgba(93,74,49,.12), inset 0 1px 0 rgba(255,255,255,.74);
    backdrop-filter: blur(22px) saturate(.92);
    -webkit-backdrop-filter: blur(22px) saturate(.92);
}
:root[data-theme="light"] .site-header {
    background: linear-gradient(135deg, rgba(255,253,249,.79), rgba(242,232,218,.72));
    box-shadow: 0 16px 46px rgba(93,74,49,.13), inset 0 1px 0 rgba(255,255,255,.82);
}
:root[data-theme="light"] .main-nav a,
:root[data-theme="light"] .icon-button,
:root[data-theme="light"] .wallet-pill,
:root[data-theme="light"] .button-quiet,
:root[data-theme="light"] .mini-button,
:root[data-theme="light"] .search-clear {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(255,252,247,.56);
}
:root[data-theme="light"] .main-nav a:hover,
:root[data-theme="light"] .icon-button:hover,
:root[data-theme="light"] .wallet-pill:hover,
:root[data-theme="light"] .button-quiet:hover,
:root[data-theme="light"] .mini-button:hover,
:root[data-theme="light"] .search-clear:hover {
    color: var(--cream-ink);
    border-color: var(--cream-line-strong);
    background: rgba(255,255,255,.82);
}
:root[data-theme="light"] .category-pill {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(249,242,232,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
:root[data-theme="light"] .category-pill:hover,
:root[data-theme="light"] .category-pill.is-active {
    color: var(--cream-ink);
    border-color: rgba(111,91,68,.25);
    background: rgba(255,252,246,.91);
    box-shadow: 0 8px 22px rgba(91,72,48,.10), inset 0 1px 0 rgba(255,255,255,.92);
}
:root[data-theme="light"] .product-card { border-color: rgba(91,74,54,.13); }
:root[data-theme="light"] .product-card:hover {
    border-color: rgba(105,83,58,.24);
    box-shadow: 0 19px 42px rgba(93,74,49,.16), inset 0 1px 0 rgba(255,255,255,.78);
}
:root[data-theme="light"] .product-card-media,
:root[data-theme="light"] .product-dialog-image,
:root[data-theme="light"] .product-dialog-hero .product-dialog-image,
:root[data-theme="light"] .bundle-item-icon,
:root[data-theme="light"] .cart-thumb,
:root[data-theme="light"] .account-cart-thumb,
:root[data-theme="light"] .kit-item-picture {
    background:
        radial-gradient(circle at 50% 20%, rgba(255,255,255,.90), rgba(238,226,210,.64) 72%),
        var(--cream-glass-soft);
}
:root[data-theme="light"] .product-dialog-image span { color: rgba(82,68,51,.34); }
:root[data-theme="light"] .old-price-badge {
    color: #5f5549;
    background: rgba(255,250,242,.82);
    box-shadow: 0 4px 14px rgba(91,72,48,.10);
}
:root[data-theme="light"] .server-status,
:root[data-theme="light"] .status {
    color: var(--cream-muted);
    background: rgba(239,228,212,.72);
}
:root[data-theme="light"] .server-population-track {
    border-color: rgba(105,83,58,.13);
    background: rgba(205,194,178,.68);
    box-shadow: inset 0 1px 3px rgba(78,61,42,.10);
}
:root[data-theme="light"] .server-widget-button {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(255,252,247,.67);
}
:root[data-theme="light"] .server-widget-button:hover {
    border-color: rgba(131,92,189,.30);
    background: rgba(255,252,247,.90);
}
:root[data-theme="light"] .server-connect-button,
:root[data-theme="light"] .server-connect-button:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg,var(--accent),var(--accent-strong));
}
:root[data-theme="light"] .dialog-shell,
:root[data-theme="light"] .product-submodal-card {
    color: var(--cream-ink);
    border-color: rgba(104,84,60,.18);
    background: linear-gradient(145deg, rgba(255,253,249,.96), rgba(241,232,218,.94));
    box-shadow: 0 34px 95px rgba(82,63,40,.22), inset 0 1px 0 rgba(255,255,255,.92);
    backdrop-filter: blur(28px) saturate(.92);
    -webkit-backdrop-filter: blur(28px) saturate(.92);
}
:root[data-theme="light"] .glass-dialog::backdrop {
    background: rgba(92,78,61,.22);
    backdrop-filter: blur(11px) saturate(.82);
    -webkit-backdrop-filter: blur(11px) saturate(.82);
}
:root[data-theme="light"] .product-submodal-backdrop {
    background: rgba(90,75,57,.25);
    backdrop-filter: blur(12px) saturate(.82);
    -webkit-backdrop-filter: blur(12px) saturate(.82);
}
:root[data-theme="light"] .product-dialog-head {
    background: linear-gradient(180deg, rgba(255,255,255,.52), rgba(246,238,227,.10));
}
:root[data-theme="light"] .product-dialog-actions {
    border-color: var(--cream-line);
    background: rgba(247,239,228,.64);
}
:root[data-theme="light"] .choice-shop-option,
:root[data-theme="light"] .choice-shop-detail,
:root[data-theme="light"] .presentation-card,
:root[data-theme="light"] .kit-item-card,
:root[data-theme="light"] .chat-palette-section,
:root[data-theme="light"] .chat-rust-option,
:root[data-theme="light"] .presentation-chat-mini,
:root[data-theme="light"] .active-promo-row,
:root[data-theme="light"] .promo-input-row input {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(255,252,247,.60);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-theme="light"] .choice-shop-option:hover,
:root[data-theme="light"] .choice-shop-option.is-active,
:root[data-theme="light"] .chat-rust-option:hover,
:root[data-theme="light"] .chat-rust-option.is-active {
    border-color: rgba(131,92,189,.30);
    background: linear-gradient(135deg, rgba(255,252,247,.88), rgba(235,224,244,.64));
}
:root[data-theme="light"] .chat-preview-box {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(239,229,215,.68);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
:root[data-theme="light"] .rich-text .vip-perk {
    border-color: var(--cream-line);
    background: linear-gradient(120deg, rgba(255,253,249,.76), rgba(239,228,244,.48));
}
:root[data-theme="light"] .visual-kit-callout {
    border-color: rgba(132,96,191,.22);
    background: linear-gradient(120deg, rgba(255,252,247,.76), rgba(238,228,246,.50));
}
:root[data-theme="light"] .orders-table th,
:root[data-theme="light"] .orders-table td,
:root[data-theme="light"] .choice-description,
:root[data-theme="light"] .product-dialog-actions {
    border-color: var(--cream-line);
}
:root[data-theme="light"] .responsive-orders tr { background: rgba(255,252,247,.58); }
:root[data-theme="light"] .responsive-orders td { border-bottom-color: rgba(91,74,54,.10); }
:root[data-theme="light"] .site-footer {
    border-top-color: rgba(91,74,54,.12);
    background: linear-gradient(180deg, transparent, rgba(236,226,212,.20));
}

:root[data-theme="light"] .privacy-card,
:root[data-theme="light"] .privacy-section {
    border-color: var(--cream-line);
    background: rgba(255,252,247,.72);
}
:root[data-theme="light"] .toast {
    color: var(--cream-ink);
    border-color: var(--cream-line);
    background: rgba(255,252,247,.92);
    box-shadow: 0 22px 65px rgba(91,72,48,.17) !important;
}
:root[data-theme="light"] .toast[data-toast-type="error"] {
    color: #6f2f37;
    border-color: rgba(190,82,96,.28);
    background: linear-gradient(135deg, rgba(255,244,244,.96), rgba(247,229,226,.96));
}
:root[data-theme="light"] .toast[data-toast-type="success"] {
    color: #315f45;
    border-color: rgba(73,145,101,.25);
    background: linear-gradient(135deg, rgba(244,253,247,.96), rgba(226,242,231,.96));
}
:root[data-theme="light"] .toast[data-toast-type="warning"] {
    color: #71511d;
    border-color: rgba(190,139,54,.28);
    background: linear-gradient(135deg, rgba(255,250,239,.97), rgba(245,233,209,.97));
}
:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea {
    color: var(--cream-ink);
}
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder { color: rgba(91,80,67,.60); }
:root[data-theme="light"] .muted,
:root[data-theme="light"] .product-card-copy p,
:root[data-theme="light"] .presentation-card small,
:root[data-theme="light"] .presentation-card p,
:root[data-theme="light"] .choice-shop-heading > small,
:root[data-theme="light"] .choice-detail-price span,
:root[data-theme="light"] .account-module-head small,
:root[data-theme="light"] .promo-form > label,
:root[data-theme="light"] .promo-form small { color: var(--cream-muted); }


/* v4.10 — light storefront clarity, stable category navigation and cabinet bonuses */
.shop-shell{margin-top:14px}
.account-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.bonus-rule-list{display:grid;gap:9px}
.bonus-rule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid rgba(145,105,255,.24);border-radius:15px;background:linear-gradient(135deg,rgba(91,100,255,.075),rgba(161,60,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.bonus-rule-row.is-lifetime{border-color:rgba(255,176,83,.22);background:linear-gradient(135deg,rgba(255,168,70,.075),rgba(168,85,247,.055))}
.bonus-rule-copy{min-width:0;display:grid;gap:2px}
.bonus-rule-copy>span{color:#bda6ff;font-size:.61rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.bonus-rule-copy>strong{font-size:.86rem}
.bonus-rule-copy>small{color:var(--muted);font-size:.64rem}
.bonus-rule-reward{display:grid;justify-items:end;gap:1px;text-align:right;white-space:nowrap}
.bonus-rule-reward>span{color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}
.bonus-rule-reward>b{color:#d8c8ff;font-size:1rem}
.bonus-rule-reward>em{padding:2px 6px;border:1px solid rgba(145,105,255,.22);border-radius:999px;color:#cfc0ff;background:rgba(145,105,255,.08);font-size:.54rem;font-style:normal;font-weight:800}
.bonus-module-actions{display:flex;justify-content:flex-end;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}

:root[data-theme="light"] .category-pill.is-active{
    color:#fff;
    border-color:rgba(111,99,255,.72);
    background:linear-gradient(135deg,#6f63ff,#8d35ff);
    box-shadow:0 9px 24px rgba(111,75,220,.24),inset 0 1px 0 rgba(255,255,255,.24);
}
:root[data-theme="light"] .category-pill.is-active:hover{color:#fff;background:linear-gradient(135deg,#665aff,#982fff)}
:root[data-theme="light"] .choice-shop-option.is-active,
:root[data-theme="light"] .chat-rust-option.is-active{
    color:#fff;
    border-color:rgba(111,99,255,.76);
    background:linear-gradient(135deg,rgba(91,83,230,.95),rgba(139,53,223,.92));
    box-shadow:0 10px 25px rgba(105,68,196,.22),inset 0 1px 0 rgba(255,255,255,.18);
}
:root[data-theme="light"] .choice-shop-option.is-active span,
:root[data-theme="light"] .choice-shop-option.is-active .choice-price-stack span,
:root[data-theme="light"] .chat-rust-option.is-active small{color:rgba(255,255,255,.82)}
:root[data-theme="light"] .choice-shop-option.is-active strong{color:#fff}

:root[data-theme="light"] .button-primary,
:root[data-theme="light"] .mini-button.accent,
:root[data-theme="light"] .chat-open-button,
:root[data-theme="light"] .kit-open-button{
    color:#fff;
    border-color:rgba(111,99,255,.34);
    background:linear-gradient(135deg,#5f62f6 0%,#813fff 52%,#a92de4 100%);
    box-shadow:0 10px 25px rgba(96,64,204,.24),inset 0 1px 0 rgba(255,255,255,.22);
}
:root[data-theme="light"] .button-primary:hover,
:root[data-theme="light"] .mini-button.accent:hover,
:root[data-theme="light"] .chat-open-button:hover,
:root[data-theme="light"] .kit-open-button:hover{filter:brightness(1.04) saturate(1.08)}
:root[data-theme="light"] .mini-button:not(.accent),
:root[data-theme="light"] .button-quiet,
:root[data-theme="light"] .dialog-x{
    color:var(--cream-ink);
    border-color:rgba(91,74,54,.22);
    background:linear-gradient(145deg,rgba(255,253,249,.92),rgba(234,223,207,.78));
    box-shadow:0 5px 14px rgba(91,72,48,.08),inset 0 1px 0 rgba(255,255,255,.82);
}
:root[data-theme="light"] .mini-button:not(.accent):hover,
:root[data-theme="light"] .button-quiet:hover,
:root[data-theme="light"] .dialog-x:hover{border-color:rgba(111,99,255,.30);background:rgba(255,255,255,.94)}

:root[data-theme="light"] .product-purchase-panel{
    border-color:rgba(91,74,54,.16);
    background:linear-gradient(145deg,rgba(255,253,249,.77),rgba(241,231,216,.64));
    box-shadow:0 10px 30px rgba(91,72,48,.08),inset 0 1px 0 rgba(255,255,255,.76);
}
:root[data-theme="light"] .choice-shop-detail{
    border-color:rgba(91,74,54,.18);
    background:rgba(255,252,247,.76);
    box-shadow:0 7px 18px rgba(91,72,48,.07),inset 0 1px 0 rgba(255,255,255,.70);
}
:root[data-theme="light"] .bonus-rule-row{
    color:var(--cream-ink);
    border-color:rgba(117,88,175,.20);
    background:linear-gradient(135deg,rgba(247,241,255,.82),rgba(244,233,249,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
:root[data-theme="light"] .bonus-rule-row.is-lifetime{
    border-color:rgba(175,119,54,.18);
    background:linear-gradient(135deg,rgba(255,247,231,.86),rgba(244,232,244,.65));
}
:root[data-theme="light"] .bonus-rule-copy>span{color:#7655a8}
:root[data-theme="light"] .bonus-rule-reward>b{color:#6941a4}
:root[data-theme="light"] .bonus-rule-reward>em{color:#694b98;border-color:rgba(105,75,152,.20);background:rgba(126,83,190,.08)}

@media(max-width:820px){.account-module-grid{grid-template-columns:1fr}.shop-shell{margin-top:9px}}
@media(max-width:560px){.bonus-rule-row{grid-template-columns:1fr}.bonus-rule-reward{justify-items:start;text-align:left}.bonus-module-actions .button{width:100%}}

/* v4.12 — storefront polish: valid theme rules, clear active categories, promo cards, single logo */

/* The header already contains the store logo. Keep one brand mark and remove the duplicated catalog stage. */
.storefront-brand-stage { display:none !important; }

/* Active categories must be visually obvious in both themes. */
:root[data-theme="dark"] .category-pill.is-active {
    color:#fff;
    border-color:rgba(196,145,255,.92);
    background:linear-gradient(135deg,#625cff 0%,#813fff 52%,#b02add 100%);
    box-shadow:0 10px 28px rgba(108,67,230,.38),inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(151,100,255,.12);
    transform:translateX(3px);
}
:root[data-theme="dark"] .category-pill.is-active:hover {
    color:#fff;
    border-color:rgba(216,178,255,.96);
    background:linear-gradient(135deg,#7069ff 0%,#914cff 52%,#c13bea 100%);
}
:root[data-theme="light"] .category-pill.is-active {
    color:#fff;
    border-color:rgba(111,91,255,.90);
    background:linear-gradient(135deg,#625cff 0%,#813fff 52%,#aa2fe0 100%);
    box-shadow:0 10px 28px rgba(103,69,213,.30),inset 0 1px 0 rgba(255,255,255,.30);
    transform:translateX(3px);
}
:root[data-theme="light"] .category-pill.is-active:hover {
    color:#fff;
    border-color:rgba(104,83,245,.98);
    background:linear-gradient(135deg,#6c63ff 0%,#8c48ff 52%,#b53be8 100%);
}

/* Promo directory mirrors the bonus cards instead of looking like an unstyled list. */
.promo-directory {
    margin-top:18px;
    padding-top:0;
    border-top:0;
}
.promo-directory-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.promo-directory-head h3 { margin:0; font-size:1.05rem; }
.promo-directory-list { display:grid; gap:10px; }
.promo-directory-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:13px 14px;
    border:1px solid rgba(145,105,255,.24);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(91,100,255,.08),rgba(161,60,255,.06));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.promo-directory-code {
    min-width:0;
    display:grid;
    gap:3px;
}
.promo-directory-code > span:first-child {
    color:#a98cff;
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.promo-directory-code strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.88rem;
}
.promo-directory-code small {
    color:var(--muted);
    font-size:.61rem;
    line-height:1.35;
}
.promo-directory-reward {
    display:grid;
    justify-items:end;
    gap:2px;
    text-align:right;
}
.promo-directory-reward > span {
    color:var(--muted);
    font-size:.58rem;
    font-weight:800;
    text-transform:uppercase;
}
.promo-directory-reward > b {
    color:#cdb7ff;
    font-size:1rem;
    font-weight:900;
    white-space:nowrap;
}
.promo-directory-reward > em {
    padding:3px 7px;
    border:1px solid rgba(145,105,255,.24);
    border-radius:999px;
    color:#d7c7ff;
    background:rgba(145,105,255,.10);
    font-size:.54rem;
    font-style:normal;
    font-weight:800;
    white-space:nowrap;
}
.promo-directory-row.is-used { opacity:.64; }
.promo-directory-row.is-activated {
    border-color:rgba(125,93,245,.46);
    background:linear-gradient(135deg,rgba(91,100,255,.14),rgba(161,60,255,.10));
}

:root[data-theme="light"] .promo-directory-row {
    color:var(--cream-ink);
    border-color:rgba(117,88,175,.20);
    background:linear-gradient(135deg,rgba(247,241,255,.82),rgba(244,233,249,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
:root[data-theme="light"] .promo-directory-row.is-activated {
    border-color:rgba(108,74,188,.34);
    background:linear-gradient(135deg,rgba(239,233,255,.92),rgba(239,224,249,.78));
}
:root[data-theme="light"] .promo-directory-code > span:first-child { color:#7655a8; }
:root[data-theme="light"] .promo-directory-code small { color:var(--cream-muted); }
:root[data-theme="light"] .promo-directory-reward > span { color:#74695f; }
:root[data-theme="light"] .promo-directory-reward > b { color:#6941a4; }
:root[data-theme="light"] .promo-directory-reward > em {
    color:#694b98;
    border-color:rgba(105,75,152,.20);
    background:rgba(126,83,190,.08);
}

/* The old mobile rule hid the theme control together with other header elements. */
@media(max-width:860px) {
    .site-header .theme-toggle {
        display:grid !important;
        flex:0 0 36px;
        width:36px;
        height:36px;
        place-items:center;
        padding:0;
    }
}
@media(max-width:620px) {
    .header-actions { gap:6px; }
    .site-header .theme-toggle {
        flex-basis:34px;
        width:34px;
        height:34px;
        border-radius:10px;
    }
}
@media(max-width:560px) {
    .promo-directory-row { grid-template-columns:1fr; }
    .promo-directory-reward { justify-items:start; text-align:left; }
}

/* v5 — bounded promo/bonus directories with unobtrusive vertical scrolling */
.bonus-rule-list,
.promo-directory-list{
    max-height:344px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:4px;
    scrollbar-width:thin;
    scrollbar-color:rgba(158,122,255,.22) transparent;
}
.bonus-rule-list::-webkit-scrollbar,
.promo-directory-list::-webkit-scrollbar{width:5px}
.bonus-rule-list::-webkit-scrollbar-track,
.promo-directory-list::-webkit-scrollbar-track{background:transparent}
.bonus-rule-list::-webkit-scrollbar-thumb,
.promo-directory-list::-webkit-scrollbar-thumb{
    background:rgba(158,122,255,.18);
    border-radius:999px;
}
.bonus-rule-list:hover::-webkit-scrollbar-thumb,
.promo-directory-list:hover::-webkit-scrollbar-thumb{background:rgba(158,122,255,.34)}
:root[data-theme="light"] .bonus-rule-list,
:root[data-theme="light"] .promo-directory-list{
    scrollbar-color:rgba(103,73,155,.20) transparent;
}
:root[data-theme="light"] .bonus-rule-list::-webkit-scrollbar-thumb,
:root[data-theme="light"] .promo-directory-list::-webkit-scrollbar-thumb{background:rgba(103,73,155,.16)}
:root[data-theme="light"] .bonus-rule-list:hover::-webkit-scrollbar-thumb,
:root[data-theme="light"] .promo-directory-list:hover::-webkit-scrollbar-thumb{background:rgba(103,73,155,.30)}
@media(max-width:560px){
    .bonus-rule-list,.promo-directory-list{max-height:300px;padding-right:2px}
}

/* v7 — align storefront header to the catalog column and keep chat palette headers compact */
@media (min-width: 1321px) {
    /* The header follows the same left/right edges as the central catalog column,
       excluding the category rail and the monitoring/widget rail. */
    .site-header {
        width: min(1078px, calc(100% - 424px));
        transform: translateX(-51px);
    }
}
@media (min-width: 1081px) and (max-width: 1320px) {
    .site-header {
        width: calc(100% - 395px);
        transform: translateX(-45px);
    }
}

/* Grid items in the first chat row have equal outer height. Without align-content:start,
   CSS Grid stretches the short palette's heading and leaves a large empty block above its choices. */
.chat-palette-section {
    align-content: start;
    grid-auto-rows: max-content;
}
.chat-palette-section > div:first-child {
    min-height: 40px;
    align-content: start;
}

/* v4.13 — light-theme emphasis for premium presentation cards.
   Dark mode already distinguishes KIT and CHAT; light mode now keeps the same hierarchy. */
:root[data-theme="light"] .presentation-kit-card{
    border-color:rgba(111,83,214,.34)!important;
    background:linear-gradient(135deg,rgba(235,229,255,.94),rgba(248,239,255,.82))!important;
    box-shadow:0 10px 24px rgba(103,73,181,.12),inset 0 1px 0 rgba(255,255,255,.88)!important;
}
:root[data-theme="light"] .presentation-chat-card{
    border-color:rgba(126,79,211,.34)!important;
    background:linear-gradient(135deg,rgba(238,231,255,.94),rgba(249,238,254,.82))!important;
    box-shadow:0 10px 24px rgba(111,69,180,.12),inset 0 1px 0 rgba(255,255,255,.88)!important;
}
:root[data-theme="light"] .presentation-kit-card .presentation-card-kicker,
:root[data-theme="light"] .presentation-chat-card .presentation-card-kicker{color:#7650b5!important}
:root[data-theme="light"] .presentation-kit-card em{color:#6843a5;background:rgba(116,78,180,.10);border-color:rgba(116,78,180,.20)}


/* v11.1 — safe static storefront pages */
.static-page-head{margin-bottom:20px}
.static-page-body{
    display:grid;
    gap:14px;
    padding:20px 21px;
    border:1px solid var(--line);
    border-radius:18px;
    color:var(--muted);
    background:rgba(255,255,255,.025);
    font-size:.82rem;
    line-height:1.68;
    overflow-wrap:anywhere;
}
.static-page-body>*{max-width:100%}
.static-page-body h2,.static-page-body h3{margin:4px 0 0;color:var(--text);line-height:1.25}
.static-page-body h2{font-size:1.08rem}
.static-page-body h3{font-size:.96rem}
.static-page-body p,.static-page-body ul,.static-page-body ol,.static-page-body blockquote{margin:0}
.static-page-body ul,.static-page-body ol{padding-left:22px}
.static-page-body li+li{margin-top:5px}
.static-page-body a{color:#b98cff;font-weight:850;text-decoration:none;border-bottom:1px solid rgba(185,140,255,.34)}
.static-page-body a:hover,.static-page-body a:focus-visible{color:#d2b5ff;border-bottom-color:currentColor}
.static-page-body blockquote{
    padding:12px 14px;
    border-left:3px solid rgba(165,111,255,.66);
    border-radius:0 12px 12px 0;
    background:rgba(142,85,245,.07);
}
.static-page-body code{
    padding:2px 5px;
    border:1px solid var(--line);
    border-radius:6px;
    color:var(--text);
    background:rgba(255,255,255,.04);
}
:root[data-theme="light"] .footer-page-link{
    border-color:var(--cream-line);
    background:rgba(255,252,247,.42);
}
:root[data-theme="light"] .footer-page-link:hover,
:root[data-theme="light"] .footer-page-link:focus-visible{
    color:var(--cream-ink);
    border-color:rgba(112,78,179,.28);
    background:rgba(126,83,190,.07);
}
:root[data-theme="light"] .static-page-body{
    color:var(--cream-muted);
    border-color:var(--cream-line);
    background:rgba(255,252,247,.72);
}
:root[data-theme="light"] .static-page-body h2,
:root[data-theme="light"] .static-page-body h3{color:var(--cream-ink)}
:root[data-theme="light"] .static-page-body a{color:#7048ad;border-bottom-color:rgba(112,72,173,.28)}
:root[data-theme="light"] .static-page-body blockquote{background:rgba(126,83,190,.06)}
@media(max-width:700px){
    .footer-links{width:100%;justify-content:flex-start}
    .footer-page-link{min-height:34px}
    .static-page-body{padding:16px;border-radius:15px}
}

/* v14 — static pages live in the storefront header.
   Navigation is allowed to shrink inside the space left by account controls instead of
   pushing the header wider or disappearing when more page buttons are published. */
.site-header { container-type:inline-size; container-name:storefront-header; }
.header-row { min-width:0; }
.brand { flex:0 0 auto; }
.main-nav {
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    align-items:center;
    justify-content:flex-start;
    overflow:hidden;
    white-space:nowrap;
}
.main-nav a,
.main-nav .main-nav-link {
    display:inline-flex;
    flex:0 1 150px;
    min-width:58px;
    max-width:176px;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:border-radius .18s ease,padding .18s ease,flex-basis .18s ease,background .15s ease;
}
.main-nav .main-nav-page { flex-basis:126px; }
.header-actions { flex:0 0 auto; }

/* As the usable header width gets smaller the buttons become more pill-shaped and
   consume less horizontal space, while remaining grouped on the left. */
@container storefront-header (max-width:900px) {
    .main-nav { gap:6px; }
    .main-nav a,
    .main-nav .main-nav-link {
        flex-basis:118px;
        min-width:52px;
        padding-inline:12px;
        border-radius:18px;
        font-size:.76rem;
    }
    .main-nav .main-nav-page { flex-basis:102px; }
}
@container storefront-header (max-width:720px) {
    .header-row { gap:7px; }
    .main-nav { gap:5px; }
    .main-nav a,
    .main-nav .main-nav-link {
        flex-basis:96px;
        min-width:46px;
        padding-inline:9px;
        border-radius:999px;
        font-size:.72rem;
    }
    .main-nav .main-nav-page { flex-basis:82px; }
}
@container storefront-header (max-width:560px) {
    .main-nav { display:flex !important; gap:4px; }
    .main-nav a:first-child { display:inline-flex !important; }
    .main-nav a,
    .main-nav .main-nav-link {
        flex-basis:78px;
        min-width:42px;
        padding-inline:7px;
        border-radius:999px;
        font-size:.68rem;
    }
    .main-nav .main-nav-page { flex-basis:68px; }
}

/* Override the legacy mobile rules that used to hide the catalog navigation entirely. */
@media(max-width:620px) {
    .main-nav a:first-child { display:inline-flex !important; }
}
@media(max-width:420px) {
    .main-nav { display:flex !important; }
    .main-nav a,
    .main-nav .main-nav-link { min-width:38px; padding-inline:6px; }
}


/* v15 — keep the personal cabinet in the same visual width as the storefront header. */
.account-page{
    max-width:1100px;
}

/* v16 — the personal cabinet follows the same desktop column as the storefront header/catalog.
   v7 deliberately shifts the storefront header left to line up with the catalog column; keep
   the account shell on the exact same axis instead of leaving it centered in the viewport. */
@media (min-width:1321px) {
    .account-page {
        width:min(1078px, calc(100% - 424px));
        max-width:none;
        transform:translateX(-51px);
    }
}
@media (min-width:1081px) and (max-width:1320px) {
    .account-page {
        width:calc(100% - 395px);
        max-width:none;
        transform:translateX(-45px);
    }
}
@media (max-width:1080px) {
    .account-page {
        width:min(1100px, calc(100% - 42px));
        max-width:none;
        transform:none;
    }
}
@media (max-width:620px) {
    .account-page { width:calc(100% - 20px); }
}


/* v18.3 — Discord uses the same compact social-card language as VK/Telegram. */
.widget-discord .widget-copy{gap:8px}
.discord-widget-meta{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--muted);
    font-size:.64rem;
    line-height:1.25;
}
.discord-widget-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.discord-widget-meta>b{flex:0 0 auto;color:var(--text);font-size:.72rem;font-weight:900}

/* v18 — social/custom storefront widgets. */
.social-widget-head{
    min-width:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    align-items:center;
}
.social-widget-head>strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.77rem;
}
.social-widget-mark{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#fff;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.03em;
    box-shadow:0 8px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.18);
}
.social-widget-mark-vk{background:linear-gradient(135deg,#2787f5,#4f63ff)}
.social-widget-mark-telegram{background:linear-gradient(135deg,#28a9ea,#168bd1)}
.social-widget-mark-discord{background:#5865f2}
.social-widget-body{font-size:.68rem;line-height:1.4;color:var(--muted)}
.social-widget-body p:last-child{margin-bottom:0}
.social-widget-button{width:100%;margin-top:1px;color:#fff;border-color:transparent}
.social-widget-button-vk{background:linear-gradient(135deg,#2787f5,#5366ff)}
.social-widget-button-telegram{background:linear-gradient(135deg,#2aabee,#168bd1)}
.social-widget-button-discord{background:#5865f2}
.social-widget-button:hover{color:#fff;border-color:transparent;filter:brightness(1.06)}
.widget-custom .widget-copy{gap:7px}
.custom-widget-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.custom-widget-head>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem}
.custom-widget-head>span{flex:none;padding:3px 6px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.52rem;font-weight:850;letter-spacing:.04em}
.custom-widget-frame{
    width:100%;
    height:138px;
    display:block;
    border:0;
    border-radius:11px;
    background:rgba(0,0,0,.08);
}
:root[data-theme="light"] .custom-widget-frame{background:rgba(91,78,112,.055)}

/* v18.3 — on phones the storefront page navigation scrolls horizontally like categories. */
@media (max-width:860px) {
    .main-nav {
        display:flex !important;
        flex:1 1 auto;
        min-width:0;
        max-width:none;
        justify-content:flex-start;
        overflow-x:auto;
        overflow-y:hidden;
        white-space:nowrap;
        scrollbar-width:none;
        -ms-overflow-style:none;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
    }
    .main-nav::-webkit-scrollbar { display:none; }
    .main-nav a:first-child { display:inline-flex !important; }
    .main-nav a,
    .main-nav .main-nav-link,
    .main-nav .main-nav-page {
        flex:0 0 auto;
        width:auto;
        min-width:max-content;
        max-width:none;
        padding-inline:12px;
        overflow:visible;
        text-overflow:clip;
        white-space:nowrap;
    }
}
@media (max-width:620px) {
    .main-nav a,
    .main-nav .main-nav-link,
    .main-nav .main-nav-page {
        min-height:34px;
        padding:8px 11px;
        border-radius:999px;
        font-size:.7rem;
    }
}

:root[data-theme="light"] .wallet-email-input { border-color: var(--cream-line); background: rgba(255,252,247,.60); box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
:root[data-theme="light"] .wallet-email-input:focus-within { border-color: rgba(131,92,189,.42); background: rgba(255,252,247,.86); box-shadow: 0 0 0 3px rgba(126,90,255,.08); }
:root[data-theme="light"] .wallet-email-input input { color: var(--cream-ink); }
:root[data-theme="light"] .wallet-email-icon { color: #7655a8; border-color: var(--cream-line); }
