:root { --store-surface-bg:#1a1b1e; --store-accent-bg:#233540; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.store-checkout { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:18px; }
.store-checkout .store-cta { width:100%; }
.store-checkout .store-cta:disabled { cursor:not-allowed; opacity:.55; }
.store-checkout .store-muted { margin:0; font-size:13px; line-height:1.6; }
.store-feedback:empty { display:none; }
.faq-column details a { display:inline-block; margin:0 18px 16px; color:#80c9ed; text-decoration:underline; text-underline-offset:3px; }
.store-sidebar,.nav-actions.store-account { background:var(--store-surface-bg); }
.store-account .store-user,.store-account .store-cart { background:var(--store-surface-bg); }
.store-account .store-user:hover,.store-account .store-cart:hover { background:#25272c; }
.store-account .store-cart-icon { background:var(--store-accent-bg); color:#ceeafb; }
.store-dialog[data-store-view="cart"],.store-dialog[data-store-view="login"] { background:var(--store-surface-bg); border-color:#3c4149; }
.store-dialog[data-store-view="cart"] .store-modal-head,.store-dialog[data-store-view="login"] .store-modal-head { background:var(--store-surface-bg); border-color:#34383f; }
.store-dialog[data-store-view="cart"] .store-modal-body,.store-dialog[data-store-view="login"] .store-modal-body { background:var(--store-surface-bg); }
.store-dialog[data-store-view="login"] .store-form input { background:#151619; border-color:#424750; }
.store-card .store-info { display:flex; align-items:center; justify-content:center; width:100%; min-height:40px; margin:0 0 12px; padding:9px 7px; border:1px solid #35566f; border-radius:6px; background:#16394d; color:#e5f5ff; font:800 12px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
.store-card .store-info:hover { background:#204d65; border-color:#76c1df; }
.store-card .store-info:focus-visible { outline:2px solid #82d2f0; outline-offset:3px; }
.store-card--clickable { cursor:pointer; }
.store-card--clickable h3 { min-height:32px; margin:14px 0 8px; }
.store-card--clickable .price { font-size:18px; }
.rank-comparison { margin:20px 0 28px; border:1px solid #363a41; border-radius:9px; background:var(--store-surface-bg); }
.rank-comparison > summary { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; align-items:center; gap:12px; min-height:56px; padding:16px 20px; color:#eee; font-weight:800; cursor:pointer; list-style:none; text-align:center; }
.rank-comparison > summary::-webkit-details-marker { display:none; }
.comparison-title { grid-column:2; }
.comparison-chevron { grid-column:3; display:grid; place-items:center; width:24px; height:24px; transform-origin:center; transition:transform .2s; }
.comparison-chevron svg { display:block; width:18px; height:18px; }
.rank-comparison[open] .comparison-chevron { transform:rotate(180deg); }
.comparison-content { padding:0 18px 18px; }
.comparison-content > p { margin:0 0 14px; color:#b8cbd9; font-size:13px; line-height:1.6; }
.comparison-scroll { overflow:auto; border:1px solid #363a41; border-radius:6px; scrollbar-color:#555 var(--store-surface-bg); }
.comparison-table { width:100%; min-width:880px; border-collapse:separate; border-spacing:0; font-size:13px; }
.comparison-table th,.comparison-table td { padding:14px 12px; border-bottom:1px solid #34383f; background:var(--store-surface-bg); text-align:center; vertical-align:middle; }
.comparison-table thead th { background:var(--store-surface-bg); color:var(--rank-color,#eee); font-size:14px; }
.comparison-table tr > :first-child { position:sticky; left:0; z-index:1; width:220px; min-width:180px; text-align:center; background:var(--store-surface-bg); color:#ddd; box-shadow:1px 0 #363a41; }
.comparison-table thead tr > :first-child { z-index:2; background:var(--store-surface-bg); }
.comparison-table tbody tr:nth-child(even) td { background:var(--store-surface-bg); }
.comparison-table td { color:#e4edf5; min-width:120px; }
.compare-yes { color:#89d1b2; font-weight:700; }
.compare-no { color:#8397a7; }
.compare-swatches { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; max-width:110px; margin:auto; }
.compare-swatches i { width:12px; height:12px; border-radius:3px; border:1px solid #ffffff30; background:var(--swatch); }
.compare-color-count { display:block; margin-top:7px; color:#a9c4d7; font-size:11px; }
.compare-special-count { display:block; font-weight:800; color:#cfddf0; }
.compare-special-names { display:block; margin-top:7px; color:#a9c4d7; font-size:11px; line-height:1.6; }
.comparison-content .comparison-note { margin:14px 0 0; font-size:12px; }
.comparison-scroll-hint { display:none; }
.rank-preview { margin-top:24px; padding-top:20px; border-top:1px solid #29465c; }
.preview-heading h4 { margin:0 0 7px; color:#e7f3fc; font-size:17px; }
.preview-heading p { color:#a9bfce; font-size:12px; line-height:1.6; margin:0 0 16px; }
.preview-style-card,.preview-vault-card { padding:17px; border:1px solid #31516a; background:#102436; border-radius:8px; margin-top:12px; }
.rank-preview h5 { font-size:14px; margin:0 0 14px; color:#d6eafa; }
.preview-nametag { padding:18px 10px; border:1px solid #304553; border-radius:6px; background:linear-gradient(120deg,#142f32,#15232e); text-align:center; font:500 16px/1.6 ui-monospace,monospace; overflow-wrap:anywhere; }
.preview-chat { padding:14px 11px; background:#090f16; border:1px solid #263b4b; border-radius:6px; margin-top:10px; font:500 13px/1.8 ui-monospace,monospace; overflow-wrap:anywhere; }
.preview-separator { color:#6c7b89; }
/* Local Minecraft bitmap glyphs keep the rank tag pixel-shaped without a font download. */
.game-rank-tag { --game-font-scale:2px; display:inline-flex; align-items:center; vertical-align:middle; white-space:nowrap; gap:var(--game-font-scale); margin-right:3px; }
.game-rank-glyph { display:inline-block; flex:none; width:calc(var(--glyph-width) * var(--game-font-scale)); height:calc(8 * var(--game-font-scale)); background:currentColor; font-size:0; image-rendering:pixelated; mask-image:url('game-font/minecraft-ascii.png'); mask-size:calc(128 * var(--game-font-scale)) calc(128 * var(--game-font-scale)); mask-position:calc(var(--glyph-x) * var(--game-font-scale)) calc(var(--glyph-y) * var(--game-font-scale)); mask-repeat:no-repeat; }
.game-rank-glyph--bold { width:calc((var(--glyph-width) + 1) * var(--game-font-scale)); mask-image:url('game-font/minecraft-ascii.png'),url('game-font/minecraft-ascii.png'); mask-position:calc(var(--glyph-x) * var(--game-font-scale)) calc(var(--glyph-y) * var(--game-font-scale)),calc((var(--glyph-x) + 1) * var(--game-font-scale)) calc(var(--glyph-y) * var(--game-font-scale)); }
.preview-chat .game-rank-tag { --game-font-scale:2px; }
/* Use the exact transparent 3D lodestone supplied by the owner, not tiled CSS cube faces. */
.protection-stone { display:block; object-fit:contain; image-rendering:pixelated; }
.store-card[data-card-details="prote-15"],.store-card[data-card-details="prote-25"] { border-top:2px solid var(--product-color); }
.store-card .store-art:has(.protection-stone) { position:relative; isolation:isolate; }
.store-art:has(.protection-stone)::before { content:""; position:absolute; z-index:-1; inset:12% 6%; border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--product-color) 28%,transparent),transparent 68%); }
.store-art img.protection-stone { width:112px; height:112px; filter:drop-shadow(0 0 12px color-mix(in srgb,var(--product-color) 35%,transparent)); }
.store-card .protection-size { margin:0 0 15px; color:#d5e8f5; font-size:15px; font-weight:700; line-height:1.6; }
.store-card .protection-size small { display:block; color:#95acbf; font-size:12px; font-weight:400; }
.protection-detail-top img.protection-stone { width:96px; height:96px; padding:0; border-radius:0; background:none; filter:drop-shadow(0 0 13px color-mix(in srgb,var(--product-color) 35%,transparent)); flex-shrink:0; }
.protection-detail-top .protection-size { color:#bad5e9; font-size:14px; line-height:1.5; }
.protection-guide-link { display:inline-block; margin-top:8px; color:#88d3f5; font-weight:700; text-underline-offset:4px; }
.protection-delivery-note { margin-top:20px; padding:13px 15px; border:1px solid #385269; border-radius:6px; background:#102436; color:#adc4d6; font-size:12px; line-height:1.7; }
.preview-control { margin-top:16px; }
.preview-control > span { display:block; font-size:12px; color:#b5cddd; margin-bottom:9px; }
.preview-control > small { display:block; color:#91aabd; font-size:11px; margin:12px 0 8px; }
.preview-specials { display:flex; flex-wrap:wrap; gap:7px; }
.preview-specials button { display:flex; align-items:center; gap:7px; min-height:36px; max-width:100%; padding:8px 10px; border:1px solid #38536a; border-radius:6px; background:#142638; color:#d0e4f3; font:600 11px/1.5 Inter,system-ui,sans-serif; text-align:left; cursor:pointer; }
.preview-specials i { display:block; flex:none; width:18px; height:18px; border-radius:3px; border:1px solid #ffffff25; background:linear-gradient(120deg,var(--tone-from),var(--tone-to)); }
.preview-specials button[aria-pressed="true"] { border-color:#bdeaff; box-shadow:0 0 0 2px #76caeb45; }
.preview-specials button:focus-visible,.preview-swatches button:focus-visible { outline:2px solid #bdeaff; outline-offset:3px; }
.preview-swatches { display:flex; flex-wrap:wrap; gap:8px; }
.preview-swatches button { display:grid; place-items:center; width:36px; height:36px; background:#142638; border:1px solid #38536a; border-radius:6px; cursor:pointer; }
.preview-swatches button span { width:21px; height:21px; background:var(--swatch); border:1px solid #ffffff25; border-radius:3px; }
.preview-swatches button[aria-pressed="true"] { border-color:#bdeaff; box-shadow:0 0 0 2px #76caeb45; }
.preview-options { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.preview-options button,.preview-vault-tabs button { min-height:38px; padding:8px 11px; border:1px solid #35536a; border-radius:5px; background:#172d40; color:#b5cedf; font:700 12px Inter,system-ui,sans-serif; cursor:pointer; }
.preview-options button[aria-pressed="true"],.preview-vault-tabs button[aria-pressed="true"] { background:#284d66; color:#edf8ff; border-color:#75b5d2; }
.rank-preview .preview-restriction { color:#94adbf; font-size:12px; line-height:1.6; margin:12px 0 0; }
.unban-rules { margin-top:24px; padding:18px; border:1px solid #805648; border-radius:8px; background:#2a1e1a; }
.unban-rules h4 { margin:0 0 10px; color:#ffe1cb; }
.unban-rules p { margin:0; color:#f3d0be; font-size:14px; line-height:1.7; }
.preview-vault-heading { display:flex; justify-content:space-between; align-items:start; flex-wrap:wrap; gap:8px; }
.preview-vault-heading span { color:#93c9e1; font-size:12px; }
.preview-vault-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.preview-vault-name { font:700 12px ui-monospace,monospace; color:#d1e4f1; margin-bottom:8px; }
.preview-vault-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:3px; padding:9px; border:2px solid #64717c; border-radius:5px; background:#9a9da1; }
.preview-vault-grid span { aspect-ratio:1; background:#6c7177; border-top:2px solid #4e5359; border-left:2px solid #4e5359; border-right:2px solid #c2c5c8; border-bottom:2px solid #c2c5c8; }
.store-faq { margin-top:0; margin-bottom:80px; }
.store-faq > h2 { font-size:clamp(23px,3vw,32px); color:#e5f1f9; margin:0 0 10px; }
.store-faq > p { color:#9eb7c9; margin:0 0 24px; line-height:1.6; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
.faq-column { display:flex; flex-direction:column; gap:12px; min-width:0; }
.faq-grid details { border:1px solid #363a41; background:var(--store-surface-bg); border-radius:8px; }
.faq-grid summary { min-height:64px; padding:19px 20px; color:#dbeaf4; font-weight:700; font-size:14px; line-height:1.6; cursor:pointer; }
.faq-grid details > p { padding:0 20px 20px; color:#abc1d0; font-size:14px; line-height:1.7; }
.rank-comparison summary:focus-visible,.comparison-scroll:focus-visible,.rank-preview button:focus-visible,.faq-grid summary:focus-visible { outline:2px solid #82d2f0; outline-offset:4px; }
@media(max-width:1100px) { .comparison-scroll-hint { display:block; } }
@media(max-width:700px) { .faq-grid { grid-template-columns:1fr; } .comparison-table tr > :first-child { min-width:142px; width:142px; font-size:12px; } .comparison-content { padding:0 10px 14px; } }
@media(max-width:480px) { .store-art img.protection-stone { width:76px; height:76px; } .store-card--clickable .price { font-size:15px; } .preview-style-card,.preview-vault-card { padding:12px; } .preview-nametag { font-size:14px; } .preview-chat { font-size:12px; } .preview-vault-grid { gap:2px; padding:5px; } .preview-vault-grid span { border-width:1px; } .rank-comparison > summary { padding:13px; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .comparison-chevron { transition:none; } }

/* Owner's final visual revision, 2026-10-04: no helmet halo, charcoal VIP dialogs. */
.store-card[data-card-details^="rank-"] .store-art { background:transparent; }
.store-card[data-card-details^="rank-"] .store-art::before,
.store-card[data-card-details^="rank-"] .store-art::after { content:none; }
.store-dialog:has(.rank-detail-top),
.store-dialog:has(.rank-detail-top) .store-modal-head,
.store-dialog:has(.rank-detail-top) .store-modal-body { background:var(--store-surface-bg); border-color:#383a40; }
.store-dialog:has(.rank-detail-top) .store-detail-section,
.store-dialog:has(.rank-detail-top) .rank-preview { border-color:#383a40; }
.store-dialog:has(.rank-detail-top) :is(.preview-style-card,.preview-vault-card,.rank-future-note) { background:#151618; border-color:#383a40; }
.store-dialog:has(.rank-detail-top) .rank-benefits li { background:#202124; border-color:#393b40; color:#e5e5e7; }
.store-dialog:has(.rank-detail-top) :is(.preview-nametag,.preview-chat) { background:#0d0e10; border-color:#313338; }
.store-dialog:has(.rank-detail-top) :is(.preview-specials button,.preview-swatches button,.preview-options button,.preview-vault-tabs button,.store-cta,.store-close) { background:#25262a; border:1px solid #484a50; color:#ededee; }
.store-dialog:has(.rank-detail-top) :is(.preview-specials button,.preview-swatches button,.preview-options button,.preview-vault-tabs button)[aria-pressed="true"] { background:#35373c; border-color:#9c9ea6; box-shadow:0 0 0 1px #9c9ea640; }
.store-dialog:has(.rank-detail-top) :is(.store-cta,.store-close,.preview-specials button,.preview-options button,.preview-vault-tabs button):hover { background:#383a3f; border-color:#a6a8b0; }
.store-dialog:has(.rank-detail-top) :is(h4,h5,.preview-vault-name) { color:#e7e7ea; }
.store-dialog:has(.rank-detail-top) :is(.preview-heading p,.preview-control > span,.preview-control > small,.preview-vault-heading span,.preview-restriction,.store-detail-section p,.rank-future-note p) { color:#b8b8bf; }
.preview-vault-grid { background:#24262a; border-color:#44474c; box-shadow:inset 1px 1px #5b5e64,inset -1px -1px #101113; }
.preview-vault-grid span { background:#17191c; border-top-color:#08090b; border-left-color:#08090b; border-right-color:#3d4045; border-bottom-color:#3d4045; }
.game-text,.game-rank-tag { --game-font-scale:2px; display:inline-flex; align-items:center; vertical-align:middle; white-space:pre; gap:var(--game-font-scale); }
.game-text { margin:0; }
.game-glyph-space { background:transparent; mask-image:none; }
.game-glyph-fallback { font:16px/1 ui-monospace,monospace; }
.preview-chat { line-height:2; }
.preview-rank-slot,.preview-name,.preview-message { display:inline; }
.preview-config-note { padding:10px 12px; border:1px solid #3f4147; border-radius:5px; background:#202124; }
.preview-playback { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:8px; }
.preview-playback h5 { margin:0; }
.preview-playback button { padding:8px 12px; min-height:38px; border:1px solid #484a50; border-radius:5px; background:#25262a; color:#ededee; font:600 12px Inter,system-ui,sans-serif; cursor:pointer; }
.preview-playback button:hover { background:#383a3f; }
.preview-motion-status { color:#b8b8bf; font-size:11px; margin:0 0 12px; }
/* Checkout availability shares the existing dark storefront palette. */
.store-payment-status {padding:12px 14px;border:1px solid #30363e;border-radius:8px;background:#101215;color:#d5dee7;font-size:14px;line-height:1.5;}
.store-checkout .protection-guide-link[type="button"] {display:block;background:transparent;border:0;padding:0;cursor:pointer;font:inherit;margin:12px 0;}
.store-cta:disabled {opacity:.55;cursor:not-allowed;}
.store-avatar {image-rendering:pixelated;}
.store-avatar {position:relative;overflow:hidden;}
.store-avatar-image {display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;}
.store-avatar-image[hidden] {display:none;}
.store-avatar[data-avatar-state="ready"] {background-image:none;}
.store-dialog[data-store-view="cart"] {max-width:540px;}
.cart-recipient {display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #35373e;border-radius:8px;background:#141518;margin-bottom:20px;}
.cart-recipient .store-cart-avatar {display:block;width:34px;height:34px;}
.cart-recipient > div {display:flex;flex-direction:column;gap:5px;min-width:0;}
.cart-recipient small {color:#aeb0ba;font-size:12px;}
.cart-recipient strong {color:#f3f3f5;font-size:15px;overflow-wrap:anywhere;}
.cart-change-name {margin-left:auto;flex:none;}
.cart-change-name,.cart-text-button {border:0;background:none;color:#bcd5e5;font:600 12px/1.5 Inter,system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:8px 0;}
.cart-items {display:flex;flex-direction:column;gap:10px;}
.cart-items .store-cart-row {display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #36383f;}
.cart-product-art {display:grid;place-items:center;flex:none;width:48px;height:48px;}
.cart-product-art .pixel-item,.cart-product-art .leather-helmet {width:42px;height:42px;}
.cart-product-art .pixel-item {display:block;object-fit:contain;image-rendering:pixelated;}
.cart-product-art .leather-helmet img {position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated;}
.cart-product-art .leather-helmet .helmet-base {filter:sepia(1) saturate(3.3) hue-rotate(-14deg) brightness(.69);}
.cart-product-art .leather-helmet .helmet-overlay {filter:sepia(1) saturate(3.5) hue-rotate(-17deg) brightness(.63);}
.cart-product-copy {flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;}
.cart-product-copy strong {font-size:14px;color:#eeeeef;overflow-wrap:anywhere;}
.cart-product-copy small {font-size:12px;color:#b0b1bc;line-height:1.5;}
.cart-product-price {display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none;}
.cart-product-price strong {font-size:15px;color:#fff;}
.cart-product-price button {border:0;background:none;padding:2px 0;color:#babcc6;font:500 12px Inter,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.cart-summary {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 10px;color:#d6d7df;}
.cart-summary strong {font-size:24px;color:#fff;}
.cart-tax-note,.cart-secure-note {font-size:11px;line-height:1.6;color:#aeb0ba;margin:0;}
.store-checkout .store-payment-status {margin:0;padding:12px;border:1px solid #40434c;border-radius:6px;background:#121316;color:#d7d8de;font-size:13px;line-height:1.6;width:100%;}
.store-payment-status:empty {display:none;}
.store-checkout .cart-secure-note {align-self:center;text-align:center;}
.store-dialog[data-store-view="cart"] .store-cta {background:#30333b;border:1px solid #686c79;color:#fff;min-height:48px;}
.store-dialog[data-store-view="cart"] .store-cta:hover:not(:disabled) {background:#424651;}
.cart-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #34363e;}
.cart-footer a {color:#bcd5e5;font-size:12px;text-decoration:underline;text-underline-offset:3px;}
.cart-empty {padding:18px 0;text-align:center;color:#c1c2cc;}
.cart-empty .store-cta {width:100%;margin-top:12px;}
.store-dialog button:focus-visible {outline:2px solid #bfdbed;outline-offset:3px;}
.store-dialog button:disabled {cursor:not-allowed;opacity:.55;}
@media(max-width:480px) {
  .cart-recipient {padding:11px;gap:9px;flex-wrap:wrap;}
  .cart-change-name {font-size:11px;}
  .cart-product-art {width:38px;}
  .cart-product-art .pixel-item,.cart-product-art .leather-helmet {width:34px;height:34px;}
  .cart-product-copy strong {font-size:12px;}
  .cart-product-price strong {font-size:13px;}
}
