* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #c6c6c6;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
}
a { color: #0645ad; text-decoration: underline; }
a:visited { color: #551a8b; }
a:hover { color: #f00; background: #ff0; }
button, input { font: inherit; }
img { max-width: 100%; }

.page-shell {
  width: 980px;
  margin: 8px auto 24px;
  background: #fff;
  border: 2px outset #efefef;
  box-shadow: 0 0 0 1px #666;
}
.right { float: right; font-weight: normal; }
.site-header { background: #fff; border-bottom: 1px solid #999; }
.header-table { width: 100%; min-height: 86px; }
.header-table td { vertical-align: middle; }
.logo-cell { width: 63%; padding: 7px 10px; display: flex; align-items: center; gap: 9px; }
.logo-mark {
  width: 52px; height: 52px; border: 2px solid #111; border-radius: 50%;
  display: grid; place-items: center; font-family: "Times New Roman", serif;
  font-size: 40px; line-height: 1; font-weight: bold; background: #eee;
}
.www { color: #006b36; font-size: 12px; font-weight: bold; display: inline; }
.logo { color: #006b36; display: inline; font-family: "Times New Roman", serif; font-size: 29px; font-weight: bold; letter-spacing: -1px; }
.tagline { margin-left: 34px; margin-top: -3px; font-size: 11px; color: #555; }
.header-promo { width: 21%; text-align: center; border-left: 1px dotted #888; border-right: 1px dotted #888; font-size: 11px; }
.cart-head { width: 16%; padding: 5px; text-align: center; }
.red { color: #c00; }
.green { color: #06720c; }

.main-nav {
  padding: 3px 7px;
  background: #d6e9ff;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #5e88b5;
  white-space: nowrap;
}
.main-nav a { margin-right: 13px; font-weight: bold; }
.button-link { text-decoration: none; display: inline-block; }
.tiny-cart { padding: 1px 4px; border: 1px outset #fff; background: #eee; color: #111; }
.ticker {
  display: block;
  height: 20px;
  line-height: 20px;
  border-bottom: 1px solid #aaa;
  color: #0a5f32;
  background: #fff;
  font-weight: bold;
}

.content-grid {
  display: grid;
  grid-template-columns: 126px 1fr 148px;
  gap: 4px;
  padding: 4px;
  align-items: stretch;
}
.left-rail, .right-rail {
  min-height: 510px;
  border: 1px solid #aaa;
  background: #f8f8f8;
  padding: 4px;
}
.left-rail a, .right-rail a { display: block; margin: 4px 0; }
.rail-title {
  background: #b7e1ff;
  border: 1px solid #6594b2;
  padding: 2px 3px;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
}
.yellow { background: #fffb67; border-color: #c8a800; }
.small { font-size: 10px; }

.catalog-wrap { border: 1px solid #aaa; background: #fff; min-width: 0; }
.catalog-heading {
  min-height: 28px;
  display: flex;
  align-items: center;
  gap: 7px;
  background: #eff9ff;
  border-bottom: 1px solid #aaa;
  padding: 3px 5px;
}
.new-badge { background: #ffe000; color: #c00; border: 1px solid #f00; padding: 2px 5px; font-size: 13px; font-weight: bold; }
.api-mode { margin-left: auto; padding: 1px 4px; border: 1px solid #999; background: #eee; font-family: "Courier New", monospace; font-size: 9px; white-space: nowrap; }

.category-section { border-bottom: 4px double #777; }
.category-section:last-child { border-bottom: 0; }
.category-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  padding: 3px 5px;
  background: #efefef;
  border-bottom: 1px solid #9d9d9d;
  font-family: "Times New Roman", serif;
  font-size: 10px;
}
.category-heading a { margin-left: 0; }
.category-heading .category-count { margin-left: auto; font-family: Arial, Helvetica, sans-serif; font-size: 9px; color: #555; }
.category-label {
  padding: 2px 5px;
  border: 2px outset #ddd;
  background: #d6e9ff;
  color: #003b70;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: bold;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #bbb;
  gap: 1px;
}
.product {
  min-height: 231px;
  padding: 4px;
  background: #fff;
  position: relative;
}
.product.collection-dream-worlds .product-title { color: #005596; }
.product.collection-masks-symbols .product-title { color: #8b004f; }
body[data-collection="dream-worlds"] .detail-buy-box h1 { color: #005596; }
body[data-collection="masks-symbols"] .detail-buy-box h1 { color: #8b004f; }
.product.collection-occult .product-title, body[data-collection="occult"] .detail-buy-box h1 { color: #681b73; }
.product-kicker {
  position: absolute; top: 4px; right: 4px;
  background: #fff25a; color: #d00; border: 1px solid #d00;
  font-size: 9px; font-weight: bold; padding: 1px 3px; z-index: 2;
}
.product-image-link { display: block; border: 1px solid #777; margin-bottom: 3px; background: #e5e5e5; }
.product-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.product-title { font-size: 12px; font-weight: bold; text-decoration: underline; line-height: 1.1; }
.product-desc { min-height: 27px; margin: 2px 0; font-family: "Times New Roman", serif; font-size: 11px; line-height: 1.05; }
.product-price { color: #d10b00; font-weight: bold; font-size: 12px; }
.product-stock { font-size: 9px; color: #047100; }
.product-stock.out { color: #a00; }
.product-actions { margin-top: 3px; display: flex; gap: 3px; align-items: center; flex-wrap: wrap; }
.added-note { position: absolute; left: 4px; right: 4px; bottom: 3px; padding: 2px; background: #00a600; color: #fff; text-align: center; font-weight: bold; border: 1px solid #004c00; }
.retro-button {
  border: 2px outset #ddd;
  background: #e6e6e6;
  padding: 2px 7px;
  font-weight: bold;
  cursor: pointer;
  color: #111;
}
.retro-button:active { border-style: inset; }
.retro-button[disabled] { color: #888; cursor: not-allowed; }
.buy-button { background: #fff980; }
.view-link { font-size: 10px; }

.shop-rail { background: #fffef0; }
.ad-slot { border: 2px ridge #aaa; padding: 3px; background: #fff; text-align: center; }
.ad-image-link { display: block !important; margin: 0 !important; }
.ad-image { width: 100%; object-fit: cover; border: 1px solid #555; display: block; }
.ad-image-vertical { height: 188px; }
.ad-copy { margin-top: 4px; padding: 3px 2px; background: #ffffc5; border: 1px dotted #777; font-family: "Times New Roman", serif; font-size: 11px; line-height: 1.15; }

.info-box { margin: 4px; padding: 6px; border: 1px dashed #777; background: #ffffdb; font-family: "Times New Roman", serif; }
footer { border-top: 2px groove #ddd; padding: 8px; text-align: center; background: #f3f3f3; }

/* Product detail page */
.detail-layout { grid-template-columns: 126px 1fr 148px; }
.product-detail-wrap { min-height: 620px; }
.product-detail { padding: 5px; }
.detail-intro { display: grid; grid-template-columns: 58% 42%; gap: 5px; align-items: stretch; }
.detail-main-image-wrap { padding: 0; border: 3px ridge #bbb; background: transparent; }
.detail-main-image { display: block; width: 100%; height: auto; object-fit: contain; background: transparent; }
.detail-buy-box { min-height: 410px; height: 100%; display: flex; flex-direction: column; border: 2px inset #ddd; background: #f7f7f7; padding: 7px; }
.detail-buy-box h1 { margin: 5px 0 3px; font-family: "Times New Roman", serif; font-size: 25px; color: #005596; text-decoration: underline; }
.detail-category { background: #d6e9ff; border: 1px solid #80a5c6; padding: 3px; font-size: 10px; }
.detail-code { font-family: "Courier New", monospace; font-size: 10px; color: #555; margin-bottom: 8px; }
.spec-table { width: 100%; border: 1px solid #777; background: #fff; margin: 8px 0; font-size: 10px; }
.spec-table td { border-bottom: 1px dotted #aaa; }
.spec-table td:first-child { width: 42%; background: #efefef; font-weight: bold; }
.big-buy { width: 100%; padding: 6px 4px; font-size: 12px; }
.added-confirm { margin-top: 5px; padding: 4px; background: #008000; color: #fff; border: 2px inset #ddd; text-align: center; font-size: 10px; font-weight: bold; }
.room-preview-block { margin-bottom: 8px; border: 1px solid #888; background: #efefef; padding: 4px; }
.room-label { margin-bottom: 4px; font-size: 10px; }
.room-scene {
  position: relative;
  height: 335px;
  overflow: hidden;
  border: 4px ridge #aaa;
  box-shadow: inset 0 0 0 1px #333;
}
.room-art-echo {
  position: absolute;
  inset: 0;
  background-image: var(--artwork);
  background-size: cover;
  background-position: center;
  opacity: .14;
  filter: saturate(.7) contrast(1.2);
  mix-blend-mode: multiply;
}
.room-scene.room-one {
  background:
    linear-gradient(to bottom, #c9bd9f 0 66%, #6e563e 66% 69%, #7f654a 69% 100%);
}
.room-scene.room-two {
  background:
    linear-gradient(to right, transparent 0 71%, rgba(0,0,0,.08) 71% 72%, transparent 72%),
    linear-gradient(to bottom, #d8d8cf 0 62%, #999 62% 64%, #b7a48a 64% 100%);
}
.room-window {
  position: absolute;
  right: 6%;
  top: 10%;
  width: 25%;
  height: 39%;
  border: 8px solid #ece9df;
  background: #7eb7d4;
  box-shadow: 3px 3px 0 rgba(0,0,0,.2);
}
.room-window::before, .room-window::after { content: ''; position: absolute; background: #ece9df; }
.room-window::before { width: 4px; top: 0; bottom: 0; left: 50%; }
.room-window::after { height: 4px; left: 0; right: 0; top: 50%; }
.room-two .room-window { left: 5%; right: auto; width: 31%; height: 44%; background: #99b8a3; }
.room-poster-frame {
  position: absolute;
  left: 16%;
  top: 8%;
  width: 35%;
  height: 54%;
  padding: 9px;
  background: #eee7d9;
  border: 7px solid #3b2d24;
  box-shadow: 5px 6px 0 rgba(0,0,0,.25);
}
.room-poster-frame img { width: 100%; height: 100%; object-fit: cover; display: block; border: 1px solid #111; }
.room-two .room-poster-frame { left: 48%; top: 9%; width: 31%; height: 50%; border-color: #111; background: #fff; }
.room-furniture {
  position: absolute;
  left: 8%;
  bottom: 7%;
  width: 58%;
  height: 23%;
  background: #4b5942;
  border: 3px solid #293023;
  box-shadow: 6px 5px 0 rgba(0,0,0,.24);
}
.room-furniture::before, .room-furniture::after { content: ''; position: absolute; width: 18%; height: 70%; top: -30%; background: #59694f; border: 2px solid #293023; }
.room-furniture::before { left: 4%; }
.room-furniture::after { right: 4%; }
.room-two .room-furniture { left: 12%; width: 31%; height: 17%; background: #7c695b; border-color: #4f4037; }
.room-object {
  position: absolute;
  right: 11%;
  bottom: 4%;
  width: 13%;
  height: 26%;
  background: #315f2e;
  border-radius: 50% 50% 12% 12%;
  box-shadow: 0 0 0 5px #6b4f32 inset;
}
.room-two .room-object { right: 8%; bottom: 8%; width: 12%; height: 18%; background: #404040; }
.detail-footnote { padding: 5px; border: 1px dashed #777; background: #ffffdb; font-family: "Times New Roman", serif; }

/* Cart page */
.cart-layout { grid-template-columns: 126px 1fr 148px; }
.cart-page-wrap { min-height: 520px; }
.cart-page-body { padding: 6px; }
.empty-cart-box { margin: 18px auto; width: 75%; padding: 24px; border: 3px inset #ddd; background: #ffffdc; text-align: center; }
.cart-product-table { width: 100%; border: 1px solid #777; border-collapse: collapse; background: #fff; }
.cart-product-table th { background: #d6e9ff; border: 1px solid #777; font-size: 10px; text-align: left; }
.cart-product-table td { border: 1px solid #aaa; vertical-align: middle; }
.cart-thumb { width: 70px; height: 60px; object-fit: cover; border: 1px solid #555; display: block; }
.cart-qty { width: 48px; }
.cart-remove { padding: 1px 6px; }
.cart-checkout-box { margin-top: 8px; padding: 8px; border: 3px ridge #aaa; background: #efefef; text-align: right; }
.cart-summary-table { margin-left: auto; min-width: 210px; border: 1px solid #777; background: #fff; }
.cart-summary-table td { border-bottom: 1px dotted #aaa; }
.cart-summary-table td:last-child { text-align: right; }
.checkout-big { margin-top: 7px; padding: 6px 12px; }
.cart-message { min-height: 18px; margin-top: 6px; color: #c00; font-weight: bold; font-size: 10px; }


/* Late-1990s catalog / department additions */
.search-box, .quick-order { margin-top: 4px; }
.search-box label, .quick-order label { display: block; margin-bottom: 2px; font-size: 10px; }
.search-box input { width: 100%; padding: 2px; border: 2px inset #ddd; background: #fff; }
.search-buttons { display: flex; gap: 2px; margin-top: 3px; }
.search-buttons .retro-button { padding: 1px 4px; font-size: 9px; }
.search-status { min-height: 24px; margin-top: 3px; color: #555; }
.quick-order input { width: 48px; margin: 2px 0 3px; border: 2px inset #ddd; }
.quick-order .retro-button { display: block; padding: 1px 4px; font-size: 9px; }

.collection-directory { border-bottom: 3px double #777; background: #f7f7f7; }
.directory-title { padding: 5px; background: #fffbd2; border-bottom: 1px solid #999; font-family: "Times New Roman", serif; }
.collection-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 4px; }
.collection-card {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 5px;
  min-height: 105px;
  padding: 4px;
  color: #111 !important;
  text-decoration: none;
  border: 2px outset #ddd;
  background: #fff;
}
.collection-card:hover { background: #ffffc8; color: #111; }
.collection-thumb-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: #777; border: 1px solid #555; align-self: stretch; }
.collection-thumb-strip img { width: 100%; height: 45px; object-fit: cover; display: block; }
.collection-card-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.collection-card-copy > b { font-family: "Times New Roman", serif; font-size: 16px; color: #005596; text-decoration: underline; }
.collection-card-copy small { font-family: "Times New Roman", serif; line-height: 1.05; }
.collection-count { width: fit-content; padding: 1px 3px; background: #fffb67; border: 1px solid #c8a800; font-size: 9px; font-weight: bold; }
.collection-card-copy u { margin-top: auto; color: #0645ad; font-size: 9px; font-weight: bold; }
.upcoming-collection-card { color:#343943; background:#ecece8; border:2px outset #b9bec0; cursor:default; }
.upcoming-collection-card:hover { color:#343943; background:#ecece8; }
.upcoming-collection-card .collection-card-copy { justify-content:center; gap:8px; }
.upcoming-collection-card .collection-card-copy > b { color:#263849; text-decoration:none; font-size:14px; letter-spacing:.02em; }
.upcoming-preview { display:block; align-self:stretch; min-width:0; padding:5px; border:1px solid #696d73; background:#929aa0; }
.sealed-foil { position:relative; display:block; min-height:184px; height:100%; overflow:hidden; border:1px solid #212a31; background:repeating-linear-gradient(104deg,transparent 0 3px,rgba(255,255,255,.04) 3px 4px),linear-gradient(125deg,#2d3542,#87999c 19%,#293745 35%,#657877 51%,#182a34 69%,#a1a6a0 83%,#303640); box-shadow:inset 0 0 0 3px rgba(221,231,225,.2),inset 0 0 21px #15202b; }
.sealed-foil::before,.sealed-foil::after { content:''; position:absolute; z-index:3; left:0; right:0; height:12px; background:repeating-linear-gradient(90deg,#42515c 0 3px,#aab6b3 3px 5px,#3c4751 5px 8px); border-block:1px solid #d6d9ca; box-shadow:0 2px 4px #17212a; }
.sealed-foil::before { top:0; }
.sealed-foil::after { bottom:0; transform:rotate(180deg); }
.sealed-foil-window { position:absolute; inset:24px 12px 26px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:2px inset #a4b7b3; background:radial-gradient(ellipse at 50% 42%,#526a72 0,#22313d 45%,#0d1620 77%); box-shadow:inset 0 0 24px #070c11,0 0 0 3px rgba(12,24,32,.36); color:#c2d8d7; }
.sealed-foil-window::after { content:''; position:absolute; inset:-50%; background:linear-gradient(115deg,transparent 43%,rgba(223,246,233,.12) 49%,transparent 55%); animation:foil-glint 9s linear infinite; pointer-events:none; }
.sealed-foil-symbol { font:normal 62px/1 'Times New Roman',serif; color:#a5b6b2; text-shadow:2px 2px #07111d,-2px -2px #b8c6bc; opacity:.75; }
.sealed-foil-caption { margin-top:5px; font:7px 'Courier New',monospace; letter-spacing:.05em; }
.sealed-foil-band { position:absolute; z-index:4; left:-8%; right:-8%; top:48%; padding:4px 0; transform:rotate(-11deg); border-block:1px solid #a2a9a5; background:rgba(26,36,44,.88); color:#cdd6cc; text-align:center; font:bold 8px 'Courier New',monospace; letter-spacing:.08em; box-shadow:0 2px 5px #0a1117; }
@keyframes foil-glint { from { transform:translateX(-35%); } to { transform:translateX(35%); } }
@media (prefers-reduced-motion: reduce) { .sealed-foil-window::after { animation:none; } }
.upcoming-collection-card .release-date { display:inline-block; width:fit-content; padding:3px 5px; color:#3b3020; background:#fff36b; border:1px solid #b49d31; font:bold 14px 'Courier New',monospace; }
.upcoming-file-label { margin-top:auto; border-top:1px dotted #8d9698; padding-top:4px; color:#46535a; font:bold 9px 'Courier New',monospace; }
.collection-name-setup { color:#8b3600; font:8px 'Courier New',monospace !important; }
.catalog-notice { padding: 4px 5px; background: #e9f5ff; border-bottom: 1px dotted #888; font-family: "Times New Roman", serif; font-size: 10px; }
.category-description { padding: 3px 5px; background: #ffffe9; border-bottom: 1px dotted #aaa; font-family: "Times New Roman", serif; font-size: 10px; }
.category-footer { min-height: 38px; padding: 7px 8px; border-top: 1px solid #999; background: #d2d2d2; text-align: right; font-size: 9px; }
.full-collection-button { display: inline-block; padding: 4px 10px; border: 2px outset #eee; background: #f4f4f4; color: #003b70 !important; font-weight: bold; text-decoration: none; }
.full-collection-button:active { border-style: inset; }
.search-empty-section { display: none; }

/* Advertising rail: one portrait unit plus stacked landscape banners. */
.ad-slot-vertical { margin-bottom: 4px; }
.ad-stack-title { margin: 5px 0 2px; padding: 2px; background: #d6e9ff; border: 1px solid #6594b2; text-align: center; font-size: 9px; font-weight: bold; }
.ad-banner {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 2px;
  color: #111 !important;
  text-decoration: none;
  border: 2px outset #ddd;
  background: #fff;
}
.ad-banner:hover { background: #ffff9c; color: #111; }
.ad-banner img { display: block; width: 100%; height: 55px; object-fit: cover; border: 1px solid #444; }
.ad-banner > span { display: block; padding: 2px 1px 0; font-family: "Times New Roman", serif; font-size: 9px; line-height: 1.05; text-align: center; }
.ad-service-box { padding: 5px 2px; border: 1px dashed #777; background: #efefef; text-align: center; font-size: 9px; }

.web-badges { margin: 4px; padding: 4px; border: 1px solid #aaa; background: #ddd; display: flex; align-items: center; gap: 4px; }
.web-badge { width: 78px; min-height: 31px; padding: 2px; border: 2px outset #eee; background: #111; color: #fff; font-family: "Courier New", monospace; font-size: 8px; line-height: 1.05; text-align: center; }
.web-badge b { color: #00ff6a; font-size: 10px; }
.badge-note { margin-left: 4px; font-size: 9px; color: #555; }

.breadcrumb-row { margin: 4px; padding: 3px 5px; border: 1px solid #aaa; background: #efefef; font-size: 10px; }
.related-box { margin-top: 8px; border: 2px ridge #aaa; background: #fff; }
.related-heading { padding: 3px 5px; background: #d6e9ff; border-bottom: 1px solid #777; font-weight: bold; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #aaa; gap: 1px; }
.related-item { padding: 4px; background: #fff; min-width: 0; }
.related-item img { width: 100%; height: 92px; object-fit: cover; border: 1px solid #555; display: block; margin-bottom: 3px; }
.related-item a { font-size: 10px; font-weight: bold; }
.related-item .related-price { color: #c00; font-size: 9px; }
.product-tools { margin: auto 0 6px; padding: 4px; border: 1px dotted #777; background: #ffffdb; font-size: 9px; }
.product-tools a, .product-tools button { margin-right: 6px; }
.text-button { border: 0; padding: 0; background: transparent; color: #0645ad; text-decoration: underline; cursor: pointer; font-size: 9px; }
.recent-box { margin-top: 7px; padding: 4px; border: 1px solid #aaa; background: #f4f4f4; font-size: 9px; }
.recent-box a { display: inline !important; margin: 0 !important; }

.room-poster-frame { width: 44%; height: 37%; }
.room-poster-frame img { object-fit: contain; background: #111; }
.room-two .room-poster-frame { width: 39%; height: 34%; }
.related-item img { height: auto; aspect-ratio: auto; object-fit: contain; }
.cart-thumb { height: auto; object-fit: contain; }

@media (max-width: 900px) {
  .page-shell { width: 98%; min-width: 760px; }
}
@media (max-width: 800px) {
  body { overflow-x: auto; }
  .page-shell { width: 760px; margin-left: 0; }
  .content-grid, .detail-layout, .cart-layout { grid-template-columns: 112px 1fr 130px; }
  .detail-intro { grid-template-columns: 1fr; }
}

/* Reusable product-details pop-up */
.product-dialog {
  width: min(640px, calc(100vw - 32px));
  padding: 0;
  border: 3px outset #eee;
  background: #d4d0c8;
  color: #111;
  box-shadow: 8px 8px 0 rgba(0,0,0,.38);
}
.product-dialog::backdrop { background: rgba(0, 0, 0, .58); }
.dialog-titlebar { display: flex; justify-content: space-between; align-items: center; padding: 3px 4px 3px 7px; background: #003d8f; color: #fff; font-size: 11px; }
.dialog-close { width: 22px; height: 20px; padding: 0; border: 2px outset #eee; background: #d4d0c8; font-weight: bold; line-height: 14px; }
.dialog-body { display: grid; grid-template-columns: 44% 1fr; gap: 8px; padding: 8px; }
.dialog-body > img { width: 100%; height: auto; border: 2px ridge #888; background: #fff; }
.dialog-body h2 { margin: 7px 0 3px; color: #005596; font-family: "Times New Roman", serif; font-size: 23px; }
.dialog-product-link { margin-top: 4px; }
.back-button { font-weight: bold; }
.side-back { width: 100%; margin: 5px 0; }
.collection-error { padding: 14px; background: #fff; }

/* Artist-network ads: deliberately animated like hand-built late-web GIF banners. */
.artist-ad { position: relative; display: block !important; overflow: hidden; color: #fff !important; text-decoration: none; border: 3px ridge #aaa; background: #050505; }
.artist-ad:hover, .retro-link-tile:hover { color: #fff !important; background-color: #111; }
.artist-ad-vertical { height: 270px; margin: 4px 0 !important; }
.artist-ad-noise { position: absolute; inset: -50%; background: repeating-conic-gradient(#00ffcc 0 4deg, #ff2bb5 4deg 8deg, #080808 8deg 13deg); animation: ad-spin 9s linear infinite; opacity: .72; }
.artist-ad-copy { position: absolute; inset: 18px 9px; display: flex; flex-direction: column; justify-content: space-between; padding: 10px 6px; border: 1px dashed #fff; background: rgba(0,0,0,.76); text-align: center; }
.artist-ad-copy strong { font-family: "Times New Roman", serif; font-size: 30px; line-height: .85; text-shadow: 2px 2px #ff2bb5; animation: ad-flash 1.1s steps(2,end) infinite; }
.artist-ad-copy small, .artist-ad-copy em { font-family: "Courier New", monospace; font-size: 8px; font-style: normal; }
.retro-link-tile { display: block !important; margin: 0 0 4px !important; padding: 6px 4px; border: 2px outset #eee; color: #fff !important; text-decoration: none; text-align: center; font-family: "Courier New", monospace; animation: ad-pulse 1.6s steps(2,end) infinite; }
.retro-link-tile b, .retro-link-tile span { display: block; }
.retro-link-tile b { font-size: 12px; letter-spacing: 1px; }
.retro-link-tile span { margin-top: 2px; font-size: 7px; }
.retro-link-tile-cyan { background: #005f70; box-shadow: inset 0 0 0 2px #00ffd5; }
.retro-link-tile-pink { background: #740044; box-shadow: inset 0 0 0 2px #ff72c5; animation-delay: .3s; }
.retro-link-tile-lime { background: #315900; box-shadow: inset 0 0 0 2px #bdff48; animation-delay: .6s; }
@keyframes ad-spin { to { transform: rotate(360deg); } }
@keyframes ad-flash { 50% { color: #fff56b; text-shadow: -2px 2px #00ffcc; } }
@keyframes ad-pulse { 50% { filter: brightness(1.35) contrast(1.2); } }
@media (prefers-reduced-motion: reduce) { .artist-ad-noise, .artist-ad-copy strong, .retro-link-tile { animation: none; } }

/* Payment preview strip in the grey footer area. */
.payment-options { display: flex; align-items: center; justify-content: center; gap: 7px; margin: -3px -3px 8px; padding: 6px; border: 1px inset #fff; background: #d8d8d8; }
.payment-label { max-width: none; text-align: center; font-size: 9px; line-height: 1.25; color: #444; }
.payment-marks { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.payment-marks img { display: block; width: 72px; aspect-ratio: 3 / 1; object-fit: contain; }

/* Product size controls and direct artwork inspection. */
.print-size-select { width: 100%; border: 2px inset #ddd; background: #fff; font-size: 10px; }
.shopify-setup-panel { margin:7px 0; padding:5px 7px; border:1px solid #a76a00; background:#fff5d0; font:10px/1.35 Arial,sans-serif; }
.shopify-setup-panel > b { color:#8b3600; }
.shopify-setup-panel ul { margin:4px 0 0; padding-left:16px; }
.shopify-variant-list { margin:6px 0; font:10px Arial,sans-serif; }
.shopify-variant-list > b, .shopify-image-strip > b { display:block; padding:3px 4px; background:#dcecff; border:1px solid #aaa; }
.shopify-variant-list .spec-table { width:100%; margin-top:0; }
.shopify-variant-list th { text-align:left; background:#eee; border:1px solid #aaa; }
.shopify-image-strip { margin:8px 0; font:10px Arial,sans-serif; }
.shopify-image-strip > div { display:flex; gap:4px; overflow:auto; padding:4px; background:#eee; border:1px solid #aaa; }
.shopify-image-strip img { max-width:90px; height:75px; width:auto; object-fit:contain; background:#fff; border:1px solid #777; }
.temporary-note { display: block; margin-top: 2px; color: #777; font-size: 8px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.direct-views-block { margin-top: 8px; border: 2px ridge #aaa; background: #d7d7d7; }
.direct-views-heading { padding: 4px 6px; border-bottom: 1px solid #777; background: #d6e9ff; font-size: 10px; }
.direct-views-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 5px; }
.direct-views-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.direct-view { margin: 0; padding: 4px; border: 2px outset #eee; background: #fff; }
.direct-view > img, .detail-crop { display: block; width: 100%; aspect-ratio: 4 / 3; border: 1px solid #555; background: #eee; }
.direct-view > img { height: auto; aspect-ratio: auto; }
.detail-crop { overflow: hidden; }
.detail-crop img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.7); }
.direct-view-detail:nth-child(even) .detail-crop img { object-position: 62% 42%; }
.direct-view figcaption { margin-top: 3px; font-family: "Courier New", monospace; font-size: 8px; }
.room-view-note { margin:0; padding:5px 7px 6px; border-top:1px dotted #aaa; color:#777; background:#f4f4f4; font:9px/1.35 Arial,sans-serif; }

/* VIZN digital showrooms replace the previous faux-photoreal room mockups. */
.room-preview-block { background: #c9c9c9; border: 2px outset #eee; }
.room-scene { height: 330px; border: 2px inset #eee; box-shadow: none; background-color: #d6e9ff; background-image: linear-gradient(rgba(0,72,122,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(0,72,122,.12) 1px, transparent 1px); background-size: 16px 16px; }
.room-scene.room-two { background-color: #fff3ca; background-image: radial-gradient(#d30074 1px, transparent 1px); background-size: 12px 12px; }
.room-art-echo { inset: 25px 45% 72px 0; opacity: .18; filter: saturate(1.4) contrast(1.4); mix-blend-mode: multiply; border-right: 1px dotted #333; }
.room-scene-title { position: absolute; z-index: 3; left: 0; right: 0; top: 0; height: 22px; padding: 4px 6px; color: #fff; background: #00488a; border-bottom: 2px outset #b7e1ff; font-family: "Courier New", monospace; font-size: 9px; font-weight: bold; }
.room-scene-title span { float: right; }
.room-two .room-scene-title { background: #850052; }
.room-poster-frame, .room-two .room-poster-frame { left: 13%; top: 47px; width: 50%; height: auto; padding: 7px; border: 5px ridge #777; background: #f4f4f4; box-shadow: 7px 7px 0 rgba(0,0,0,.22); }
.room-two .room-poster-frame { left: 38%; top: 43px; width: 48%; border-color: #850052; }
.room-poster-frame img, .room-two .room-poster-frame img { display: block; width: 100%; height: auto; object-fit: initial; border: 1px solid #222; background: transparent; }
.room-grid-floor { position: absolute; left: 0; right: 0; bottom: 0; height: 78px; border-top: 3px double #444; background: repeating-linear-gradient(90deg, transparent 0 36px, rgba(0,0,0,.16) 37px 38px), repeating-linear-gradient(0deg, #999 0 15px, #b7b7b7 16px 30px); transform: perspective(170px) rotateX(18deg); transform-origin: bottom; }
.room-console { position: absolute; z-index: 4; right: 3%; bottom: 18px; min-width: 145px; padding: 6px; border: 2px outset #eee; background: #111; color: #63ffcb; font-family: "Courier New", monospace; font-size: 8px; line-height: 1.35; box-shadow: 4px 4px 0 rgba(0,0,0,.3); }
.room-two .room-console { left: 3%; right: auto; color: #ff91d4; }
.room-window, .room-furniture, .room-object { display: none; }

/* Dedicated information file. */
.info-page-wrap { min-height: 540px; }
.info-page-body { padding: 7px; }
.info-file-section { margin-bottom: 7px; padding: 8px; border: 2px inset #ddd; background: #fff; font-family: "Times New Roman", serif; }
.info-file-section h1, .info-file-section h2 { margin: 0 0 5px; padding-bottom: 3px; border-bottom: 1px dotted #777; color: #005596; }
.info-file-section h1 { font-size: 22px; }
.info-file-section h2 { font-size: 16px; }
.info-file-section p { margin: 0; line-height: 1.35; }

/* Screenshot-note refinements. */
.category-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; }
.category-footer-note { max-width: 70%; font-family: "Times New Roman", serif; font-size: 10px; color: #333; }
.detail-visual-column { min-width: 0; }
.detail-visual-column .direct-views-block { margin-top: 7px; }
.detail-visual-column .direct-views-heading { font-size: 8px; }
.detail-visual-column .direct-views-grid { gap: 4px; padding: 4px; }
.detail-visual-column .direct-view { padding: 3px; }
.angled-wall { position: relative; height: 126px; overflow: hidden; border: 1px solid #777; background: linear-gradient(165deg, #d9d2c4 0 70%, #897b69 71% 74%, #b79d7a 75%); perspective: 420px; }
.angled-poster { position: absolute; left: 17%; top: 13px; width: 68%; padding: 4px; border: 4px solid #382e28; background: #eee9dc; box-shadow: 7px 8px 5px rgba(0,0,0,.28); transform: rotateY(18deg) rotateZ(-1deg); transform-origin: left center; }
.angled-poster img { display: block; width: 100%; height: auto; border: 1px solid #222; }
.angled-view-right .angled-wall { background: linear-gradient(195deg, #d4d6d2 0 69%, #777 70% 72%, #aaa394 73%); }
.angled-view-right .angled-poster { left: 14%; transform: rotateY(-20deg) rotateZ(1deg); transform-origin: right center; }
.scene-shadow { position: absolute; left: 12%; bottom: 6px; width: 75%; height: 10px; border-radius: 50%; background: rgba(0,0,0,.2); filter: blur(4px); }
.scene-shelf { position: absolute; left: 8%; right: 5%; bottom: 18px; height: 7px; background: #604a36; border: 1px solid #33271e; box-shadow: 0 4px 3px rgba(0,0,0,.25); }

/* Intentionally cheap, purposeless late-web throwing game. */
.throw-game.room-scene { position: relative; height: 360px; overflow: hidden; border: 3px ridge #aaa; background-color: #54c7c2; background-image: linear-gradient(90deg, rgba(255,255,255,.22) 50%, transparent 50%), linear-gradient(rgba(255,255,255,.18) 50%, transparent 50%); background-size: 22px 22px; image-rendering: pixelated; }
.throw-game.room-two { background-color: #ca66ad; background-image: radial-gradient(#fff45a 2px, transparent 3px); background-size: 18px 18px; }
.throw-game .room-scene-title { height: 24px; padding: 4px 6px; background: #000080; color: #fff; border-bottom: 2px outset #fff; }
.throw-game.room-two .room-scene-title { background: #640064; }
.blink-text { animation: game-blink .7s steps(2,end) infinite; }
.throw-game .room-poster-frame, .throw-game.room-two .room-poster-frame { position: absolute; z-index: 2; left: 19%; top: 78px; width: 57%; height: auto; padding: 5px; border: 6px ridge #6b4b2b; background: #eee1c4; box-shadow: 8px 8px 0 rgba(0,0,0,.28); }
.throw-game.room-two .room-poster-frame { left: 25%; width: 53%; border-color: #333; background: #fff; }
.throw-game .room-poster-frame img { display: block; width: 100%; height: auto; object-fit: initial; border: 1px solid #111; background: transparent; }
.game-controls { position: absolute; z-index: 5; left: 6px; bottom: 29px; display: flex; gap: 3px; }
.game-controls button { display: inline-flex; align-items: center; gap: 2px; padding: 3px 6px; border: 3px outset #eee; background: #d4d0c8; color: #000; font-family: "Courier New", monospace; font-size: 9px; font-weight: bold; cursor: pointer; }
.game-controls button:active { border-style: inset; }
.game-status { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; height: 22px; display: flex; justify-content: space-between; padding: 4px 6px; border-top: 2px inset #eee; background: #d4d0c8; color: #111; font-family: "Courier New", monospace; font-size: 9px; }
.game-projectile { position: absolute; z-index: 10; display: block; width: 54px; height: 54px; pointer-events: none; }
.game-splat { position: absolute; z-index: 5; transform: translate(-50%, -50%); color: #f00; font-size: 24px; line-height: 1; filter: drop-shadow(1px 1px #000); pointer-events: none; }
@keyframes game-blink { 50% { color: #fff600; } }
@media (prefers-reduced-motion: reduce) { .blink-text { animation: none; } }

/* Clickable angled product previews. */
.angled-view-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: inherit; }
.angled-view-button:focus-visible { outline: 3px solid #0645ad; outline-offset: 1px; }
.angled-view-button:hover .angled-wall { filter: brightness(1.06); box-shadow: inset 0 0 0 3px #fff600; }
.view-zoom-label { position: absolute; z-index: 5; right: 3px; bottom: 3px; padding: 2px 4px; border: 1px solid #fff; background: #000080; color: #fff; font-family: "Courier New", monospace; font-size: 7px; }
.angled-view-dialog { width: min(820px, calc(100vw - 28px)); }
.enlarged-angle { padding: 8px; background: #d4d0c8; }
.enlarged-angle .angled-wall { height: min(68vh, 520px); }
.enlarged-angle .angled-poster { top: 8%; left: 16%; width: 66%; padding: 9px; border-width: 9px; }
.enlarged-angle.angled-view-right .angled-poster { left: 17%; }
.enlarged-angle .scene-shelf { bottom: 11%; height: 12px; }
.showing-angle { position: relative; background: #d4d0c8; }
.main-angle-display { position: relative; padding: 6px; }
.main-angle-display .angled-wall { height: 302px; }
.main-angle-display .angled-poster { top: 8%; left: 15%; width: 68%; padding: 7px; border-width: 7px; }
.main-angle-display.angled-view-right .angled-poster { left: 16%; }
.main-angle-display .scene-shelf { bottom: 11%; height: 9px; }

/* Improved damage game HUD, wall mount, persistent damage and end state. */
.throw-game.room-scene { background-color: #b8b09c; background-image: repeating-linear-gradient(0deg, rgba(80,61,40,.08) 0 1px, transparent 1px 5px), linear-gradient(110deg, transparent 0 68%, rgba(255,255,255,.18) 68%); }
.throw-game.room-two { background-color: #9fa69c; background-image: repeating-linear-gradient(90deg, rgba(30,30,30,.07) 0 1px, transparent 1px 7px), linear-gradient(70deg, transparent 0 72%, rgba(255,255,255,.2) 72%); }
.throw-game .room-scene-title { right: 174px; }
.game-score-panel { position: absolute; z-index: 8; top: 0; right: 0; width: 174px; height: 68px; padding: 5px; border: 3px outset #c9c9c9; background: linear-gradient(#001c72, #00002f); color: #4dffb8; font-family: "Courier New", monospace; font-size: 11px; text-align: right; box-shadow: -3px 3px 0 rgba(0,0,0,.28); }
.game-score-panel > div:first-child { margin-bottom: 5px; font-size: 13px; }
.game-score-panel [data-score] { display: inline-block; min-width: 48px; padding: 1px 3px; border: 1px inset #8aa; background: #020b0a; color: #ffe900; font-size: 15px; }
.damage-meter-label { display: flex; justify-content: space-between; margin-bottom: 2px; color: #fff; font-size: 7px; }
.damage-meter { height: 13px; padding: 2px; border: 2px inset #aaa; background: #161616; text-align: left; }
.damage-meter i { display: block; width: 0; height: 100%; background: repeating-linear-gradient(90deg, #00ff58 0 6px, #006f28 6px 8px); transition: width .25s steps(5,end), background .25s; }
.game-warning .damage-meter i { background: repeating-linear-gradient(90deg, #ffe600 0 6px, #a66c00 6px 8px); }
.game-danger .damage-meter i { background: repeating-linear-gradient(90deg, #ff2600 0 6px, #7c0000 6px 8px); animation: danger-meter .25s steps(2,end) infinite; }
.throw-game:has([data-damage-meter][style*="100%"]){ --meter-full: 1; }
.throw-game .room-poster-frame::before { content: ''; position: absolute; left: 50%; top: -30px; width: 1px; height: 31px; background: #333; transform: rotate(-34deg); transform-origin: bottom; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.throw-game .room-poster-frame::after { content: ''; position: absolute; right: 50%; top: -30px; width: 1px; height: 31px; background: #333; transform: rotate(34deg); transform-origin: bottom; }
.throw-game .room-poster-frame { top: 76px; }
.game-damage { position: absolute; z-index: 7; display: block; pointer-events: none; }
.damage-tomato { width: 31px; height: 25px; border-radius: 42% 58% 45% 55%; background: radial-gradient(circle at 45% 40%, #ff7467 0 12%, #cf160f 14% 55%, #720000 58% 70%, transparent 72%), conic-gradient(from 10deg, transparent, #a90000, transparent, #ef271d, transparent); box-shadow: -13px 3px 0 -9px #c00, 13px -4px 0 -9px #a00, 3px 13px 0 -10px #e21; }
.damage-crack { width: 48px; height: 48px; color: #080808; font-family: serif; font-size: 52px; line-height: 42px; text-shadow: 2px 1px rgba(255,255,255,.35); }
.damage-dent { width: 27px; height: 18px; color: rgba(15,15,15,.68); font-size: 24px; line-height: 16px; filter: blur(.5px); box-shadow: 5px 3px 8px rgba(0,0,0,.65); }
.game-hit { animation: game-hit-shake .17s steps(2,end); }
.game-destroying { animation: game-total-destruction 1.75s steps(9,end) forwards; }
.game-destroying::after { content: ''; position: absolute; z-index: 30; inset: 0; background: rgba(255,255,255,.75); mix-blend-mode: screen; animation: explosion-flash .14s steps(2,end) 5; pointer-events: none; }
.real-explosion { position: absolute; z-index: 34; left: 50%; top: 48%; width: 112%; max-width: none; height: auto; transform: translate(-50%, -50%) scale(.08); filter: brightness(1.25) contrast(1.15); pointer-events: none; animation: realistic-explosion 1.7s cubic-bezier(.14,.7,.18,1) forwards; }
.explosion-debris { position: absolute; z-index: 35; width: 15px; height: 12px; background: #4a2d17; border: 2px solid #111; animation: debris-flight 1.15s ease-out forwards; }
.game-complete { position: relative; height: 360px; border: 3px inset #aaa; background: #000; }
.game-congratulations { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #000; color: #fff; font-family: "Courier New", monospace; text-align: center; }
.game-congratulations b { color: #ffff00; font-size: 25px; animation: game-blink .7s steps(2,end) infinite; }
.game-congratulations span { font-size: 12px; }
.game-congratulations small { margin-top: 25px; color: #777; font-size: 8px; }
.logo-home-link { cursor: pointer; }
.logo-home-link:hover { background: #ffffd2; }
.logo-home-link:focus-visible { outline: 3px solid #0645ad; outline-offset: -3px; }
.hit-points { position: absolute; z-index: 18; color: #fff600; font-family: Impact, fantasy; font-size: 22px; text-shadow: 2px 2px #b50000; pointer-events: none; animation: hit-points-rise .85s ease-out forwards; }
.game-stage-one .room-poster-frame { transform: rotate(-1deg); }
.game-stage-two .room-poster-frame { transform: rotate(2deg) translateY(4px); box-shadow: 10px 12px 0 rgba(0,0,0,.36); }
.game-stage-two .room-poster-frame::before { transform: rotate(-42deg); }
.game-stage-two .room-poster-frame::after { transform: rotate(27deg); }
.game-stage-three .room-poster-frame { transform: rotate(-5deg) translate(9px, 12px); filter: saturate(.65) contrast(1.25); }
.game-stage-three .room-poster-frame::after { display: none; }
.game-stage-three::before { content: ''; position: absolute; z-index: 1; left: 7%; right: 8%; bottom: 22px; height: 35px; background: repeating-linear-gradient(105deg, transparent 0 18px, rgba(65,55,45,.35) 19px 22px); }
@keyframes game-hit-shake { 0%,100% { transform: translate(0); } 25% { transform: translate(-7px,3px); } 75% { transform: translate(7px,-2px); } }
@keyframes game-total-destruction { 0% { transform: scale(1); filter: none; } 35% { transform: scale(1.04) rotate(-1deg); filter: saturate(3); } 75% { transform: scale(.96) rotate(2deg); filter: brightness(4); } 100% { transform: scale(0); filter: brightness(8); } }
@keyframes explosion-flash { 50% { filter: invert(1); transform: scale(1.06); } }
@keyframes debris-flight { to { transform: translate(var(--debris-x), var(--debris-y)) rotate(720deg); opacity: 0; } }
@keyframes danger-meter { 50% { filter: brightness(2); } }
@keyframes realistic-explosion { 0% { transform: translate(-50%, -50%) scale(.08); opacity: 0; } 12% { opacity: 1; } 62% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(1.32); opacity: 0; } }
@keyframes hit-points-rise { to { transform: translateY(-48px) scale(1.3); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .game-hit, .game-destroying, .game-destroying::after, .explosion-debris, .game-congratulations b { animation-duration: .01ms; } }

/* Three-position product gallery. */
.angled-wall, .main-angle-display, .sub-original-art, [data-gallery-content] { display: block; }
.sub-original-art { position: relative; height: 126px; overflow: hidden; border: 1px solid #777; background: #e5e5e5; }
.sub-original-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.direct-view .angled-view-button { min-height: 126px; }
.showing-angle .main-angle-display { display: block; }

/* Weapon-specific game mechanics. */
.throw-game .room-poster-frame, .throw-game.room-two .room-poster-frame { left: 18%; top: 70px; width: 48%; height: auto; }
.throw-game.room-two .room-poster-frame { left: 22%; width: 48%; }
.throw-game .room-poster-frame img { display: block; width: 100%; height: auto; max-height: 230px; object-fit: contain; }
.game-sprite { display: inline-block; width: 26px; height: 26px; flex: 0 0 auto; background-image: url('/assets/game-weapons-animated.png'); background-size: 400% 600%; background-repeat: no-repeat; background-position: var(--sprite-x) 0%; image-rendering: pixelated; }
.weapon-tomato, .damage-tomato { --sprite-x: 0%; }
.weapon-brick, .damage-brick { --sprite-x: 33.333%; }
.weapon-hammer, .damage-hammer { --sprite-x: 66.667%; }
.weapon-flamethrower, .damage-burn { --sprite-x: 100%; }
.weapon-tomato, .weapon-brick, .weapon-hammer, .weapon-flamethrower { animation: weapon-sprite-cycle .42s steps(1,end) infinite; }
.game-damage { width: 64px; height: 64px; border-radius: 0; background-color: transparent; background-image: url('/assets/game-weapons-animated.png'); background-size: 400% 600%; background-repeat: no-repeat; background-position: var(--sprite-x) 60%; box-shadow: none; filter: drop-shadow(2px 2px 2px rgba(0,0,0,.38)); animation: impact-sprite-develop .34s steps(1,end) forwards; }
.damage-tomato { width: 62px; height: 62px; }
.damage-brick { width: 72px; height: 72px; }
.damage-hammer { width: 74px; height: 74px; }
.damage-burn { width: 76px; height: 76px; opacity: .25; mix-blend-mode: multiply; transition: opacity .12s, transform .12s; }
.hammer-strike { position: absolute; z-index: 18; width: 112px; height: 80px; transform-origin: right center; pointer-events: none; filter: drop-shadow(3px 4px 2px rgba(0,0,0,.45)); }
.held-flamethrower { position: absolute; z-index: 15; width: 112px; height: 74px; transform: translate(34px, -50%); pointer-events: none; filter: drop-shadow(3px 4px 2px rgba(0,0,0,.45)); }
.flame-particle { position: absolute; z-index: 16; left: var(--flame-x); top: var(--flame-y); width: 34px; height: 18px; border-radius: 50% 15% 50% 15%; background: radial-gradient(ellipse at 70% 50%, #fffbd0 0 10%, #ffe400 13% 33%, #ff5a00 38% 65%, rgba(155,0,0,.15) 72%, transparent 75%); pointer-events: none; animation: flame-stream .36s linear forwards; filter: drop-shadow(0 0 4px #ff2a00); image-rendering: pixelated; }
.projectile-brick { filter: drop-shadow(4px 6px 3px rgba(0,0,0,.5)); }
.game-controls button[data-weapon="flamethrower"] { background: #3e3e3e; color: #ffdd42; border-color: #aaa; touch-action: none; user-select: none; }
.game-controls button[data-weapon="flamethrower"]:active { background: #7b1800; }
.real-explosion { image-rendering: pixelated; }
@keyframes flame-stream { 0% { transform: translate(170px, 115px) scale(.35) rotate(-25deg); opacity: .15; } 35% { opacity: 1; } 100% { transform: translate(0, 0) scale(1.1) rotate(10deg); opacity: .72; } }
@keyframes weapon-sprite-cycle { 0%, 32% { background-position: var(--sprite-x) 0%; } 33%, 65% { background-position: var(--sprite-x) 20%; } 66%, 100% { background-position: var(--sprite-x) 40%; } }
@keyframes impact-sprite-develop { 0%, 32% { background-position: var(--sprite-x) 60%; } 33%, 65% { background-position: var(--sprite-x) 80%; } 66%, 100% { background-position: var(--sprite-x) 100%; } }

.mobile-nav, .mobile-shop-links { display: none; }
.page-shell { width: min(980px, calc(100% - 16px)); }
.collection-intro-note { padding: 7px 8px; background: #fff3a1; border-bottom: 1px solid #c0a850; color: #342e12; font-family: "Times New Roman", serif; font-size: 12px; line-height: 1.35; }
.category-footer .full-collection-button { margin-left: auto; }
.photo-room-view { position: relative; display: block; width: 100%; overflow: hidden; background: #c7c0a9; }
.photo-room-view canvas, .photo-room-view > img { display: block; width: 100%; height: auto; }
.direct-view .angled-view-button { min-height: 0; }
.showing-angle .photo-room-view { width: 100%; }
/* Mobile catalog: retain the desktop presentation above this breakpoint. */
@media (max-width: 800px) {
  html { scroll-padding-top: 8px; }
  body { font-size: 13px; }
  .page-shell { width: 100%; min-width: 0; margin: 0 auto; box-shadow: none; }
  .content-grid, .detail-layout, .cart-layout { display: block; padding: 4px; }
  .content-grid > .left-rail, .content-grid > .right-rail { display: none; }
  .catalog-wrap, .product-detail, .detail-visual-column, .detail-buy-box { min-width: 0; width: 100%; }
  .header-table, .header-table tbody, .header-table tr { display: block; width: 100%; }
  .header-table { min-height: 0; }
  .header-table tr { display: flex; align-items: center; justify-content: space-between; }
  .header-table .logo-cell { width: auto; min-width: 0; padding: 8px 5px; gap: 5px; }
  .logo-mark { width: 33px; height: 33px; flex-shrink: 0; font-size: 26px; }
  .logo { font-size: clamp(21px, 6vw, 29px); }
  .www { font-size: 10px; }
  .tagline { display: none; }
  .header-table .header-promo { display: none; }
  .header-table .cart-head { display: block; width: auto; flex-shrink: 0; padding: 5px; }
  .cart-head > div { display: none; }
  .cart-head .retro-button { padding: 9px 6px; font-size: 12px; }
  .main-nav { display: none; }
  .mobile-nav { display: flex; flex-wrap: wrap; justify-content: space-around; background: #d6e9ff; border-block: 1px solid #5e88b5; }
  .mobile-nav a { padding: 12px 8px; font-weight: bold; }
  .mobile-shop-links { display: block; text-align: center; margin: 12px 0; }
  .mobile-shop-links a { padding: 12px; }
  .ticker { font-size: 11px; }
  .breadcrumb-row { line-height: 1.8; overflow-wrap: anywhere; }
  .breadcrumb-row .back-button { font-size: 12px; padding: 5px 0; }
  .catalog-heading { flex-wrap: wrap; gap: 4px; white-space: normal; }
  .api-mode { font-size: 10px; }
  .collection-cards { grid-template-columns: minmax(0, 1fr); }
  .collection-card { min-width: 0; }
  .collection-card-copy { min-width: 0; }
  .collection-card-copy small, .directory-title { font-size: 12px; line-height: 1.4; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product { min-width: 0; padding: 5px; }
  .product-title { display: inline-block; font-size: 14px; line-height: 1.3; margin: 3px 0; }
  .product-desc { font-size: 13px; line-height: 1.25; }
  .product-price { font-size: 14px; margin-top: 4px; }
  .product-stock { font-size: 11px; margin: 3px 0; }
  .product-actions { gap: 4px; }
  .product-actions .retro-button { font-size: 12px; padding: 8px 5px; }
  .product-actions .text-button { font-size: 12px; min-height: 36px; }
  .category-heading { flex-wrap: wrap; gap: 4px; }
  .category-heading .category-count { font-size: 10px; }
  .category-footer { flex-direction: column; align-items: stretch; gap: 6px; }
  .category-footer-note { max-width: none; font-size: 12px; }
  .full-collection-button { display: block; text-align: center; padding: 11px 5px; font-size: 12px; }
  .category-footer .full-collection-button { width: 100%; margin-left: 0; }
  .detail-intro { display: grid; grid-template-columns: minmax(0, 1fr); }
  .detail-buy-box { font-size: 13px; }
  .product-description-copy p { font-size: 13px; line-height: 1.5; }
  .spec-table { width: 100%; font-size: 12px; }
  .print-size-select { font-size: 16px; min-height: 38px; }
  .product-tools { display: flex; flex-wrap: wrap; gap: 6px 12px; }
  .product-tools a, .product-tools button { font-size: 12px; padding: 8px 0; }
  .direct-view figcaption { font-size: 10px; line-height: 1.3; }
  .view-zoom-label { font-size: 9px; }
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dialog-body { grid-template-columns: minmax(0, 1fr); }
  .product-dialog { max-width: calc(100vw - 16px); }
  .cart-product-table thead { display: none; }
  .cart-product-table, .cart-product-table tbody { display: block; }
  .cart-product-table tr { display: grid; grid-template-columns: 80px minmax(0, 1fr); border-bottom: 2px solid #777; }
  .cart-product-table td { display: block; min-width: 0; border: 0; padding: 6px; }
  .cart-product-table td:nth-child(3)::before { content: 'Price: '; }
  .cart-product-table td:nth-child(4)::before { content: 'Qty: '; }
  .cart-product-table td:nth-child(5)::before { content: 'Subtotal: '; }
  .cart-product-table td:nth-child(6)::before { content: 'Remove: '; }
  .cart-qty { font-size: 16px; min-height: 38px; }
  .cart-remove { min-width: 38px; min-height: 38px; }
  .cart-checkout-box { text-align: left; }
  .cart-summary-table { min-width: 0; width: 100%; }
  .checkout-big { display: block; width: 100%; white-space: normal; margin-bottom: 8px; }
  .empty-cart-box { width: 100%; padding: 20px 8px; }
  footer { overflow-wrap: anywhere; line-height: 1.5; }
  .payment-options { flex-wrap: wrap; }
  .payment-label { max-width: none; font-size: 11px; }
  .payment-marks { justify-content: center; }
  .payment-marks img { width: 53px; }
}
.product-grid > .product { display: flex; flex-direction: column; min-width: 0; }
.product-grid .product-image-link { flex: none; }
.product-grid .product-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.product-grid .product-desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-bottom: 8px; }
.product-grid .product-price { margin-top: auto; }
.product-grid .product-actions { min-height: 28px; }
.dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.dialog-actions .dialog-product-link { margin: 0 0 0 auto; text-align: right; }
.pinterest-button { flex: 0 0 36px; height: 36px; display: grid; place-items: center; background: #bd081c; color: white; font: bold italic 28px Georgia,serif; border: 2px outset #e8717a; text-decoration: none; }
.desk-links { text-align: center; padding: 8px; border-top: 1px solid #999; }
.desk-body { padding: 12px; }
.best-selling { margin-top: 12px; }
.best-selling-item { display: block; margin: 7px 0; font: bold 12px 'Times New Roman',serif; }
.best-selling-item img { display: block; width: 100%; height: auto; margin-bottom: 3px; }
.best-selling small { display:block; font-size:9px; color:#555; line-height:1.4; }
.best-rated-link { display:block; margin-top:8px; border-top:1px dotted #888; padding-top:7px; font-size:11px; }
.commission-simple select { display:block; width:100%; margin:8px 0 14px; }
.commission-simple .commission-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.commission-simple #commissionAvailability { padding:10px 0; border-top:1px dotted #888; font-size:12px; font-weight:bold; }
.artwork-feedback { margin-top:12px; padding-top:9px; border-top:1px dotted #999; }
.feedback-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.feedback-buttons button { font-size:10px; padding:4px; }
.feedback-buttons a { font-size:10px; }
.feedback-note,.feedback-status { display:block; margin-top:5px; font-size:10px; line-height:1.4; }
.feedback-note { color:#555; }
.feedback-buttons [aria-pressed=true],.rating-toolbar [aria-pressed=true] { background:#fff36b; border-style:inset; }
.rating-toolbar { padding:10px 6px; border-bottom:1px solid #999; }
.rating-toolbar p,#rankingStatus { font-size:11px; margin:8px 6px; }
#main-view[role=button] { cursor:zoom-in; }
.image-viewer { padding:0; border:3px outset #ddd; background:#d4d0c8; width:fit-content; max-width:95vw; max-height:95dvh; overflow:hidden; }
.image-viewer::backdrop { background:rgba(0,0,0,.8); }
.image-viewer .dialog-titlebar { gap:12px; }
.image-viewer .dialog-titlebar b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.viewer-controls { display:flex; align-items:center; gap:10px; padding:5px; font-size:10px; }
.viewer-media { width:fit-content; max-width:calc(95vw - 6px); overflow:auto; max-height:calc(95dvh - 70px); margin:0 auto; background:transparent; }
.viewer-media img,.viewer-media canvas { display:block; width:auto; height:auto; max-width:calc(95vw - 6px); max-height:calc(95dvh - 70px); margin:0; object-fit:contain; }
.actual-size .viewer-media img,.actual-size .viewer-media canvas { max-width:none; max-height:none; margin:0; }
.image-viewer-open { overflow:hidden; }
.main-nav a[href="/cart.html"],.mobile-nav a[href="/cart.html"] { background:#d4d0c8; color:#111; border:2px outset #eee; padding:2px 7px; text-decoration:none; }
.mobile-nav a[href="/cart.html"] { padding:8px 4px; }
.header-table .logo-cell { width:auto; }
.pixel-thumb, .related-item .pixel-thumb { width:12px; height:12px; border:0; margin:0; image-rendering:pixelated; vertical-align:middle; flex:none; }
.pixel-thumb.thumb-down { transform:rotate(180deg); }
.feedback-buttons [data-vote],.card-ratings [data-vote] { display:inline-flex; align-items:center; justify-content:center; gap:3px; font:10px Arial,sans-serif; }
.card-ratings { display:flex; flex-wrap:wrap; gap:4px; align-items:center; margin:5px 0 3px; color:#222; }
.card-ratings [data-vote],.feedback-buttons [data-vote] { min-height:18px; padding:0 2px; border:0; background:transparent; gap:2px; }
.card-ratings .pixel-thumb,.feedback-buttons .pixel-thumb { border:1px outset #ddd; background:#d4d0c8; padding:1px; }
.card-ratings [aria-pressed=true] .pixel-thumb,.feedback-buttons [aria-pressed=true] .pixel-thumb { border-style:inset; background:#fff36b; }
.card-ratings [aria-pressed=true] { background:transparent; }
.card-ratings small { font:8px 'Courier New',monospace; color:#555; }
.card-rating-status:empty { display:none; }
.card-rating-status { display:block; flex-basis:100%; color:#900; font:10px Arial,sans-serif; }
.top-rated-panel { margin-top:14px; padding:0 3px 4px; border:1px solid #7f9db9; background:#fff; }
.shop-links-panel { display:block; }
.coming-soon-panel { margin-top:14px; padding:0 4px 5px; border:1px solid #b49d31; background:#fffbd2; }
.coming-soon-panel .rail-title { margin:0 -4px 5px; background:#fff36b; border-color:#b49d31; }
.coming-soon-panel p { margin:5px 1px; font:10px/1.35 Arial,sans-serif; }
.coming-soon-panel p:first-of-type { color:#8d2400; text-align:center; font-family:'Courier New',monospace; }
.release-calendar { width:100%; border-collapse:separate; border-spacing:1px; table-layout:fixed; font:9px 'Courier New',monospace; text-align:center; }
.release-calendar caption { padding:2px; color:#003c70; background:#e4effb; border:1px solid #a4b9c7; font-weight:bold; }
.release-calendar th { color:#485b68; font-size:8px; }
.release-calendar td { height:17px; background:#fffdf0; border:1px solid #d9d2a5; }
.release-calendar .outside-month { background:transparent; border-color:transparent; }
.release-calendar .release-day { color:#fff; background:#a52c18; border:1px solid #6c1708; box-shadow:1px 1px #c6b767; font-weight:bold; }
.coming-soon-panel .release-caption { margin:5px 1px 1px; color:#333; text-align:center; font:9px 'Courier New',monospace; }
.release-caption b { color:#8d2400; }
.top-rated-panel > .rail-title { background:#d6e9ff; color:#003c70; margin:0 -3px 6px; font-size:10px; }
.top-rated-panel [data-top-note] { display:block; text-align:center; font:8px 'Courier New',monospace; color:#333; margin-bottom:5px; }
.right-rail .top-rated-item { display:flex; flex-direction:column; gap:3px; padding:7px 2px; margin:0; border:0; border-bottom:1px dotted #7f9db9; background:#fff; text-align:center; }
.top-rated-number { color:#000044; font:bold 12px 'Courier New',monospace; }
.top-rated-item img { display:block; width:100%; height:auto; border:1px solid #777; box-sizing:border-box; }
.top-rated-item > span { min-width:0; }
.top-rated-item .top-rated-number { display:inline; margin-right:4px; }
.top-rated-item img { align-self:center; }
.top-rated-item strong { display:block; font:bold 11px 'Times New Roman',serif; }
.top-rated-item small { display:block; color:#333; font:10px 'Courier New',monospace; margin-top:3px; }
@media(max-width:800px){.card-ratings [data-vote],.feedback-buttons [data-vote]{min-height:24px;min-width:28px;padding:2px 3px}.card-ratings{gap:4px}}
@media(max-width:800px){.image-viewer .dialog-close{min-width:32px;min-height:32px}.viewer-controls button{min-height:36px}}
@media(max-width:800px){.feedback-buttons button{min-height:36px;padding:6px}.feedback-buttons a{padding:6px}.commission-simple select{font-size:16px;min-height:38px}}
@media print{.artwork-feedback,.image-viewer{display:none!important}}
.preview-notice { padding: 8px; background: #fff3a1; border: 1px dotted #777; line-height: 1.4; }
.collection-count { background:transparent; border:0; color:#444; }
.product-type { display:inline-block; width:fit-content; padding:1px 3px; border:1px solid #c9bd65; background:#fff36b; color:#333; font:9px 'Courier New',monospace; }
.product-image-link { position:relative; }
.product-image-link > .product-type { position:absolute; left:2px; bottom:2px; }
.poster-hue-customizer { margin:10px 0; padding:7px; border:2px inset #ddd; background:#eef7fb; }
.poster-hue-customizer__header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:6px; }
.poster-hue-customizer__title { color:#681b73; font: bold 12px Arial,sans-serif; }
.poster-hue-customizer__subtitle { margin-top:2px; color:#555; font:9px 'Courier New',monospace; }
.poster-hue-customizer__value { min-width:54px; padding:3px 5px; border:2px inset #eee; background:#111; color:#7dff99; text-align:center; font:bold 13px 'Courier New',monospace; }
.poster-hue-customizer__slider { display:block; width:100%; height:20px; margin:3px 0; accent-color:#681b73; cursor:ew-resize; }
.poster-hue-customizer__slider::-webkit-slider-runnable-track { height:8px; border:1px solid #555; background:linear-gradient(90deg,#08f,#0ff,#0f0,#ff0,#f00,#f0f,#08f); }
.poster-hue-customizer__slider::-webkit-slider-thumb { margin-top:-6px; width:12px; height:20px; border:2px outset #eee; border-radius:0; background:#d4d0c8; appearance:none; }
.poster-hue-customizer__reset { display:block; margin:3px 0 0 auto; }
.poster-hue-customizer p { margin:5px 0 0; color:#444; font:10px/1.35 Arial,sans-serif; }
@media(max-width:800px){.poster-hue-customizer__slider{height:34px}.poster-hue-customizer__reset{min-height:32px}.poster-hue-customizer p{font-size:12px}}
.sticker-contents { margin-top:8px; }
.sticker-contents-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:5px; background:#fff; }
.sticker-contents-grid img { width:100%; height:auto; display:block; }
.sticker-contents .temporary-note { padding:4px; }
.obscured-preview { display:block; width:100%; height:auto; image-rendering:pixelated; background:#999; }
.community-thread { margin:12px 0 0; border:1px solid #7f9db9; background:#fff; }
.community-thread summary { cursor:pointer; padding:6px; background:#d6e9ff; font:bold 11px Arial,sans-serif; }
.community-thread summary span { float:right; font-weight:normal; font-size:10px; }
.community-thread h2 { margin:0; padding:6px; font:bold 13px 'Times New Roman',serif; border-bottom:1px solid #7f9db9; }
.community-demo-note,.community-end { margin:0; padding:6px; font:10px Arial,sans-serif; color:#444; }
.community-posts { max-height:340px; overflow:auto; }
.community-post { display:grid; grid-template-columns:100px minmax(0,1fr); border-bottom:1px solid #a6b7c7; }
.community-member { display:flex; flex-direction:column; align-items:center; gap:3px; padding:7px 3px; background:#edf3f9; font:10px 'Courier New',monospace; overflow-wrap:anywhere; }
.community-member img { width:42px; height:42px; object-fit:cover; border:1px solid #7f9db9; }
.community-member small { font:9px Arial,sans-serif; color:#555; }
.community-message { min-width:0; padding:8px; font:12px/1.35 'Times New Roman',serif; }
.community-message p { margin:5px 0; }
.community-post-number { display:block; color:#555; font:9px 'Courier New',monospace; }
.community-reply { color:#005596; margin-top:4px; font:10px Arial,sans-serif; }
.community-form { padding:8px; border-top:1px solid #7f9db9; background:#f3f6fa; font:11px Arial,sans-serif; }
.community-form h3 { margin:0 0 5px; font-size:12px; }
.community-form label { display:block; margin:6px 0; }
.community-form input,.community-form textarea,.community-form select { display:block; width:100%; box-sizing:border-box; margin-top:4px; font:12px Arial,sans-serif; }
.community-form textarea { resize:vertical; }
.community-form-actions,.community-toolbar,.community-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:5px; }
.community-pagination [aria-current] { color:#111; font-weight:bold; text-decoration:none; }
.community-post-actions { display:flex; flex-wrap:wrap; gap:9px; }
.community-message time { font:9px 'Courier New',monospace; color:#555; }
.community-message blockquote { margin:6px 0; padding:5px; border-left:2px solid #7f9db9; background:#edf3f9; font-size:11px; }
.community-body,#communityPostPreview { white-space:pre-wrap; overflow-wrap:anywhere; }
#communityPostPreview { background:#fff; border:1px solid #7f9db9; margin-top:8px; padding:8px; }
.community-rules { margin:0 5px; font:10px Arial,sans-serif; }
.community-rules summary { background:#edf3f9; font-size:10px; }
.community-rules p { padding:5px; }
#communityStatus { margin:0; padding:0 8px; color:#8c1a12; font:11px Arial,sans-serif; }
#communityStatus:not(:empty) { padding:6px 8px; }
.community-search { display:flex; flex-wrap:wrap; gap:6px; padding:8px; }
.community-search input { max-width:100%; box-sizing:border-box; }
.community-topic-list > a { display:block; padding:8px; border-bottom:1px solid #a6b7c7; }
.community-topic-list span { display:block; font:10px Arial,sans-serif; margin-top:4px; color:#555; }
@media(max-width:800px){.community-form input,.community-form textarea,.community-form select,.community-search input{font-size:16px}.community-toolbar button,.community-pagination button,.community-post-actions button{min-height:24px}}
@media(max-width:800px){.community-post{grid-template-columns:78px minmax(0,1fr)}.community-message{font-size:13px}.community-thread summary span{float:none;display:block;margin-top:4px}}
.collection-stickers .product-title,body[data-collection="stickers"] .detail-buy-box h1 { color:#286340; }
.api-mode { background:transparent!important; border:0; color:#555; }
.directory-title { background:#f2f7fc; }
.directory-title,.category-heading,.top-rated-panel > .rail-title { background:#fff36b; }
[data-vote="1"] [data-vote-count] { color:#06720c; }
[data-vote="-1"] [data-vote-count] { color:#b00020; }
.release-entry { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid #888; }
.release-entry time { text-align: center; background: #d6e9ff; border: 2px outset #ddd; padding: 8px 2px; font: bold 14px 'Courier New',monospace; align-self: start; }
.release-entry h2 { margin: 0 0 6px; font: bold 18px 'Times New Roman',serif; color: #005596; }
.release-entry p { line-height: 1.4; }
.commission-form { display: grid; gap: 10px; }
.commission-form label { display: grid; gap: 4px; font-weight: bold; }
.commission-form input, .commission-form textarea, .commission-form select, #commissionCategory { width: 100%; box-sizing: border-box; padding: 8px; font: 14px Arial,sans-serif; }
.commission-form textarea { min-height: 130px; resize: vertical; }
.commission-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 12px 0; }
.commission-gallery img { display: block; width: 100%; height: auto; }
.commission-gallery figure { margin: 0; padding: 4px; border: 1px solid #999; background: white; }
.commission-gallery figcaption { margin-top: 4px; font: 11px 'Times New Roman',serif; }
.brief-output { width: 100%; min-height: 180px; box-sizing: border-box; }
.info-preview-image { width: 100%; max-width: 420px; height: auto; border: 2px inset #aaa; }
@media(max-width:800px) {
  .product-grid .product-actions { min-height: 36px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
  .commission-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .commission-form input, .commission-form textarea, .commission-form select, #commissionCategory { font-size: 16px; }
  .dialog-actions .dialog-product-link { font-size: 11px; }
}
.product-grid > .product { display: flex; flex-direction: column; gap: 2px; }
.product-grid .product-image-link { align-self: start; background: transparent; }
.product-grid .product-title { align-self: stretch; }
.product-grid .product-price { margin-top: auto; align-self: start; }
.product-grid .product-desc { margin-bottom: 8px; align-self: start; }
.collection-banner { width: 100%; box-sizing: border-box; aspect-ratio: 6 / 1; min-height: 55px; background: #d6e9ff; border-block: 1px solid #777; display: grid; place-items: center; font: 11px 'Courier New',monospace; color: #36526b; }
.collection-banner img { display: block; width: 100%; height: 100%; object-fit: contain; }
.links-placeholder { cursor: default; opacity: .65; }
.collector-entry { padding:0; background:transparent; border:0; width:100%; font-size:12px; line-height:1.8; }
.collector-entry .collector-feature { display:flex; margin:0 0 10px; width:100%; box-sizing:border-box; }
.collector-share textarea { display:block; width:100%; box-sizing:border-box; font:13px/1.5 Arial,sans-serif; }
.latest-topics { margin-top:14px; font:11px/1.4 Arial,sans-serif; }
.latest-topics > a { padding:6px 2px; border-bottom:1px dotted #9caab3; overflow-wrap:anywhere; }
.latest-topics small { display:block; color:#53606a; margin-top:3px; font-size:10px; }
.collector-scene { position:relative; margin-top:10px; perspective:600px; }
.collector-background { display:block; width:100%; height:auto; }
.peel-sticker { position:absolute; width:12%; aspect-ratio:1; border:0; padding:0; background:transparent; cursor:grab; transform:rotate(var(--tilt)); transition:opacity .15s; filter:drop-shadow(0 1px 1px #555); }
.peel-sticker img { width:100%; height:100%; object-fit:contain; pointer-events:none; }
.peel-sticker::after { content:""; position:absolute; inset:50% auto auto 50%; width:max(100%,24px); height:max(100%,24px); transform:translate(-50%,-50%); }
.peel-sticker:hover:not(:disabled) { filter:drop-shadow(3px 5px 2px #555); }
.peel-sticker:focus-visible { outline:2px dashed #fff36b; outline-offset:3px; }
.peel-sticker.picked { cursor:pointer; filter:none; }
.peel-sticker.picked img { opacity:0; }
.peel-sticker:disabled:not(.picked) { cursor:not-allowed; }
.collector-basket-row { padding:8px; background:#d4d0c8; border:2px ridge #ddd; margin-top:6px; }
#packBasket { display:grid; grid-template-columns:repeat(4,1fr); min-height:70px; gap:5px; padding-top:8px; }
.basket-sticker,.basket-empty { border:1px dashed #7d7160; background:#e7dfcf; position:relative; display:grid; place-items:center; min-width:0; }
.basket-sticker { cursor:pointer; }
.basket-sticker img { width:70px; max-width:100%; height:65px; object-fit:contain; }
.basket-sticker span { position:absolute; top:0; right:3px; }
.flying-sticker { position:fixed; z-index:1000; pointer-events:none; object-fit:contain; transform-origin:top left; }
.collector-share { margin-top:15px; padding:8px; border:1px solid #999; background:#eef5fa; }
.collector-share label { display:block; margin:8px 0; }
.collector-share input { width:100%; box-sizing:border-box; margin-top:4px; }
#collectorStatus { min-height:2em; }
#confirmPack { white-space:normal; }
.cart-pack-thumb { display:grid; grid-template-columns:repeat(2,1fr); width:80px; max-width:100%; gap:2px; }
.cart-pack-thumb img { width:100%; height:auto; }
.forum-pack { border:1px solid #999; padding:8px; margin:8px 0; background:#eee8db; }
.forum-pack > div { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:6px 0; }
.forum-pack img { width:100%; height:auto; }
@media(max-width:800px){.collector-entry a { display:inline-block; } .collector-share input { font-size:16px; } .peel-sticker { min-width:0; min-height:0; } .collector-share button { min-height:28px; } }
@media(prefers-reduced-motion:reduce){.peel-sticker { transition:none; }}
.sticker-contents-grid figure { margin:0; min-width:0; }
.sticker-contents-grid figcaption { font:10px 'Courier New',monospace; padding:3px; }
.member-utility { padding:4px 8px; text-align:right; font:11px Arial,sans-serif; background:#eee; border-bottom:1px solid #999; }
.member-page, #communityPreview { padding:8px; min-width:0; overflow-wrap:anywhere; }
.community-topic-list > article { padding:8px; border-bottom:1px solid #a6b7c7; }
.community-topic-list > article small { display:block; margin-top:4px; color:#555; }
.community-form > small { display:block; margin-top:8px; }
.avatar-picker img { background:#d4d0c8; }
.member-page h2 { font: bold 14px 'Times New Roman',serif; margin:16px 0 6px; }
.member-name { display:block; font-weight:bold; }
.public-member small, .community-author small { display:block; margin:4px 0; }
.profile-portrait { width:100px; height:100px; object-fit:contain; background:#ddd; border:2px ridge #ddd; }
.avatar-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(65px,1fr)); gap:5px; max-height:280px; overflow-y:auto; }
.avatar-picker label { margin:0; cursor:pointer; }
.avatar-picker img { width:55px; height:55px; object-fit:contain; display:block; border:2px solid transparent; }
.avatar-picker input:checked + img { border-color:#005596; background:#d6e9ff; }
.community-form input:not([type=checkbox]):not([type=radio]), .community-form select { box-sizing:border-box; max-width:100%; }
.community-form input[type=checkbox],.community-form input[type=radio] { width:auto; }
.community-author > a > img { width:64px; height:64px; object-fit:contain; }
.community-body, #postPreview { white-space:pre-wrap; overflow-wrap:anywhere; }
.community-message { min-width:0; }
.owned-mini,.profile-saved { display:flex; flex-wrap:wrap; gap:4px; }
.owned-mini img { width:24px; height:24px; object-fit:contain; }
.profile-saved img { width:70px; height:70px; object-fit:contain; }
.member-supporter { border-bottom:1px dotted currentColor; }
.member-collector { text-shadow:1px 1px #dfc886; }
.member-archive { text-shadow:1px 1px #dfc886,-1px 0 #a6cee7; }
.season-mark { color:#704314; font-family:'Courier New',monospace; }
#communityPage .community-posts { max-height:none; }
@media(max-width:800px) { .member-utility { font-size:12px; } .member-utility a { display:inline-block; padding:5px 0; } .community-author { width:72px; } .community-form input,.community-form textarea,.community-form select { font-size:16px; } }
.mini-calendar { margin-top: 14px; font: 10px Arial,sans-serif; }
.mini-calendar table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: center; background: #eee; }
.mini-calendar caption { background: #d6e9ff; padding: 5px 0; font-weight: bold; }
.mini-calendar th, .mini-calendar td { padding: 3px 0; }
.mini-calendar td a { display: block; padding: 2px 0; background: #fff36b; border: 1px solid #b59100; font-weight: bold; }
.mini-calendar p { margin: 5px 0; }
.mobile-release-summary { display: none; }
@media(max-width:800px) { .mobile-release-summary { display: block; padding: 6px; background: #eee; font-size: 12px; } }
.release-teaser { display: block; margin-top: 8px; padding: 5px; border: 1px solid #9b9b9b; background: #fff; text-decoration: none; }
.release-teaser-badge { display: block; padding: 2px; color: #000; background: #fff36b; font: bold 9px Arial,sans-serif; }
.release-teaser strong { display: block; margin: 5px 0; color: #005596; font: bold 12px 'Times New Roman',serif; text-decoration: underline; }
.release-teaser time { display: block; color: #b00000; font-weight: bold; margin-bottom: 5px; }
.release-teaser > span:last-child { font-size: 8px; }
.release-list { padding: 8px; }
.release-list .release-entry { grid-template-columns: 68px 120px minmax(0,1fr); gap: 10px; align-items: start; }
.release-list .release-entry time { display: block; line-height: 1.5; }
.release-thumbnail img { width: 100%; height: auto; display: block; border: 1px inset #888; box-sizing: border-box; }
.release-list .release-entry h2 { margin-bottom: 5px; font-size: 17px; }
.release-list .release-entry p { margin: 0; font-size: 12px; }
.release-preview-note { margin: 4px 0; font-size: 10px; color: #555; }
/* Community: blue group headings, colored board names, warm reading surfaces. */
.collector-feature { display:flex; align-items:center; gap:12px; margin:8px 0 14px; padding:8px; background:#e6f2e5; border:2px ridge #b0baa8; color:#234c31; text-decoration:none; }
.collector-feature img { width:140px; max-width:35%; height:auto; border:1px solid #6f765d; }
.collector-feature b { font:bold 17px 'Times New Roman',serif; }
.collector-feature span { line-height:1.5; }
#customPackPreview canvas { display:block; width:180px; max-width:100%; height:auto; margin:8px auto; }
.forum-path { margin:5px 0 9px; font:12px/1.7 Arial,sans-serif; }
.forum-board-group { margin:12px 0; border:1px solid #92a5b4; }
.forum-board-group h2 { margin:0; padding:7px; background:#d6e9ff; color:#173f67; font:bold 12px Arial,sans-serif; border-bottom:1px solid #92a5b4; }
.forum-board-row { display:grid; grid-template-columns:minmax(0,1.6fr) 58px minmax(0,1fr); align-items:center; gap:9px; padding:10px; background:#f8faf8; border-left:4px solid var(--board-color); border-bottom:1px solid #c3cec9; }
.forum-board-row:last-child { border-bottom:0; }
.board-name { font-weight:bold; }
.forum-board-row p { margin:5px 0 0; color:#394449; font:12px/1.45 Arial,sans-serif; }
.board-latest { font:12px/1.45 Arial,sans-serif; }
.board-latest small { display:block; color:#535b60; margin-top:4px; }
.community-topic-list > article { display:grid; grid-template-columns:56px minmax(0,1fr) 85px; gap:9px; align-items:center; background:#f8faf8; }
.community-topic-list > article[hidden] { display:none; }
.topic-thumbnail img,.topic-thumbnail canvas { width:56px; height:56px; object-fit:contain; display:block; }
.topic-placeholder { display:grid; place-items:center; width:40px; height:40px; border:1px solid #9eaeb9; background:#e3edf5; color:#355d78; font:bold 18px monospace; }
.topic-title { font-weight:bold; }
.community-post { grid-template-columns:105px minmax(0,1fr); border:1px solid #b2c2c6; margin-bottom:7px; }
.community-author { background:#e6eff1; padding:9px 6px; font:11px/1.4 Arial,sans-serif; }
.community-message { background:#fffef8; padding:10px; font:13px/1.6 Arial,sans-serif; color:#222; }
.community-message header { padding-bottom:5px; border-bottom:1px dotted #acb8ba; font-size:11px; }
.community-body { min-height:35px; }
.community-message blockquote { margin:8px 0; padding:8px; border-left:3px solid #8ca6b6; background:#edf1f2; }
.community-post-actions { padding-top:8px; }
.thread-attachment { display:block; padding:8px; margin:8px 0; border:1px solid #a6b7c7; background:#f5f3eb; }
.thread-attachment img { display:block; max-width:100%; max-height:380px; width:auto; height:auto; margin:auto; }
.forum-pack canvas { display:block; width:240px; max-width:100%; height:auto; margin:8px auto; }
.forum-pack { background:#f4f0e4; }
.sample-members { margin:15px 0; padding:8px; border:1px solid #a6b7c7; background:#edf3f5; }
.sample-members h2 { margin:0 0 8px; }
.sample-members h2 small { font:11px Arial,sans-serif; color:#4c5457; }
.sample-members > a { display:inline-flex; align-items:center; gap:5px; margin:5px 12px 5px 0; font-size:12px; }
.sample-members img { width:40px; height:40px; object-fit:contain; }
.profile-favorites { display:grid; grid-template-columns:110px minmax(0,1fr); max-width:600px; margin:14px 0; }
.profile-favorites dt,.profile-favorites dd { margin:0; padding:7px; border-bottom:1px solid #b6c5c8; }
.profile-favorites dt { background:#e6eff1; font-weight:bold; }
.profile-favorites dd { background:#fffef8; }
.collector-feature canvas { display:block; width:180px; max-width:40%; height:auto; border:1px solid #6f765d; }
.member-tags { display:flex; flex-wrap:wrap; gap:3px; margin:5px 0; }
.member-tags li { color:#234b53; font:11px/1.25 Arial,sans-serif; }
.profile-bio { white-space:pre-wrap; font:13px/1.6 Arial,sans-serif; max-width:600px; }
.profile-tastes { display:grid; grid-template-columns:80px minmax(0,1fr); max-width:600px; }
.profile-tastes dt,.profile-tastes dd { margin:0; padding:7px; border-bottom:1px solid #b6c5c8; white-space:pre-wrap; }
.profile-tastes dt { font-weight:bold; background:#e6eff1; }
.favorite-piece { margin:14px 0; padding:8px; border:1px solid #a4b4b7; width:190px; max-width:100%; box-sizing:border-box; background:#fffef8; }
.favorite-piece figcaption { font:11px 'Courier New',monospace; margin-bottom:6px; }
.favorite-piece img { display:block; width:100%; height:auto; margin-bottom:5px; }
.brief-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.brief-form-grid input,.brief-form-grid select { width:100%; }
.collaboration-brief { padding:10px; margin:10px 0; border:1px solid #9d9e80; background:#f8f5e7; font:12px/1.5 Arial,sans-serif; }
.brief-heading { display:flex; gap:10px; justify-content:space-between; padding-bottom:6px; border-bottom:1px solid #b6b7a1; }
.opportunity-state { color:#286340; font-weight:bold; }
.collaboration-brief dl { display:grid; grid-template-columns:115px minmax(0,1fr); margin:8px 0; }
.collaboration-brief dt,.collaboration-brief dd { margin:0; padding:5px; border-bottom:1px dotted #b6b7a1; overflow-wrap:anywhere; }
.collaboration-brief dt { font-weight:bold; }
.collaboration-summary { display:block; margin-top:5px; color:#655020; font:11px/1.5 Arial,sans-serif; }
.collaboration-filters { display:flex; flex-wrap:wrap; gap:8px; padding:8px; margin:8px 0; background:#eef2ec; border:1px solid #acb8a8; font:12px Arial,sans-serif; }
.collaboration-filters label { flex:1 1 120px; }
.collaboration-filters select { display:block; width:100%; margin-top:4px; }
.collaboration-filters [role=status] { align-self:end; padding-bottom:4px; }
@media(max-width:600px){.brief-form-grid { grid-template-columns:1fr; }.collaboration-brief dl { grid-template-columns:90px minmax(0,1fr); }}
.community-form fieldset { border:1px solid #9eafb9; margin:12px 0; }
.community-form legend { color:#244e69; font-weight:bold; }
.cart-pack-thumb canvas { width:80px; max-width:100%; height:auto; }
@media(max-width:800px) {
 .forum-board-row { grid-template-columns:minmax(0,1fr) 55px; gap:6px; }
 .board-latest { grid-column:1/-1; border-top:1px dotted #b2c2c6; padding-top:5px; }
 .community-topic-list > article { grid-template-columns:44px minmax(0,1fr); }
 .topic-thumbnail img,.topic-thumbnail canvas { width:44px; height:44px; }
 .topic-stats { grid-column:2; }
 .community-post { grid-template-columns:80px minmax(0,1fr); }
 .community-author { width:auto; padding:7px 4px; }
 .community-message { padding:8px; }
 .community-post-actions button { min-height:24px; }
}
.upcoming-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.upcoming-gallery img { display: block; width: 100%; height: auto; }
.upcoming-gallery figure { margin: 0; padding: 4px; border: 1px solid #888; background: #fff; }
.upcoming-gallery figure:first-child { grid-column: 1 / -1; }
.upcoming-gallery figcaption { padding-top: 4px; font: 10px 'Courier New',monospace; }
@media(max-width:480px){.release-list .release-entry { grid-template-columns: 50px 82px minmax(0,1fr); gap: 7px; }.release-list .release-entry h2{font-size:15px}.release-list .release-entry time{font-size:11px}}
.pack-vote-gallery{padding:10px;border:1px solid #69937a;background:#edf4ed;margin:10px 0}.pack-vote-gallery h2{font-size:14px;margin:0 0 8px}.pack-vote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.pack-vote-grid article{background:#fffdf4;border:1px solid #a4af9d;padding:7px;min-width:0;display:flex;flex-direction:column;gap:5px}.pack-vote-grid canvas{display:block;width:100%;height:auto}.pack-vote-grid small{display:block}.pack-vote-grid p{flex:1;overflow-wrap:anywhere}.pack-vote-grid button[aria-pressed=true]{background:#c4e6c7}.topic-context{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;padding:10px;background:#edf3f7;overflow-wrap:anywhere}.topic-context:empty{display:none}.topic-context dt{font-weight:bold}.topic-context dd{margin:0}.demo-notice{font-size:11px;color:#59616a}@media(max-width:800px){.pack-vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.forum-badge-icon{display:inline-block;flex:0 0 26px;width:26px;height:26px;background-image:url('/assets/forum-badges-v3.png');background-size:400% 300%;image-rendering:pixelated;vertical-align:middle}.member-tags li{display:flex;align-items:center;gap:3px;max-width:100%;font-size:10px}.member-tags{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.unread-flag{font:10px 'Courier New',monospace;color:#286340}.community-post-actions [aria-pressed=true]{color:#286340;font-weight:bold}.permanent-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.permanent-pack-grid article{min-width:0;padding:6px;border:1px solid #9aa899}.permanent-pack-grid canvas{width:100%;height:auto}.permanent-pack-grid p{overflow-wrap:anywhere}@media(max-width:800px){.permanent-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forum-badge-icon{width:24px;height:24px;flex-basis:24px}}
@media(max-width:800px){.community-author .member-tags li{flex-direction:column;align-items:center;box-sizing:border-box;width:100%;text-align:center;overflow-wrap:normal;word-break:normal;gap:0}.community-author .member-tags{width:100%}}
.unread-flag{display:inline-block;margin-left:6px;font-weight:bold}.round-summary{padding:8px;background:#dcebdc;border:1px solid #93a68d;margin:8px 0}.round-summary>span{float:right;font:11px 'Courier New',monospace}.round-summary p{margin:5px 0 0}.round-standings{margin:10px 0;padding:7px;background:#fffdf4;border:1px solid #b7bdac}.round-standings li{margin:5px 0}.community-post:target{outline:2px solid #69937a;outline-offset:-2px}.community-post-actions{flex-wrap:wrap}.community-toolbar a[aria-current=page]{font-weight:bold;color:#286340}@media(max-width:400px){.round-summary>span{float:none;display:block;margin-top:4px}}
.reply-image{display:block;margin:10px 0;max-width:100%}.reply-image img{display:block;max-width:100%;max-height:420px;width:auto;height:auto;border:1px solid #9aa6ab}.attachment-preview{max-width:180px;max-height:140px;margin:8px 0}.reply-attachment-fields,.badge-guide{padding:7px;border:1px solid #b2bfc4;background:#f3f7f8;margin:8px 0}.badge-requirement{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px dotted #b2bfc4}.badge-requirement p{margin:4px 0;font-size:12px;line-height:1.4}.badge-requirement>div{min-width:0}.reply-attachment-fields summary,.badge-guide summary{cursor:pointer}
/* Badge showcase: reuse the pixel atlas, keep labels legible, no tall badge stacks. */
.member-tags { list-style:none; padding:0; margin:7px 0; gap:5px; }
.member-tags li { box-sizing:border-box; display:flex; align-items:center; gap:6px; padding:3px 0; border:0; background:transparent; font-size:11px; }
.member-tags li span { min-width:0; }
.public-member .member-tags, .badge-preview .member-tags { flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:6px 12px; }
.public-member .member-tags li, .badge-preview .member-tags li { border-bottom:1px solid #b1c4cb; padding:5px 7px 5px 0; }
.badge-showcase fieldset { border:1px solid #97acb8; background:#f3f7f8; }
.badge-showcase legend { background:#d6e9ff; border:1px solid #97acb8; padding:4px 7px; color:#003b64; font:bold 12px 'Courier New',monospace; }
.badge-showcase p { line-height:1.45; }
.badge-showcase fieldset>small { display:block; margin-top:9px; line-height:1.5; color:#415662; }
.badge-showcase [data-clear-badges] { margin-left:8px; }
.badge-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.badge-slots label { min-width:0; font-size:12px; }
.badge-slots select { width:100%; margin-top:5px; }
.badge-preview { padding:9px; margin-top:10px; background:#e6eff1; border:1px inset #c3cbd0; }
.badge-preview>small { color:#3b5967; font:10px 'Courier New',monospace; }
.badge-empty { margin:7px 0; font-size:12px; color:#52636b; }
#badgeStatus { min-height:1.5em; font-size:12px; }
@media(max-width:800px){
 .community-author .member-tags li { border-bottom:1px dotted #b1c4cb; padding:4px 0; gap:3px; font-size:10px; line-height:1.3; }
 .badge-slots { grid-template-columns:1fr; gap:3px; }
 .badge-showcase button { min-height:32px; }
}

/* Collection-only homepage and restrained looping custom preview. */
#collectionCards { grid-template-columns: minmax(0,1fr); }
#collectionCards .collection-card { grid-template-columns: 48% 1fr; min-height: 200px; }
#collectionCards .collection-thumb-strip img { height: 110px; object-fit: contain; background: #eee; }
.catalog-hue-loop {
  animation: catalogue-hue 5s linear infinite;
  will-change: filter;
}
.product-price.catalog-hue-loop { animation-duration:2s; }
@keyframes catalogue-hue {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}
.shop-rail .top-rated-image { max-height: 100px; width: 100%; object-fit: contain; }
.shop-rail .top-rated-item img { max-height: 100px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
/* Mixed-format directory: hero above an uncropped contact sheet. */
#collectionCards .collection-thumb-strip { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:5px; padding:5px; background:#fff; border:0; }
#collectionCards .collection-thumb-strip img { width:auto; height:auto; max-width:30%; max-height:78px; background:transparent; }
#collectionCards .collection-thumb-strip .collection-featured-preview { width:100%; max-width:100%; max-height:none; flex-basis:100%; }
.mobile-buy-jump { display:none; }
.mobile-home-likes,.mobile-footer-links { display:none; }
@media(max-width:800px){
  .mobile-footer-links { display:block; margin:8px 5px; padding:0 6px 8px; border:1px solid #7f9db9; background:#fff; }
  .mobile-footer-links .shop-links-panel { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
  .mobile-footer-links .rail-title { flex:0 0 100%; margin:0 0 2px; box-sizing:border-box; padding:5px; }
  .mobile-footer-links .retro-link-tile { flex:0 0 138px; width:138px; min-height:44px; margin:0; box-sizing:border-box; }
}
@media (max-width:800px) {
  #collectionCards .upcoming-collection-card { display:none; }
  .mobile-home-likes { display:block; margin:8px 5px; }
  .mobile-home-likes .top-rated-panel { margin:0; padding:0 6px 6px; }
  .mobile-home-likes .rail-title { margin:0 -6px 6px; padding:5px; }
  .mobile-home-likes [data-top-rated] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:6px 0; font-size:12px; }
  .mobile-home-likes .top-rated-item { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; text-align:center; overflow-wrap:anywhere; padding:4px 0; }
  .mobile-home-likes .top-rated-item img { width:auto; height:auto; max-width:100%; max-height:110px; }
  .mobile-home-likes .top-rated-item small { color:#18702a; }
  .mobile-home-likes [data-top-rated].ratings-empty { display:block; }
  .mobile-home-likes .best-rated-link { display:block; padding:10px 3px; border-top:1px dotted #7f9db9; font-size:12px; }
}
@media (max-width:600px) {
  #collectionCards .collection-card { grid-template-columns:minmax(0,1fr); min-height:0; }
  #collectionCards .collection-thumb-strip { min-width:0; }
  #collectionCards .collection-thumb-strip .collection-featured-preview { width:100%; height:auto; }
  #collectionCards .sealed-foil { min-height:142px; }
  .mobile-buy-jump { display:block; margin:7px 0 10px; padding:10px 8px; border:2px outset #d1c767; background:#fff36b; color:#003b70; text-align:center; font:bold 12px 'Courier New',monospace; }
  .detail-buy-box { scroll-margin-top:8px; }
}
.leaderboard-rank { font:bold 13px 'Courier New',monospace; color:#005596; background:#fff36b; padding:3px; margin-bottom:5px; }
.custom-confirm-dialog { width:min(600px,94vw); padding:8px; border:3px outset #eee; background:#d4d0c8; }
.custom-confirm-dialog::backdrop { background:rgba(0,0,0,.7); }
.custom-confirm-dialog .confirmed-preview { display:block; width:auto; max-width:100%; max-height:55dvh; margin:8px auto; }
.custom-confirm-dialog .dialog-actions { justify-content:space-between; gap:8px; }

/* Animated pixel GIFs in the original 138 x 40 desktop slots. */
.shop-links-panel .retro-link-tile {
  height:40px; background-size:100% 100%; background-repeat:no-repeat;
  box-shadow:none; animation:none; opacity:1; overflow:hidden; image-rendering:pixelated;
}
.shop-links-panel .retro-link-tile b {
  margin-left:23px; font:bold 10px/14px 'Courier New',monospace; letter-spacing:0;
  white-space:nowrap; text-shadow:1px 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000;
}
.shop-links-panel .retro-link-tile span {
  margin-left:23px; font-size:6px; line-height:8px;
  text-shadow:1px 1px #000,-1px -1px #000;
}
.shop-links-panel .retro-link-tile-cyan { background-image:url('/assets/link-graphics/instagram.gif'); }
.shop-links-panel .retro-link-tile-pink { background-image:url('/assets/link-graphics/pinterest.gif'); }
.shop-links-panel .retro-link-tile-lime { background-image:url('/assets/link-graphics/custom-poster.gif'); }
