/* Collezione 2.0 (/collezione) e faccia delle card (anche nel profilo e nella vetrina).
   Caricato su tutte le pagine dopo progression.css. Classi .pg-card*, .pg-coll*, .pg-sheet*, .pg-reveal*.
   Colori delle rarità solo per le card: la Leggendaria è arancione così non si confonde mai con l'Oro. */
:root {
  --pg-card-common: var(--ds-rarity-common, #9aa7b3);
  --pg-card-rare: var(--ds-rarity-rare, #4ab8ff);
  --pg-card-epic: var(--ds-rarity-epic, #b06bff);
  --pg-card-legend: #ff9a3d;
  --pg-card-mythic: #ff4f8b;
  --pg-card-foil: #ffd75e;
}
/* Colore della rarità (--pg-rc). Il default della faccia (Comune) è in :where(.pg-card) più sotto: specificità zero,
   così queste classi vincono sempre, anche se vengono prima nel file. */
.pg-rarity--common { --pg-rc: var(--pg-card-common); }
.pg-rarity--rare { --pg-rc: var(--pg-card-rare); }
.pg-rarity--epic { --pg-rc: var(--pg-card-epic); }
.pg-rarity--legend { --pg-rc: var(--pg-card-legend); }
.pg-rarity--mythic { --pg-rc: var(--pg-card-mythic); }

.pg-sheet-backdrop, .pg-vetrina-profile {
  --pg-ink: var(--ds-ink-900); --pg-ink-2: var(--ds-ink-850); --pg-ink-3: var(--ds-ink-800);
  --pg-paper: var(--ds-text); --pg-lime: var(--ds-lime); --pg-muted: var(--ds-text-2);
  --pg-rule: var(--ds-line); --pg-rule-strong: var(--ds-line-strong); --pg-display: var(--ds-font-display); --pg-body: var(--ds-font-body);
}
.pg-sheet-backdrop *, .pg-vetrina-profile * { box-sizing: border-box; }
.pg-sheet-backdrop :is(a, button, select, input, summary):focus-visible, .pg-coll :is(summary):focus-visible, .pg-vetrina-profile button:focus-visible { outline: 3px solid var(--ds-lime); outline-offset: 3px; }

/* ------------------------------ Gemma, chip, Frammenti ------------------------------ */
.pg-gem { display: inline-flex; align-items: center; gap: 2px; flex: none; vertical-align: middle; }
.pg-gem i { width: 6px; height: 6px; transform: rotate(45deg); background: var(--pg-rc); box-shadow: 0 0 6px color-mix(in srgb, var(--pg-rc) 70%, transparent); }
.pg-gem .pg-gem-star { width: 12px; height: 12px; transform: none; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); background: linear-gradient(135deg, #ffd1e2, var(--pg-card-mythic) 55%, #c03bff); }
.pg-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); color: var(--ds-text-2); font: 700 12px/1 var(--ds-font-body); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.pg-chip[class*="pg-rarity--"] { border-color: color-mix(in srgb, var(--pg-rc) 60%, transparent); color: color-mix(in srgb, var(--pg-rc) 65%, var(--ds-text)); background: color-mix(in srgb, var(--pg-rc) 10%, transparent); }
.pg-chip-oro, .pg-oro-tag { display: inline-flex; align-items: center; padding: 2px 6px; margin-left: 4px; border-radius: 2px; background: linear-gradient(120deg, #b98a1c, var(--pg-card-foil) 45%, #fff3c4 55%, #c9971f); color: #2b1d00; font: 800 10px/1.2 var(--ds-font-body); letter-spacing: .08em; vertical-align: 2px; }
.pg-chip--you { border-color: var(--ds-lime-line); color: var(--ds-lime); }
.pg-frag { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.pg-shard { flex: none; color: #63e6ff; filter: drop-shadow(0 0 4px rgba(99, 230, 255, .55)); }
.pg-btn-gain { display: inline-flex; align-items: center; gap: 3px; margin-left: 4px; font-weight: 700; }
.ds-btn--primary .pg-btn-gain .pg-shard { color: #0b6f86; filter: none; }

/* ------------------------------ Faccia della card ------------------------------ */
:where(.pg-card) { --pg-rc: var(--pg-card-common); }
.pg-card {
  --pg-c1: #2a3644; --pg-c2: #121a23; --pg-c3: #1d2733;
  container-type: inline-size;
  position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; isolation: isolate;
  border: 2px solid color-mix(in srgb, var(--pg-rc) 70%, transparent); background: var(--ds-ink-850); color: var(--ds-text); font-family: var(--ds-font-body);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.pg-card *, .pg-card *::before, .pg-card *::after { box-sizing: border-box; }
.pg-card.pg-rarity--rare { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5), 0 10px 26px -16px var(--pg-rc); }
.pg-card.pg-rarity--epic { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5), 0 0 18px -6px var(--pg-rc), 0 14px 30px -16px var(--pg-rc); }
.pg-card.pg-rarity--legend { border-color: var(--pg-rc); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5), 0 0 24px -4px var(--pg-rc); animation: pg-legend-edge 3.2s ease-in-out infinite; }
.pg-card.pg-rarity--mythic { border-color: transparent; background: linear-gradient(var(--ds-ink-850), var(--ds-ink-850)) padding-box, linear-gradient(135deg, #ffd1e2, var(--pg-card-mythic), #a35bff, #4ad9ff, var(--pg-card-mythic)) border-box; box-shadow: 0 0 28px -4px var(--pg-card-mythic); }
@keyframes pg-legend-edge { 50% { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5), 0 0 34px 0 var(--pg-rc); } }
.pg-card-bg { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--pg-c1) 85%, transparent), transparent 70%), linear-gradient(170deg, var(--pg-c3), var(--pg-c2) 60%, var(--ds-ink-950)); }
.pg-card--map .pg-card-bg { background: linear-gradient(170deg, #20303e, var(--ds-ink-900)); }
.pg-card--weapon .pg-card-bg { background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--pg-rc) 22%, transparent), transparent 62%), linear-gradient(170deg, #1a2531, var(--ds-ink-900)); }
.pg-card.is-textonly .pg-card-bg { background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--pg-rc) 24%, transparent), transparent 64%), linear-gradient(170deg, #1a2531, var(--ds-ink-900)); }
.pg-card-bg::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 10px); }
.pg-card-bgart { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; mix-blend-mode: screen; }
.pg-card-art { position: absolute; z-index: -1; }
.pg-card--agent .pg-card-art { left: -10%; width: 120%; height: 100%; top: 4%; object-fit: cover; object-position: 50% 0; }
.pg-card--map .pg-card-art { inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pg-card--weapon .pg-card-art { left: 8%; width: 84%; top: 28%; height: 34%; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .7)); }
.pg-card::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7, 11, 16, .55) 0, transparent 22%, transparent 50%, rgba(7, 11, 16, .96) 88%); }
/* Riflesso: Epica leggero, Leggendaria forte, Mitica olografica. */
.pg-card.pg-rarity--epic::before, .pg-card.pg-rarity--legend::before, .pg-card.pg-rarity--mythic::before {
  content: ""; position: absolute; inset: -40%; z-index: 1; pointer-events: none; mix-blend-mode: screen; opacity: .2;
  background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, .55) 48%, transparent 56%);
  animation: pg-holo 4.5s ease-in-out infinite;
}
.pg-card.pg-rarity--legend::before { opacity: .38; }
.pg-card.pg-rarity--mythic::before { opacity: .55; background: linear-gradient(115deg, transparent 30%, rgba(255, 79, 139, .55) 40%, rgba(255, 215, 94, .5) 46%, rgba(74, 217, 255, .55) 52%, rgba(163, 91, 255, .5) 58%, transparent 68%); animation-duration: 3.2s; }
@keyframes pg-holo { 0%, 100% { transform: translateX(-30%); } 50% { transform: translateX(30%); } }
.pg-card-mono {
  position: absolute; inset: 0; z-index: -1; display: grid; place-items: center; padding-bottom: 16%;
  font: 400 clamp(26px, 44cqw, 120px)/1 var(--ds-font-display); text-transform: uppercase; letter-spacing: -.02em;
  color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--pg-rc) 85%, transparent);
  text-shadow: 0 0 30px color-mix(in srgb, var(--pg-rc) 45%, transparent);
}
.pg-card-top { position: absolute; z-index: 2; top: 6cqw; left: 6cqw; right: 6cqw; display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.pg-card-top em { font-style: normal; font-size: clamp(8px, 5.4cqw, 11px); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: .35em .55em; background: rgba(7, 11, 16, .72); color: var(--ds-text); white-space: nowrap; }
.pg-card-top .pg-gem { padding: 4px 5px; background: rgba(7, 11, 16, .72); }
.pg-card-top .pg-gem i { width: clamp(4px, 3.4cqw, 7px); height: clamp(4px, 3.4cqw, 7px); }
.pg-card-top .pg-gem .pg-gem-star { width: clamp(9px, 7cqw, 14px); height: clamp(9px, 7cqw, 14px); }
.pg-card-count, .pg-card-goldbadge, .pg-card-ribbon, .pg-card-listed { position: absolute; z-index: 2; font: 400 clamp(11px, 7.5cqw, 16px)/1 var(--ds-font-display); padding: .25em .45em; letter-spacing: .02em; }
.pg-card-count { top: calc(6cqw + clamp(18px, 13cqw, 28px)); right: 6cqw; background: var(--ds-lime); color: var(--ds-on-lime); }
.pg-card-ribbon { top: calc(6cqw + clamp(18px, 13cqw, 28px)); left: 6cqw; background: linear-gradient(120deg, #b98a1c, var(--pg-card-foil) 45%, #fff3c4 55%, #c9971f); color: #2b1d00; letter-spacing: .1em; }
.pg-card-goldbadge { top: calc(6cqw + clamp(18px, 13cqw, 28px)); left: 6cqw; background: rgba(7, 11, 16, .8); color: var(--pg-card-foil); border: 1px solid var(--pg-card-foil); font-size: clamp(10px, 6cqw, 13px); }
.pg-card-listed { bottom: calc(6cqw + clamp(34px, 26cqw, 64px)); left: 6cqw; background: rgba(7, 11, 16, .86); border: 1px solid var(--ds-lime-line); color: var(--ds-lime); font: 700 clamp(9px, 5.4cqw, 11px)/1 var(--ds-font-body); letter-spacing: .06em; text-transform: uppercase; }
.pg-card-foot { position: absolute; z-index: 2; left: 6cqw; right: 6cqw; bottom: 6cqw; }
.pg-card-foot strong { display: block; font: 400 clamp(12px, 13cqw, 30px)/1 var(--ds-font-display); text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-card-foot small { display: block; margin-top: .4em; font-size: clamp(8px, 5.4cqw, 11px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: color-mix(in srgb, var(--pg-rc) 70%, var(--ds-text)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-card.is-missing { border-color: rgba(243, 240, 231, .14); box-shadow: none; background: var(--ds-ink-900); animation: none; }
.pg-card.is-missing.pg-rarity--mythic { background: var(--ds-ink-900); border-color: rgba(243, 240, 231, .14); }
.pg-card.is-missing .pg-card-art { filter: brightness(0) saturate(0); opacity: .55; }
.pg-card.is-missing .pg-card-bg { filter: grayscale(1) brightness(.45); }
.pg-card.is-missing .pg-card-mono { visibility: hidden; }
.pg-card.is-missing::before { display: none; }
.pg-card.is-missing .pg-gem i, .pg-card.is-missing .pg-gem .pg-gem-star { opacity: .55; box-shadow: none; }
.pg-card.is-missing .pg-card-foot strong { color: rgba(243, 240, 231, .55); }
.pg-card-lock { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; padding-bottom: 14%; font: 400 clamp(28px, 34cqw, 64px)/1 var(--ds-font-display); color: rgba(243, 240, 231, .32); }
/* Oro: lamina dorata che scorre sopra qualunque rarità. */
.pg-card.pg-card--oro { border-color: var(--pg-card-foil); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5), 0 0 22px -4px rgba(255, 215, 94, .8); }
.pg-card-foil { position: absolute; inset: 0; z-index: 1; pointer-events: none; mix-blend-mode: overlay;
  background: linear-gradient(115deg, rgba(255, 215, 94, .35) 0%, rgba(255, 215, 94, 0) 30%, rgba(255, 246, 200, .85) 45%, rgba(255, 215, 94, .55) 52%, rgba(255, 215, 94, 0) 66%, rgba(185, 138, 28, .4) 100%);
  background-size: 260% 100%; animation: pg-foil 2.6s linear infinite; }
.pg-card--oro .pg-card-bg { background: radial-gradient(circle at 50% 36%, rgba(255, 215, 94, .3), transparent 62%), linear-gradient(170deg, #2a2210, var(--ds-ink-900)); }
.pg-card--oro .pg-card-mono { -webkit-text-stroke-color: var(--pg-card-foil); text-shadow: 0 0 30px rgba(255, 215, 94, .5); }
.pg-card--oro .pg-card-foot strong { color: #fff1c2; }
@keyframes pg-foil { from { background-position: 130% 0; } to { background-position: -130% 0; } }
/* Miniatura (liste): solo colore, sigla e bordo. */
.pg-card--xs { border-width: 2px; }
.pg-card--xs .pg-card-top, .pg-card--xs .pg-card-foot, .pg-card--xs .pg-card-count, .pg-card--xs .pg-card-goldbadge, .pg-card--xs .pg-card-ribbon, .pg-card--xs .pg-card-listed, .pg-card--xs::after { display: none; }
.pg-card--xs .pg-card-mono { padding-bottom: 0; -webkit-text-stroke-width: 1px; }
@container (max-width: 150px) { .pg-card-sub { display: none; } }

/* ------------------------------ Usura delle copie (float stile CS) ------------------------------ */
/* Colore della fascia (--pg-wc): da verde (Nuova di fabbrica) a rosso (Segnata dalla battaglia). Sempre con il testo. */
:root { --pg-wear-fn: #5fe08f; --pg-wear-mw: #b8e35c; --pg-wear-ft: #f0c84e; --pg-wear-ww: #f39a4c; --pg-wear-bs: #ef6262; }
.pg-wear--fn { --pg-wc: var(--pg-wear-fn); }
.pg-wear--mw { --pg-wc: var(--pg-wear-mw); }
.pg-wear--ft { --pg-wc: var(--pg-wear-ft); }
.pg-wear--ww { --pg-wc: var(--pg-wear-ww); }
.pg-wear--bs { --pg-wc: var(--pg-wear-bs); }
/* Colori spenti: l'arte perde colore e luce man mano che il float sale (--pg-dull da 0 a 0,65). */
.pg-card--worn .pg-card-art, .pg-card--worn .pg-card-bg, .pg-card--worn .pg-card-mono {
  filter: saturate(calc(1 - var(--pg-dull, 0))) brightness(calc(1 - var(--pg-dull, 0) * .3)) sepia(calc(var(--pg-dull, 0) * .35));
}
.pg-card--worn.pg-card--weapon .pg-card-art { filter: saturate(calc(1 - var(--pg-dull, 0))) brightness(calc(1 - var(--pg-dull, 0) * .3)) sepia(calc(var(--pg-dull, 0) * .35)) drop-shadow(0 8px 14px rgba(0, 0, 0, .7)); }
.pg-wear { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.pg-wear > * { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Riflesso: una striscia di luce (angolo e posizione dal pattern), forte sulle nuove, sparisce sulle consumate. */
.pg-wear-gloss {
  opacity: var(--pg-gloss, 0); mix-blend-mode: screen;
  background:
    linear-gradient(var(--pg-glint-angle, 115deg), transparent calc(var(--pg-glint-at, 50%) - 20%), rgba(255, 255, 255, .1) calc(var(--pg-glint-at, 50%) - 7%), rgba(255, 255, 255, .42) var(--pg-glint-at, 50%), rgba(255, 255, 255, .1) calc(var(--pg-glint-at, 50%) + 5%), transparent calc(var(--pg-glint-at, 50%) + 16%)),
    linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 28%);
}
/* Sporco: una macchia (posizione e grandezza dal pattern, dal lato opposto ai graffi) e bordi più scuri.
   Comincia leggera da Collaudata sul campo e cresce con l'usura. */
.pg-wear-grime {
  opacity: var(--pg-grime, 0); mix-blend-mode: multiply;
  background:
    radial-gradient(ellipse var(--pg-blotch-size, 32%) calc(var(--pg-blotch-size, 32%) * .75) at var(--pg-blotch-x, 70%) var(--pg-blotch-y, 70%), rgba(66, 48, 26, .95), rgba(66, 48, 26, .45) 45%, transparent 72%),
    radial-gradient(ellipse 115% 90% at 50% 50%, transparent 55%, rgba(40, 30, 18, .85) 100%);
}
/* Velo dei graffi: dove si raccolgono i graffi (zona dal pattern) la superficie è opaca e chiara. Si vede anche
   sulle card piccole, dove le righe sottili quasi spariscono. */
.pg-wear-scuff {
  opacity: calc(var(--pg-wearamt, 0) * 1.1); mix-blend-mode: screen;
  background: radial-gradient(ellipse 34% 26% at var(--pg-cluster-x, 50%) var(--pg-cluster-y, 50%), rgba(255, 248, 232, .34), rgba(255, 248, 232, .12) 55%, transparent 75%);
}
/* Graffi: il path del server (viewBox 100x140), riga chiara con un filo d'ombra. */
/* Spezzati (dasharray) come i graffi veri: niente linee dritte e piene. */
.pg-wear-scratches { opacity: var(--pg-scratch-op, 0); overflow: hidden; }
.pg-wear-scratches path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 3.2 .8 1.2 .6 5 1.1 .7 .5 2.4 .9; }
/* Spessore in unità del viewBox (100 = larghezza della card): ~0,9 px a ogni grandezza, così i graffi si vedono anche
   nella griglia dell'album (card larghe 128-140 px). */
.pg-wear-scratch { stroke: rgba(255, 250, 236, .85); stroke-width: .42; }
.pg-wear-scratch-shadow { stroke: rgba(0, 0, 0, .55); stroke-width: .75; transform: translate(.28px, .36px); }
.pg-card--md .pg-wear-scratch { stroke-width: .55; }
.pg-card--sm .pg-wear-scratch { stroke-width: .75; }
.pg-card--sm .pg-wear-scratch-shadow { stroke-width: 1.1; }
.pg-card--xs .pg-wear-scratch { stroke-width: 1.1; stroke-dasharray: none; }
.pg-card--xs .pg-wear-scratch-shadow { display: none; }
/* Bordi consumati: angoli sbiancati (grandezza dal pattern) e qualche intacco qua e là lungo il bordo. */
.pg-wear-edge { opacity: calc(var(--pg-edge, 0) * .9); }
.pg-wear-edge rect { fill: none; stroke: rgba(240, 232, 214, .85); stroke-linecap: round; }
.pg-wear-edge-a { stroke-width: 1.5; stroke-dasharray: .1 9 2.6 15 .1 6 4.2 23 1.4 12 .1 17; }
.pg-wear-edge-b { stroke-width: .7; stroke-dasharray: 1.2 7 .1 11 3 19 .1 5; opacity: .7; }
.pg-card--xs .pg-wear-edge-a { stroke-width: 2.4; }
@container (min-width: 90px) { .pg-card--xs .pg-wear-scratch { stroke-width: .45; stroke-dasharray: 3.2 .8 1.2 .6 5 1.1 .7 .5 2.4 .9; } .pg-card--xs .pg-wear-edge-a { stroke-width: 1.6; } }
.pg-wear-corners {
  opacity: var(--pg-edge, 0);
  background:
    radial-gradient(circle at 0 0, rgba(240, 232, 214, .85), rgba(240, 232, 214, .28) var(--pg-cw1, 4cqw), transparent calc(var(--pg-cw1, 4cqw) * 1.7)),
    radial-gradient(circle at 100% 0, rgba(240, 232, 214, .85), rgba(240, 232, 214, .28) var(--pg-cw2, 4cqw), transparent calc(var(--pg-cw2, 4cqw) * 1.7)),
    radial-gradient(circle at 100% 100%, rgba(240, 232, 214, .85), rgba(240, 232, 214, .28) var(--pg-cw3, 4cqw), transparent calc(var(--pg-cw3, 4cqw) * 1.7)),
    radial-gradient(circle at 0 100%, rgba(240, 232, 214, .85), rgba(240, 232, 214, .28) var(--pg-cw4, 4cqw), transparent calc(var(--pg-cw4, 4cqw) * 1.7));
}
/* Il bordo della rarità si spegne un po' con l'usura (non sulle Mitiche: il loro bordo è un gradiente). */
.pg-card.pg-card--worn:not(.pg-rarity--mythic):not(.is-missing) { border-color: color-mix(in srgb, var(--pg-rc) calc(100% - var(--pg-dull, 0) * 75%), #8c8476); }
.pg-card.pg-card--worn.pg-card--oro:not(.pg-rarity--mythic):not(.is-missing) { border-color: color-mix(in srgb, var(--pg-card-foil) calc(100% - var(--pg-dull, 0) * 60%), #8c8476); }
/* Oro: un punto di luce sulla lamina (dove, dal pattern; quanto, dal float) e la lamina inclinata a modo suo. */
.pg-wear-shine { opacity: calc(var(--pg-shine, 0) * .75); mix-blend-mode: screen; background: radial-gradient(circle at var(--pg-shine-x, 50%) var(--pg-shine-y, 50%), rgba(255, 248, 214, .95), rgba(255, 215, 94, .45) 14%, rgba(255, 215, 94, 0) 38%); }
.pg-card--worn .pg-card-foil {
  background-image: linear-gradient(var(--pg-foil-angle, 115deg), rgba(255, 215, 94, .35) 0%, rgba(255, 215, 94, 0) 30%, rgba(255, 246, 200, .85) 45%, rgba(255, 215, 94, .55) 52%, rgba(255, 215, 94, 0) 66%, rgba(185, 138, 28, .4) 100%);
  animation-delay: var(--pg-foil-delay, 0ms); opacity: calc(.45 + var(--pg-shine, 1) * .55);
}
/* Perfetta (float sotto 0,01): bordo che brilla. */
.pg-card.is-perfect { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5), 0 0 22px -6px rgba(255, 255, 255, .55); }
.pg-card.is-perfect.pg-card--oro { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 0 26px -4px rgba(255, 215, 94, .9); }

/* Fascia, float e numero sotto il nome della card. */
.pg-card-copy { display: flex; align-items: center; gap: .4em; margin-top: .55em; font: 700 clamp(8px, 5.2cqw, 11px)/1 var(--ds-font-body); }
.pg-card-copy .pg-wear-chip, .pg-card-copy .pg-serial { font-size: inherit; }
.pg-card-copy .pg-serial { margin-left: auto; background: rgba(7, 11, 16, .78); color: var(--ds-text); }
.pg-card-copy .pg-serial.is-low { background: #f3f0e7; color: #0b0f14; }
.pg-card-float { color: rgba(243, 240, 231, .9); font-variant-numeric: tabular-nums; letter-spacing: .02em; text-shadow: 0 1px 2px rgba(0, 0, 0, .8); white-space: nowrap; }
@container (max-width: 117px) { .pg-card-float { display: none; } }
/* Perfetta: sulla card grande si legge "Perfetta", sulle piccole basta la stella con NF. */
.pg-wear-chip .pg-chip-wide { display: none; }
@container (min-width: 170px) { .pg-card-copy .pg-wear-chip.is-perfect .pg-chip-wide { display: inline; } .pg-card-copy .pg-wear-chip.is-perfect .pg-chip-narrow { display: none; } }

/* Etichetta della fascia (liste, fogli, card). */
.pg-wear-chip { display: inline-flex; align-items: center; gap: .32em; flex: none; padding: .3em .45em; border: 1px solid color-mix(in srgb, var(--pg-wc, #9aa7b3) 60%, transparent); border-radius: 2px; background: color-mix(in srgb, var(--pg-wc, #9aa7b3) 14%, rgba(7, 11, 16, .82)); color: color-mix(in srgb, var(--pg-wc, #9aa7b3) 78%, #fff); font: 800 11px/1 var(--ds-font-body); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.pg-wear-chip.is-long { font-size: 12px; letter-spacing: .04em; }
.pg-wear-chip.is-perfect { border-color: rgba(255, 255, 255, .85); background: linear-gradient(120deg, rgba(255, 255, 255, .2), rgba(255, 215, 94, .26) 50%, rgba(99, 230, 255, .22)); color: #fff; }
.pg-wear-star { display: inline-block; width: 1em; height: 1em; flex: none; background: currentColor; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
/* Numero di serie: da #1 a #10 in evidenza. */
.pg-serial { display: inline-flex; align-items: center; flex: none; padding: .3em .4em; border-radius: 2px; color: var(--ds-text-2); font: 700 12px/1 var(--ds-font-body); font-variant-numeric: tabular-nums; letter-spacing: .02em; white-space: nowrap; }
/* Numero basso (#1-#3): chiaro con la stella, mai lime (il lime è di "Migliore" e dei pulsanti principali). */
.pg-serial.is-low { background: #f3f0e7; color: #0b0f14; box-shadow: 0 0 0 1px rgba(255, 255, 255, .5); }
.pg-serial.is-low::before { content: "★"; margin-right: .25em; font-size: .9em; }

/* Barra del float: 5 fasce in scala vera, segno bianco della copia. */
.pg-floatbar { position: relative; display: block; flex: 1 1 64px; min-width: 44px; }
.pg-floatbar-track { display: flex; height: 6px; overflow: hidden; border-radius: 3px; background: rgba(243, 240, 231, .08); }
.pg-floatbar-track i { display: block; height: 100%; flex: none; background: var(--pg-wc); opacity: .3; }
.pg-floatbar-track i + i { box-shadow: inset 1px 0 0 rgba(7, 11, 16, .85); }
.pg-floatbar-track i.is-on { opacity: .9; }
.pg-floatbar-pin { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1.5px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 1.5px rgba(7, 11, 16, .9); }
.pg-floatbar--lg .pg-floatbar-track { height: 12px; border-radius: 6px; }
.pg-floatbar--lg .pg-floatbar-pin { top: -6px; bottom: auto; height: 24px; width: 4px; margin-left: -2px; }
.pg-floatbar--lg .pg-floatbar-pin::before { content: ""; position: absolute; top: -9px; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #fff; }
.pg-floatbar-labels { display: flex; margin-top: 10px; }
.pg-floatbar-labels small { flex: none; overflow: visible; color: var(--ds-text-2); font: 700 11px/1 var(--ds-font-body); letter-spacing: .02em; text-align: center; white-space: nowrap; }
.pg-floatbar-labels small.is-on { color: color-mix(in srgb, var(--pg-wc) 80%, #fff); }
.pg-floatbar-labels small:nth-child(1) { --pg-wc: var(--pg-wear-fn); } .pg-floatbar-labels small:nth-child(2) { --pg-wc: var(--pg-wear-mw); }
.pg-floatbar-labels small:nth-child(3) { --pg-wc: var(--pg-wear-ft); } .pg-floatbar-labels small:nth-child(4) { --pg-wc: var(--pg-wear-ww); }
.pg-floatbar-labels small:nth-child(5) { --pg-wc: var(--pg-wear-bs); }
/* Riga di una copia nelle liste: fascia, float, numero (ed etichette a destra) e sotto la barra a tutta larghezza. */
.pg-copy-meta { display: grid; gap: 7px; min-width: 0; }
.pg-copy-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.pg-copy-flags { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; margin-left: auto; }
.pg-copy-meta .pg-floatbar { min-width: 0; margin-bottom: 2px; }
.pg-copy-float { flex: none; color: var(--ds-text); font: 700 14px/1 var(--ds-font-body); font-variant-numeric: tabular-nums; letter-spacing: .01em; }

/* ------------------------------ Pagina ------------------------------ */
.pg-coll { padding-bottom: 96px; }
.pg-coll .ds-btn--sm { min-height: var(--ds-tap); }
.pg-coll-hero .pg-shell { position: relative; padding-block: 40px 24px; }
/* Ventaglio di 3 card nell'hero (le tue più rare, o un esempio): fa vedere subito cosa si colleziona. */
.pg-coll-fan { position: absolute; top: 50%; right: max(var(--ds-gutter), 4vw); display: flex; transform: translateY(-50%); pointer-events: none; }
.pg-coll-fan-card { display: block; width: 128px; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .55)); }
.pg-coll-fan-card + .pg-coll-fan-card { margin-left: -46px; }
.pg-coll-fan-card:nth-child(1) { transform: rotate(-10deg) translateY(10px); }
.pg-coll-fan-card:nth-child(2) { transform: rotate(-1deg) translateY(-6px); z-index: 1; }
.pg-coll-fan-card:nth-child(3) { transform: rotate(9deg) translateY(12px); z-index: 2; }
.pg-coll-hero .ds-eyebrow { white-space: nowrap; }
.pg-coll-hero h1 { margin: 8px 0 10px; font-size: clamp(44px, 6vw, 84px); }
.pg-coll-hero p { font-size: 16px; }
.pg-coll-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; }
.pg-coll-stats li { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: rgba(11, 10, 9, .7); color: var(--ds-text-2); font-size: 14px; font-weight: 600; }
.pg-coll-stats b { color: var(--ds-text); font-size: 16px; }
.pg-coll-stats .pg-frag { color: var(--ds-text); font-weight: 700; }

.pg-coll-tabs-wrap { position: sticky; top: var(--ds-topnav-h, 64px); z-index: 30; background: rgba(11, 10, 9, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ds-line); }
.pg-coll-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; margin-inline: calc(-1 * var(--ds-gutter)); padding-inline: var(--ds-gutter); }
.pg-coll-tabs::-webkit-scrollbar { display: none; }
.pg-coll-tabs button { position: relative; flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 16px; border: 0; background: none; color: var(--ds-text-2); font: 700 14px/1 var(--ds-font-body); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.pg-coll-tabs button::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; background: transparent; }
.pg-coll-tabs button:hover { color: var(--ds-text); }
.pg-coll-tabs button.is-on { color: var(--ds-text); }
.pg-coll-tabs button.is-on::after { background: var(--ds-lime); }
.pg-tab-badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--ds-r-pill); background: var(--ds-lime); color: var(--ds-on-lime); font: 700 12px/1 var(--ds-font-body); letter-spacing: 0; }
.pg-coll-body { padding-top: 28px; }
.pg-coll-loading { padding-top: 8px; }

.pg-tab-head { margin-bottom: 18px; }
.pg-tab-head h2 { margin: 0 0 6px; font: 400 clamp(30px, 3.2vw, 44px)/1 var(--ds-font-display); text-transform: uppercase; letter-spacing: -.005em; }
.pg-tab-head p { margin: 0; color: var(--ds-text-2); font-size: 16px; line-height: 1.5; max-width: 640px; }
.pg-tab-head .pg-cross { margin-top: 6px; font-size: 14px; }
.pg-cross a, .pg-coll-note a { color: var(--ds-lime); font-weight: 700; }
.pg-coll-sub { margin: 4px 0 14px; color: var(--ds-text-2); font-size: 14px; line-height: 1.5; }
.pg-coll-note { margin: 12px 0 0; color: var(--ds-text-2); font-size: 14px; line-height: 1.5; }
.pg-panel { padding: 20px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-panel + .pg-panel, .pg-packs + .pg-panel { margin-top: 16px; }
.pg-panel h3 { margin: 0; font: 400 26px/1 var(--ds-font-display); text-transform: uppercase; }
.pg-panel h4 { margin: 18px 0 8px; font: 700 12px/1.2 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-2); }
.pg-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 18px 20px; margin: 0 0 18px; border: 1px dashed var(--ds-line-strong); border-radius: var(--ds-r-2); color: var(--ds-text-2); }
.pg-callout p { margin: 0; flex: 1 1 260px; font-size: 15px; line-height: 1.5; color: var(--ds-text); }
.pg-callout--error { border-color: color-mix(in srgb, var(--ds-red) 60%, transparent); }
.pg-coll .pg-empty { border-radius: var(--ds-r-2); }
.pg-set-broken { color: color-mix(in srgb, var(--pg-card-legend) 55%, var(--ds-text)); }
.pg-album-provisional { margin: -6px 0 16px; }
.pg-chip--locked { gap: 5px; color: var(--ds-text-2); border-style: dashed; text-transform: none; letter-spacing: .01em; font-size: 13px; min-height: 32px; }
.pg-md-locked { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; padding: 12px 14px; border: 1px dashed var(--ds-line-strong); border-radius: var(--ds-r-2); }
.pg-md-locked p { flex: 1 1 220px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ds-text); }
.pg-dup-locked { color: var(--ds-text-2); font-weight: 400; line-height: 1.4; }
.pg-sell-locked { margin: 0 0 14px; }
.pg-novita { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-bottom: 22px; padding: 16px 18px; border: 1px solid var(--ds-lime-line); border-left: 3px solid var(--ds-lime); border-radius: var(--ds-r-2); background: var(--ds-lime-soft); }
.pg-novita > div { flex: 1 1 320px; }
.pg-novita b { display: block; font-size: 15px; }
.pg-novita p { margin: 4px 0 0; color: var(--ds-text); font-size: 14px; line-height: 1.5; }

.pg-coll-split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr); gap: 32px; align-items: start; }
.pg-coll-split--even { grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr); }
.pg-coll-side { position: sticky; top: calc(var(--ds-topnav-h, 64px) + 72px); }

/* ------------------------------ Pacchetti ------------------------------ */
.pg-how { margin-bottom: 16px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-how-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 18px; border: 0; background: none; color: var(--ds-text); font: 700 15px/1 var(--ds-font-body); cursor: pointer; text-align: left; }
.pg-how-toggle svg { transition: transform 200ms ease; color: var(--ds-lime); }
.pg-how.is-open .pg-how-toggle svg { transform: rotate(180deg); }
.pg-how-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0 18px 18px; }
.pg-how-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; line-height: 1.45; }
.pg-how-steps b { display: grid; place-items: center; width: 32px; height: 32px; background: var(--ds-lime-soft); border: 1px solid var(--ds-lime-line); color: var(--ds-lime); font: 400 18px/1 var(--ds-font-display); }

.pg-packs { display: grid; gap: 12px; }
.pg-pack { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-2); background: rgba(15, 23, 32, .88); }
.pg-pack--free.is-ready { border-color: var(--ds-lime); box-shadow: 0 0 0 1px rgba(216, 172, 64, .25), 0 18px 50px -20px rgba(216, 172, 64, .5); }
.pg-pack-copy strong { display: block; font: 400 26px/1 var(--ds-font-display); text-transform: uppercase; margin-top: 4px; }
.pg-pack-copy small { display: block; color: var(--ds-text-2); font-size: 14px; margin-top: 4px; }
.pg-pack-copy small b { color: var(--ds-text); }
.pg-pack-wait { font-size: 13px; color: var(--ds-text-2); text-align: right; }
.pg-pack-wait b { display: block; font: 400 26px/1 var(--ds-font-display); color: var(--ds-text); font-variant-numeric: tabular-nums; margin-top: 2px; }
.pg-pack-art { position: relative; height: 84px; }
.pg-pack-art i { position: absolute; top: 6px; left: 18px; width: 44px; height: 64px; border: 1px solid rgba(216, 172, 64, .7); background: linear-gradient(160deg, #1d2b13, var(--ds-ink-900)); }
.pg-pack-art i:nth-child(1) { transform: rotate(-14deg) translateX(-12px); opacity: .6; }
.pg-pack-art i:nth-child(2) { transform: rotate(-4deg) translateX(-2px); opacity: .8; }
.pg-pack-art i:nth-child(3) { transform: rotate(8deg) translateX(8px); background: linear-gradient(160deg, var(--ds-lime), #6f9a00); }
.pg-pack-art i:nth-child(3)::after { content: "IM"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--ds-ink-900); font: 400 18px/1 var(--ds-font-display); }
.pg-pack-art--paid i { border-color: rgba(176, 107, 255, .8); background: linear-gradient(160deg, #22163a, var(--ds-ink-900)); }
.pg-pack-art--paid i:nth-child(3) { background: linear-gradient(160deg, var(--pg-card-epic), #4b1f8f); }
.pg-pack-art--paid i:nth-child(3)::after { color: #fff; }
.pg-pack--free.is-ready .pg-pack-art i:nth-child(3) { animation: pg-pack-bob 2.2s ease-in-out infinite; }
@keyframes pg-pack-bob { 50% { transform: rotate(8deg) translate(8px, -6px); } }

.pg-pity-row { margin-top: 14px; }
.pg-pity-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; font-size: 14px; }
.pg-pity-top span { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.pg-pity-top b { color: color-mix(in srgb, var(--pg-rc) 60%, var(--ds-text)); font-size: 14px; }
.pg-pity-bar { height: 10px; margin-top: 8px; background: rgba(243, 240, 231, .08); border-radius: var(--ds-r-pill); overflow: hidden; }
.pg-pity-bar span { display: block; height: 100%; min-width: 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--pg-rc) 50%, transparent), var(--pg-rc)); border-radius: inherit; box-shadow: 0 0 12px var(--pg-rc); transition: width 600ms ease; }

.pg-odds-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pg-odds-table th, .pg-odds-table td { padding: 10px 8px; border-top: 1px solid var(--ds-line); text-align: right; font-variant-numeric: tabular-nums; }
.pg-odds-table thead th { border-top: 0; padding-top: 4px; color: var(--ds-text-2); font: 700 11px/1.2 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; }
.pg-odds-table th:first-child { text-align: left; padding-left: 0; }
.pg-odds-table tbody th { font-weight: 700; color: color-mix(in srgb, var(--pg-rc) 60%, var(--ds-text)); }
.pg-odds-tier { display: inline-flex; align-items: center; gap: 10px; }
.pg-odds-tier .pg-gem { width: 34px; }
.pg-odds-table td { font-weight: 700; }
.pg-odds-table td:last-child { padding-right: 0; }
.pg-odds-oro { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 14px; line-height: 1.45; }
.pg-odds-oro .pg-oro-tag { margin: 0; flex: none; }
.pg-odds-pack { margin: 0; display: grid; gap: 6px; }
.pg-odds-pack div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--ds-line); }
.pg-odds-pack dt { font-size: 14px; }
.pg-odds-pack dt small { display: block; margin-top: 2px; color: var(--ds-text-2); font-size: 12px; }
.pg-odds-pack dd { margin: 0; font: 400 22px/1 var(--ds-font-display); color: var(--ds-text); }

/* ------------------------------ Album ------------------------------ */
.pg-album-goal { display: grid; gap: 10px; margin-bottom: 18px; padding: 16px 18px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-2); background: linear-gradient(120deg, rgba(255, 154, 61, .1), var(--ds-ink-850) 55%); }
.pg-album-goal.is-done { border-color: var(--pg-card-legend); }
.pg-album-goal strong { display: block; margin-top: 4px; font: 400 24px/1 var(--ds-font-display); text-transform: uppercase; }
.pg-album-goal small { display: block; margin-top: 6px; color: var(--ds-text-2); font-size: 14px; line-height: 1.45; }
.pg-set-bar { height: 8px; background: rgba(243, 240, 231, .08); border-radius: var(--ds-r-pill); overflow: hidden; }
.pg-set-bar span { display: block; height: 100%; background: linear-gradient(90deg, #8fd100, var(--ds-lime)); border-radius: inherit; }
.pg-album-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }
.pg-seg { display: inline-flex; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); max-width: 100%; overflow: hidden; }
.pg-seg button { min-height: 44px; padding: 0 16px; border: 0; border-left: 1px solid var(--ds-line); background: transparent; color: var(--ds-text-2); font: 700 13px/1 var(--ds-font-body); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.pg-seg button:first-child { border-left: 0; }
.pg-seg button.is-on { background: var(--ds-lime-soft); box-shadow: inset 0 0 0 1px var(--ds-lime); color: var(--ds-lime); }
.pg-select select {
  min-height: 44px; padding: 0 38px 0 14px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: var(--ds-ink-850); color: var(--ds-text);
  font: 700 14px var(--ds-font-body); appearance: none; cursor: pointer; max-width: 100%;
  background-image: linear-gradient(45deg, transparent 50%, var(--ds-lime) 50%), linear-gradient(135deg, var(--ds-lime) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat;
}
.pg-set { margin-bottom: 34px; }
.pg-set-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 6px 16px; margin-bottom: 10px; }
.pg-set-title { min-width: 0; }
.pg-set-head h3 { margin: 0; font: 400 clamp(24px, 2.2vw, 32px)/1 var(--ds-font-display); text-transform: uppercase; }
.pg-set-reward { display: block; margin-top: 6px; color: var(--ds-text-2); font-size: 14px; }
.pg-set-count b { font: 400 26px/1 var(--ds-font-display); }
.pg-set-count small { color: var(--ds-text-2); font-size: 13px; font-weight: 700; }
.pg-set-done { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; border-radius: var(--ds-r-1); background: var(--ds-lime-soft); border: 1px solid var(--ds-lime-line); color: var(--ds-lime); font: 700 13px/1 var(--ds-font-body); letter-spacing: .04em; }
.pg-set .pg-set-bar { margin-bottom: 14px; }
.pg-set.is-done .pg-set-bar span { background: var(--ds-lime); }
.pg-set-new { margin: -4px 0 12px; color: var(--ds-text-2); font-size: 14px; }
.pg-set--mythic .pg-set-head h3 { background: linear-gradient(90deg, #ffd1e2, var(--pg-card-mythic), #a35bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pg-set--gold .pg-set-head h3 { color: var(--pg-card-foil); }
.pg-gold-goals { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; padding: 0; }
.pg-gold-goals li { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid rgba(255, 215, 94, .3); border-radius: var(--ds-r-2); background: rgba(255, 215, 94, .05); }
.pg-gold-goals li.is-done { border-color: var(--pg-card-foil); background: rgba(255, 215, 94, .14); }
.pg-gold-goals b { font: 400 18px/1 var(--ds-font-display); color: var(--pg-card-foil); text-transform: uppercase; }
.pg-gold-goals span { font-weight: 700; font-size: 15px; }
.pg-gold-goals small { color: var(--ds-text-2); font-size: 12px; }
.pg-card-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px; }
.pg-album-card { position: relative; display: grid; gap: 6px; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.pg-album-card:hover .pg-card { transform: translateY(-3px); }
.pg-album-card:focus-visible { outline: 3px solid var(--ds-lime); outline-offset: 3px; }
.pg-album-hint { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 22px; color: var(--ds-text-2); font: 700 12px/1 var(--ds-font-body); letter-spacing: .02em; }
.pg-album-hint.is-ready { color: var(--ds-lime); }
.pg-skeleton--card { aspect-ratio: 3 / 4; }

/* ------------------------------ Foglio di una card ------------------------------ */
.pg-cs { display: grid; gap: 18px; }
.pg-cs-face { width: min(220px, 62%); margin-inline: auto; }
.pg-cs-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-cs-own { margin: 12px 0; font-size: 16px; font-weight: 700; }
.pg-cs-variant { margin-bottom: 12px; display: flex; width: 100%; }
.pg-cs-variant button { flex: 1 1 0; }
.pg-cs-actions { display: grid; gap: 10px; }
.pg-cs-note { margin: 0; color: var(--ds-text-2); font-size: 14px; line-height: 1.45; }
.pg-cs-note .pg-frag { color: var(--ds-text); font-weight: 700; }
.pg-cs-market { width: 100%; margin-top: 6px; }

/* ------------------------------ Doppioni ------------------------------ */
.pg-frag-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; margin-bottom: 16px; padding: 16px 18px; border: 1px solid rgba(99, 230, 255, .3); border-radius: var(--ds-r-2); background: linear-gradient(120deg, rgba(99, 230, 255, .08), var(--ds-ink-850) 60%); }
.pg-frag-box strong { display: block; margin-top: 4px; font: 400 28px/1 var(--ds-font-display); }
.pg-frag-box strong .pg-shard { width: 20px; height: 20px; }
.pg-frag-box p { margin: 0; flex: 1 1 280px; color: var(--ds-text-2); font-size: 14px; line-height: 1.5; }
.pg-dups-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.pg-dups-summary p { margin: 0; font-size: 16px; }
.pg-dups-summary .pg-frag { font-weight: 700; }
.pg-dup-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
.pg-dup-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 12px; border: 1px solid var(--ds-line); border-left: 3px solid var(--pg-rc); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-dup-thumb { width: 56px; padding: 0; border: 0; background: none; cursor: pointer; }
.pg-dup-info { min-width: 0; display: grid; gap: 3px; }
.pg-dup-info strong { display: flex; align-items: center; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-dup-info small { display: inline-flex; align-items: center; gap: 6px; color: var(--ds-text-2); font-size: 13px; }
.pg-dup-info small:first-of-type { color: color-mix(in srgb, var(--pg-rc) 60%, var(--ds-text)); font-weight: 700; }
.pg-dup-actions { display: flex; gap: 8px; }

/* ------------------------------ Mercato ------------------------------ */
.pg-market-views { margin-bottom: 18px; }
.pg-market-browse { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.pg-market-filters { position: sticky; top: calc(var(--ds-topnav-h, 64px) + 72px); display: grid; gap: 10px; }
.pg-market-filters .pg-select select { width: 100%; }
.pg-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: var(--ds-ink-850); color: var(--ds-text); font: 700 14px/1 var(--ds-font-body); cursor: pointer; text-align: left; }
.pg-toggle i { width: 18px; height: 18px; flex: none; border: 2px solid var(--ds-line-strong); border-radius: 3px; }
.pg-toggle.is-on { border-color: var(--ds-lime); background: var(--ds-lime-soft); color: var(--ds-lime); }
.pg-toggle.is-on i { border-color: var(--ds-lime); background: var(--ds-lime); box-shadow: inset 0 0 0 3px var(--ds-ink-900); }
.pg-market-results { min-width: 0; grid-column: 2; grid-row: 1 / span 2; }
.pg-market-foot { grid-column: 1; }
.pg-market-count { margin: 0 0 10px; color: var(--ds-text-2); font-size: 14px; font-weight: 700; }
.pg-mlist { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 10px; margin: 0; padding: 0; }
.pg-mrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--ds-line); border-left: 3px solid var(--pg-rc); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-mrow-main { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: center; min-width: 0; padding: 0; border: 0; background: none; color: inherit; text-align: left; font: inherit; }
button.pg-mrow-main { cursor: pointer; min-height: 44px; }
button.pg-mrow-main:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.pg-mrow-thumb { width: 52px; }
.pg-mrow-info { display: grid; gap: 3px; min-width: 0; }
.pg-mrow-info strong { display: flex; align-items: center; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-mrow-info small { display: flex; align-items: center; gap: 6px; color: var(--ds-text-2); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-mrow-info small:first-of-type { color: color-mix(in srgb, var(--pg-rc) 60%, var(--ds-text)); font-weight: 700; }
.pg-missing-tag { font-style: normal; margin-left: 4px; padding: 2px 6px; border-radius: 2px; background: var(--ds-lime-soft); color: var(--ds-lime); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.pg-mrow-buy { display: grid; justify-items: end; gap: 6px; }
.pg-mrow-buy b { font: 400 22px/1 var(--ds-font-display); }
.pg-market-more { margin-top: 14px; }
.pg-rules { margin-top: 12px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); }
.pg-rules summary { min-height: 44px; display: flex; align-items: center; padding: 0 14px; cursor: pointer; font-weight: 700; font-size: 14px; }
.pg-rules p { margin: 0; padding: 0 14px 14px; color: var(--ds-text-2); font-size: 14px; line-height: 1.55; }
.pg-locked { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid rgba(255, 154, 61, .45); border-radius: var(--ds-r-2); background: linear-gradient(120deg, rgba(255, 154, 61, .1), var(--ds-ink-850) 60%); }
.pg-locked > div { flex: 1 1 320px; }
.pg-locked h3 { margin: 4px 0 6px; font: 400 26px/1 var(--ds-font-display); text-transform: uppercase; }
.pg-locked p { margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.pg-locked-progress { color: var(--ds-text-2); }
.pg-locked-progress b { color: var(--ds-text); }
.pg-locked .pg-set-bar { max-width: 360px; }
.pg-mine-limits { margin: 0 0 14px; color: var(--ds-text-2); font-size: 14px; line-height: 1.6; }
.pg-mine-limits b { color: var(--ds-text); }
.pg-history { margin-top: 26px; }
.pg-history h3 { margin: 0 0 10px; font: 400 24px/1 var(--ds-font-display); text-transform: uppercase; }
.pg-history ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pg-history li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 8px 12px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-history-card { display: grid; gap: 2px; min-width: 0; }
.pg-history-card b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-history-card small { color: var(--ds-text-2); font-size: 13px; }
.pg-history-amount { display: grid; justify-items: end; font-weight: 700; white-space: nowrap; }
.pg-history-amount small { color: var(--ds-text-2); font-size: 12px; font-weight: 600; }
.pg-history li.is-sold .pg-history-amount { color: var(--ds-lime); }

/* Dettaglio di una card nel Mercato */
.pg-md { display: grid; gap: 18px; }
.pg-md-top { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: start; }
.pg-md-stats .pg-cs-variant { margin: 10px 0 0; }
.pg-md-prices { display: grid; gap: 10px; margin: 12px 0 0; }
.pg-md-prices div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 10px; }
.pg-md-prices dt { font-size: 14px; color: var(--ds-text-2); }
.pg-md-prices dd { margin: 0; font: 400 24px/1 var(--ds-font-display); }
.pg-md-prices small { grid-column: 1 / -1; color: var(--ds-text-3, var(--ds-text-2)); font-size: 12px; }
.pg-md-section h3 { margin: 0 0 8px; font: 700 12px/1.2 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-2); }
.pg-spark { display: block; width: 100%; height: 64px; margin-bottom: 8px; color: var(--ds-lime); background: linear-gradient(180deg, rgba(216, 172, 64, .06), transparent); border-bottom: 1px solid var(--ds-line); }
.pg-md-sales, .pg-md-offers { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pg-md-sales li { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0; border-bottom: 1px solid var(--ds-line); }
.pg-md-sales small { color: var(--ds-text-2); font-size: 13px; }
.pg-md-offers li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); }
.pg-md-offers li > span:not(.pg-chip) { display: grid; gap: 2px; min-width: 0; }
.pg-md-offers li > .pg-chip { flex: none; }
.pg-md-offers b { font: 400 20px/1 var(--ds-font-display); }
.pg-md-offers small { color: var(--ds-text-2); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Vendita */
.pg-sell { display: grid; gap: 12px; }
.pg-sell-card { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; }
.pg-sell-card strong { display: flex; align-items: center; font-size: 17px; }
.pg-sell-card small { display: inline-flex; align-items: center; gap: 6px; color: var(--ds-text-2); font-size: 14px; }
.pg-sell-thumb { width: 56px; }
.pg-sell-label { margin-top: 4px; font: 700 12px/1.2 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-2); }
.pg-stepper { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto 52px; align-items: stretch; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: var(--ds-ink-900); }
.pg-stepper button { display: grid; place-items: center; min-height: 56px; border: 0; background: var(--ds-ink-800); color: var(--ds-lime); cursor: pointer; }
.pg-stepper button:first-child { border-right: 1px solid var(--ds-line); }
.pg-stepper button:last-child { border-left: 1px solid var(--ds-line); }
.pg-stepper button:disabled { color: var(--ds-text-3, #6b7680); cursor: not-allowed; }
.pg-stepper input { min-width: 0; padding: 0 12px; border: 0; background: transparent; color: var(--ds-text); font: 400 32px/1 var(--ds-font-display); text-align: right; }
.pg-stepper input:focus { outline: none; }
.pg-stepper:focus-within { border-color: var(--ds-lime); }
.pg-stepper-unit { align-self: center; padding-right: 12px; color: var(--ds-text-2); font-weight: 700; }
.pg-sell-hint { margin: 0; color: var(--ds-text-2); font-size: 14px; line-height: 1.45; }
.pg-sell-hint b { color: var(--ds-text); }
.pg-sell-hint.is-bad { color: #ff8a94; font-weight: 700; }
.pg-payout { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 12px; padding: 14px 16px; border: 1px solid var(--ds-lime-line); border-radius: var(--ds-r-2); background: var(--ds-lime-soft); }
.pg-payout span { font-weight: 700; }
.pg-payout b { font: 400 30px/1 var(--ds-font-display); color: var(--ds-lime); }
.pg-payout small { grid-column: 1 / -1; color: var(--ds-text-2); font-size: 13px; }
.pg-check { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 12px 14px; border: 1px solid rgba(255, 154, 61, .5); border-radius: var(--ds-r-2); background: rgba(255, 154, 61, .08); font-size: 15px; line-height: 1.4; cursor: pointer; }
.pg-check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--ds-lime); }
.pg-sell .pg-locked { margin: 0; padding: 14px; }

/* ------------------------------ Vetrina ------------------------------ */
.pg-vetrina-slots { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
.pg-vetrina-slot { display: grid; gap: 6px; width: 100%; }
.pg-vetrina-slot.is-empty { place-items: center; align-content: center; aspect-ratio: 3 / 4; border: 2px dashed var(--ds-line-strong); border-radius: var(--ds-r-2); background: rgba(243, 240, 231, .02); color: var(--ds-text-2); cursor: pointer; }
.pg-vetrina-slot.is-empty span { font: 400 40px/1 var(--ds-font-display); color: var(--ds-lime); }
.pg-vetrina-slot.is-empty small { font-weight: 700; font-size: 13px; }
.pg-vetrina-slot.is-empty:hover { border-color: var(--ds-lime); }
.pg-vetrina-face { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.pg-vetrina-remove { min-height: 44px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: none; color: var(--ds-text-2); font: 700 13px/1 var(--ds-font-body); cursor: pointer; }
.pg-vetrina-remove:hover { color: var(--ds-text); border-color: var(--ds-text); }
.pg-vetrina-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 16px; }
.pg-vetrina-saved { color: var(--ds-lime); font-weight: 700; font-size: 14px; }
.pg-score { margin-top: 16px; }
.pg-score-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.pg-score-top b { font: 400 40px/1 var(--ds-font-display); color: var(--ds-lime); }
.pg-score details { margin-top: 10px; }
.pg-score summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--ds-lime); }
.pg-score details p { margin: 0; color: var(--ds-text-2); font-size: 14px; line-height: 1.55; }
.pg-collectors .pg-board { max-height: 640px; }
.pg-collectors-me { margin: 12px 0 0; font-size: 14px; color: var(--ds-text-2); }
.pg-collectors-me b { color: var(--ds-lime); }
.pg-picker-filter { display: block; margin-bottom: 14px; }
.pg-picker-filter select { width: 100%; }
.pg-picker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pg-picker-item { position: relative; padding: 0; border: 0; background: none; cursor: pointer; }
.pg-picker-item:disabled { opacity: .45; cursor: not-allowed; }
.pg-picker-item.is-on .pg-card { outline: 3px solid var(--ds-lime); outline-offset: 2px; }
.pg-picker-check { position: absolute; left: 6px; right: 6px; top: 40%; padding: 6px 4px; background: var(--ds-lime); color: var(--ds-on-lime); font: 700 12px/1 var(--ds-font-body); text-transform: uppercase; letter-spacing: .04em; text-align: center; }

/* Vetrina nel profilo */
.pg-vetrina-row { display: grid; grid-template-columns: repeat(5, minmax(0, 200px)); gap: 14px; }
.pg-vetrina-profile .pg-vetrina-face:hover .pg-card { transform: translateY(-3px); }

/* ------------------------------ Fogli (bottom sheet / pannello) ------------------------------ */
.pg-sheet-backdrop { position: fixed; inset: 0; z-index: var(--ds-z-overlay, 100); display: flex; align-items: flex-end; justify-content: center; background: rgba(5, 8, 12, .72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: pg-fade 200ms ease; color: var(--ds-text); font-family: var(--ds-font-body); }
.pg-sheet { display: flex; flex-direction: column; width: 100%; max-height: 90vh; max-height: 90dvh; border: 1px solid var(--ds-line-strong); border-bottom: 0; border-radius: 14px 14px 0 0; background: var(--ds-ink-850); box-shadow: 0 -20px 60px rgba(0, 0, 0, .5); animation: pg-sheet-up 260ms cubic-bezier(.2, .9, .3, 1); }
.pg-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 16px 12px; border-bottom: 1px solid var(--ds-line); }
.pg-sheet-head > div { min-width: 0; }
.pg-sheet-head h2 { margin: 4px 0 0; font: 400 28px/1 var(--ds-font-display); text-transform: uppercase; overflow-wrap: anywhere; }
.pg-sheet-close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-1); background: transparent; color: var(--ds-text); cursor: pointer; }
.pg-sheet-close:hover { border-color: var(--ds-text); }
.pg-sheet-body { padding: 16px; overflow-y: auto; overscroll-behavior: contain; }
.pg-sheet-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--ds-line); }
.pg-sheet-foot .ds-btn { flex: 1 1 auto; padding-inline: 16px; }
.pg-sheet-foot .ds-btn:not(.ds-btn--primary) { flex: 0 1 auto; }
.pg-confirm-body { margin: 0; font-size: 17px; line-height: 1.5; }
@keyframes pg-sheet-up { from { transform: translateY(40px); opacity: 0; } }
@keyframes pg-sheet-left { from { transform: translateX(40px); opacity: 0; } }
@keyframes pg-fade { from { opacity: 0; } }

/* ------------------------------ Apertura pacchetto ------------------------------ */
.pg-reveal { position: fixed; inset: 0; z-index: var(--ds-z-celebrate, 300); display: grid; place-items: center; padding: 20px 16px; overflow-y: auto; background: radial-gradient(circle at 50% 45%, rgba(216, 172, 64, .1), rgba(5, 8, 12, .96) 60%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--ds-text); font-family: var(--ds-font-body); animation: pg-fade 240ms ease; transition: background-color 400ms ease; }
.pg-reveal.is-dim { background: radial-gradient(circle at 50% 45%, rgba(255, 79, 139, .16), rgba(2, 3, 5, .99) 55%); }
.pg-reveal.has-mythic { background: radial-gradient(circle at 50% 45%, rgba(255, 79, 139, .16), rgba(5, 8, 12, .97) 60%); }
.pg-reveal-inner { position: relative; width: min(100%, 980px); text-align: center; }
.pg-reveal-close { position: absolute; top: -4px; right: 0; }
.pg-reveal h2 { margin: 8px 0 6px; font: 400 clamp(36px, 5vw, 64px)/1 var(--ds-font-display); text-transform: uppercase; }
.pg-reveal h2.is-mythic { background: linear-gradient(90deg, #ffd1e2, var(--pg-card-mythic), #ffd75e, #4ad9ff, #a35bff); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: pg-mythic-text 2.4s linear infinite; }
@keyframes pg-mythic-text { to { background-position: -200% 0; } }
.pg-reveal-sub { margin: 0; color: var(--ds-text-2); }
.pg-reveal-eyebrow { justify-content: center; white-space: nowrap; }
.pg-reveal-row { display: grid; grid-template-columns: repeat(3, minmax(0, 250px)); justify-content: center; gap: clamp(10px, 2.4vw, 28px); margin-top: 24px; }
.pg-flip-slot { display: grid; gap: 12px; justify-items: center; align-content: start; min-width: 0; }
.pg-flip { position: relative; width: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; perspective: 1200px; animation: pg-deal 500ms cubic-bezier(.2, .9, .3, 1.2) both; animation-delay: calc(var(--i) * 120ms); transition: filter 300ms ease; }
.pg-reveal.is-dim .pg-flip:not(.is-charging) { filter: brightness(.3); }
@keyframes pg-deal { from { transform: translateY(60px) scale(.85) rotate(-6deg); opacity: 0; } }
.pg-flip-inner { position: relative; display: block; aspect-ratio: 3 / 4; transform-style: preserve-3d; transition: transform 700ms cubic-bezier(.3, .9, .3, 1); }
.pg-flip.is-open .pg-flip-inner { transform: rotateY(180deg); }
.pg-flip-back, .pg-flip-front { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.pg-flip-back {
  display: grid; place-content: center; gap: 10px; border: 2px solid rgba(216, 172, 64, .6);
  background: repeating-linear-gradient(135deg, rgba(216, 172, 64, .07) 0 6px, transparent 6px 14px), linear-gradient(160deg, #1b2a12, var(--ds-ink-900));
  box-shadow: 0 20px 50px -20px rgba(216, 172, 64, .5); transition: border-color 300ms ease, box-shadow 300ms ease;
}
.pg-flip:not(.is-open):hover .pg-flip-back { box-shadow: 0 20px 60px -14px rgba(216, 172, 64, .8); }
.pg-flip.is-charging .pg-flip-back { border-color: var(--pg-rc); box-shadow: 0 0 0 2px var(--pg-rc), 0 0 60px 8px color-mix(in srgb, var(--pg-rc) 70%, transparent); animation: pg-charge 400ms ease-in-out infinite alternate; }
.pg-flip.is-charging.is-oro .pg-flip-back { border-color: var(--pg-card-foil); }
@keyframes pg-charge { to { transform: scale(1.03); } }
.pg-flip-logo { font: 400 clamp(22px, 4vw, 44px)/1 var(--ds-font-display); color: var(--ds-lime); letter-spacing: .06em; }
.pg-flip-back small { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-2); }
.pg-flip-front { transform: rotateY(180deg); }
.pg-flip-front .pg-card { width: 100%; height: 100%; }
.pg-flip.is-open .pg-flip-front .pg-card { box-shadow: 0 0 0 1px var(--pg-rc), 0 0 50px -6px var(--pg-rc); }
.pg-flip.pg-rarity--legend.is-open .pg-flip-front .pg-card { box-shadow: 0 0 0 2px var(--pg-card-legend), 0 0 80px 6px rgba(255, 154, 61, .7); }
.pg-flip.pg-rarity--mythic.is-open .pg-flip-front .pg-card { box-shadow: 0 0 0 2px var(--pg-card-mythic), 0 0 90px 10px rgba(255, 79, 139, .65); }
.pg-flip.is-oro.is-open .pg-flip-front .pg-card { box-shadow: 0 0 0 2px var(--pg-card-foil), 0 0 70px 6px rgba(255, 215, 94, .6); }
.pg-burst { position: absolute; inset: -40%; z-index: -1; pointer-events: none; mask-image: radial-gradient(circle, #000 20%, transparent 66%); -webkit-mask-image: radial-gradient(circle, #000 20%, transparent 66%); animation: pg-spin 9s linear infinite; }
.pg-burst--legend { background: repeating-conic-gradient(from 0deg, rgba(255, 154, 61, .6) 0 3%, transparent 3% 12.5%); }
.pg-burst--mythic { background: repeating-conic-gradient(from 0deg, rgba(255, 79, 139, .6) 0 3%, transparent 3% 8%, rgba(74, 217, 255, .45) 8% 11%, transparent 11% 16.6%); animation-duration: 6s; }
@keyframes pg-spin { to { transform: rotate(360deg); } }
.pg-holo-sweep { position: absolute; inset: 0; z-index: 3; pointer-events: none; mix-blend-mode: screen; background: linear-gradient(110deg, transparent 20%, rgba(255, 79, 139, .7) 35%, rgba(255, 215, 94, .7) 45%, rgba(74, 217, 255, .7) 55%, rgba(163, 91, 255, .7) 65%, transparent 80%); background-size: 300% 100%; animation: pg-sweep 1.4s 500ms ease-out both; }
@keyframes pg-sweep { from { background-position: 130% 0; opacity: 1; } to { background-position: -130% 0; opacity: 0; } }
.pg-flip-tags { display: grid; gap: 6px; justify-items: center; min-height: 34px; }
.pg-flip-tag { padding: 7px 10px; border: 1px solid var(--ds-line-strong); background: var(--ds-ink-800); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ds-text-2); white-space: nowrap; animation: pg-pop 380ms 450ms cubic-bezier(.2, .9, .3, 1.4) both; }
.pg-flip-tag.is-new { background: var(--ds-lime); border-color: var(--ds-lime); color: var(--ds-on-lime); font-size: 14px; }
.pg-flip-tag.is-oro { background: linear-gradient(120deg, #b98a1c, var(--pg-card-foil) 45%, #fff3c4 55%, #c9971f); border-color: var(--pg-card-foil); color: #2b1d00; }
.pg-flip-guar { padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--pg-rc) 70%, transparent); color: color-mix(in srgb, var(--pg-rc) 60%, var(--ds-text)); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; animation: pg-pop 380ms 600ms both; }
@keyframes pg-pop { from { transform: scale(.4); opacity: 0; } }
.pg-reveal-foot { margin-top: 28px; min-height: 100px; }
.pg-reveal-line { margin: 0 0 10px; color: var(--ds-text-2); line-height: 1.6; }
.pg-reveal-line b { color: var(--ds-text); }
.pg-reveal-set { margin: 0 0 10px; padding: 10px 14px; display: inline-block; border: 1px solid var(--ds-lime-line); background: var(--ds-lime-soft); color: var(--ds-text); }
.pg-reveal-set b { color: var(--ds-lime); }
.pg-reveal-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }

/* Cornici avatar sbloccate dalla Collezione (gratis, mai con Ko-fi). */
.pv3-avatar.frame-collector, .market-frame.frame-collector { box-shadow: 0 0 0 2px var(--pg-card-rare), 0 0 0 6px rgba(74, 184, 255, .16), 0 0 36px rgba(74, 184, 255, .4), 0 20px 50px rgba(0, 0, 0, .5); }
.pv3-avatar.frame-album, .market-frame.frame-album { box-shadow: 0 0 0 2px var(--pg-card-legend), 0 0 0 6px rgba(255, 154, 61, .18), 0 0 46px rgba(255, 154, 61, .45), 0 20px 50px rgba(0, 0, 0, .5); }
.frame-choice-collector .frame-demo { border-color: var(--pg-card-rare); box-shadow: 0 0 14px var(--pg-card-rare); }
.frame-choice-album .frame-demo { border-color: var(--pg-card-legend); box-shadow: 0 0 14px var(--pg-card-legend); }

/* ------------------------------ Copie uniche: liste, Ispeziona, Doppioni, Mercato ------------------------------ */
/* Riga di una copia (tocco = Ispeziona). */
.pg-copy-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-1); background: rgba(243, 240, 231, .02); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.pg-copy-row:hover { border-color: var(--ds-line-strong); background: rgba(243, 240, 231, .05); }
.pg-copy-row.is-on { border-color: var(--ds-lime-line); background: var(--ds-lime-soft); }
.pg-copy-row .pg-copy-meta { flex: 1 1 auto; }
.pg-copy-flag { flex: none; padding: 3px 6px; border: 1px solid var(--ds-line-strong); border-radius: 2px; color: var(--ds-text-2); font: 700 11px/1 var(--ds-font-body); font-style: normal; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.pg-copy-flag.is-best { border-color: var(--ds-lime-line); color: var(--ds-lime); }
.pg-copy-flag.is-worst { border-color: rgba(239, 98, 98, .5); color: #ff9a9a; }
.pg-copy-flag.is-here { border-color: var(--ds-text); color: var(--ds-text); }

/* Foglio della card: le tue copie. */
.pg-cs-facebtn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.pg-cs-facebtn:hover .pg-card { transform: translateY(-3px); }
.pg-cs-copies { margin: 0 0 14px; }
.pg-cs-copies h3, .pg-insp-others h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 8px; color: var(--ds-text-2); font: 700 12px/1.2 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; }
.pg-cs-copies h3 small { color: var(--ds-text-3, var(--ds-text-2)); font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: none; }
.pg-cs-copies ul, .pg-insp-others ul { list-style: none; display: grid; gap: 6px; margin: 0; padding: 0; }

/* Ispeziona */
.pg-sheet-backdrop--top { z-index: calc(var(--ds-z-celebrate, 300) + 10); }
.pg-insp { display: grid; gap: 18px; }
.pg-insp-face { width: min(236px, 66%); margin-inline: auto; }
.pg-insp-wear { display: grid; gap: 10px; padding: 14px 14px 12px; border: 1px solid color-mix(in srgb, var(--pg-wc) 35%, var(--ds-line)); border-radius: var(--ds-r-2); background: linear-gradient(160deg, color-mix(in srgb, var(--pg-wc) 9%, transparent), transparent 60%); }
.pg-insp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-insp-tag { display: inline-flex; align-items: center; padding: .3em .5em; border: 1px solid var(--ds-line-strong); border-radius: 2px; color: var(--ds-text); font: 700 12px/1 var(--ds-font-body); letter-spacing: .04em; }
.pg-insp-tag.is-perfect { border-color: rgba(255, 255, 255, .8); background: linear-gradient(120deg, rgba(255, 255, 255, .14), rgba(255, 215, 94, .2), rgba(99, 230, 255, .16)); }
.pg-insp-tag.is-low { border-color: var(--ds-lime); background: var(--ds-lime); color: var(--ds-on-lime); }
.pg-insp-tag.is-best { border-color: var(--ds-lime-line); color: var(--ds-lime); }
.pg-insp-float { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 4px 0 6px; }
.pg-insp-float span { color: var(--ds-text-2); font: 700 12px/1 var(--ds-font-body); letter-spacing: .12em; text-transform: uppercase; }
.pg-insp-float b { font: 400 34px/1 var(--ds-font-display); letter-spacing: .02em; color: var(--ds-text); }
.pg-insp-hint { margin: 2px 0 0; color: var(--ds-text-2); font-size: 13px; line-height: 1.45; }
.pg-insp-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.pg-insp-data div { display: grid; gap: 3px; align-content: start; padding: 10px 12px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-2); }
.pg-insp-data dt { color: var(--ds-text-2); font: 700 11px/1.2 var(--ds-font-body); letter-spacing: .1em; text-transform: uppercase; }
.pg-insp-data dd { margin: 0; font: 400 24px/1.05 var(--ds-font-display); }
.pg-insp-data dd.is-low { color: var(--ds-lime); }
.pg-insp-data dd.pg-insp-text { font: 700 14px/1.3 var(--ds-font-body); }
.pg-insp-data small { color: var(--ds-text-2); font-size: 12px; line-height: 1.35; }
.pg-insp-actions { display: grid; gap: 10px; }

/* Doppioni per card */
.pg-dup-groups { align-items: start; }
.pg-dup-group { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--ds-line); border-left: 3px solid var(--pg-rc); border-radius: var(--ds-r-2); background: var(--ds-ink-850); }
.pg-dup-head { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.pg-dup-copies { list-style: none; display: grid; gap: 6px; margin: 0; padding: 0; }
.pg-dup-copies li { display: grid; grid-template-columns: minmax(0, 1fr) 96px; align-items: stretch; gap: 8px; }
.pg-dup-keep { display: grid; place-content: center; gap: 2px; min-height: 44px; color: var(--ds-lime); font: 700 13px/1.1 var(--ds-font-body); text-align: center; }
.pg-dup-keep small { color: var(--ds-text-2); font-size: 11px; font-weight: 600; }
.pg-dup-keep.is-pinned { color: var(--ds-text-2); }
.pg-dup-keep.is-special { color: var(--ds-text); }
.pg-dup-copies li.is-keep .pg-copy-row { border-color: var(--ds-lime-line); }
.pg-dup-copies li.is-suggested .pg-copy-row { border-color: rgba(239, 98, 98, .45); }
.pg-dup-recycle { display: flex; flex-direction: column; justify-content: center; gap: 3px; width: 100%; height: 100%; padding: 6px 4px; font-size: 13px; line-height: 1.1; }
.pg-dup-recycle .pg-btn-gain { margin-left: 0; }
.pg-dup-tip { margin: 0; color: var(--ds-text-2); font-size: 13px; line-height: 1.45; }
.pg-dups-how { margin: -4px 0 14px; }

/* Apertura del pacchetto: fascia, float e numero sotto ogni card. */
.pg-flip.can-inspect { cursor: zoom-in; }
.pg-flip-copy { display: grid; justify-items: center; gap: 4px; max-width: 100%; animation: pg-pop 380ms 520ms cubic-bezier(.2, .9, .3, 1.4) both; }
.pg-flip-cap { color: var(--ds-text-2); font: 700 10px/1 var(--ds-font-body); letter-spacing: .08em; text-transform: uppercase; }
.pg-flip-float { font: 400 22px/1 var(--ds-font-display); font-variant-numeric: tabular-nums; letter-spacing: .02em; color: var(--ds-text); }
.pg-flip-wear { color: color-mix(in srgb, var(--pg-wc) 75%, #fff); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.pg-flip-special { padding: 5px 8px; border: 1px solid var(--ds-line-strong); font: 800 11px/1.1 var(--ds-font-body); letter-spacing: .06em; text-transform: uppercase; animation: pg-pop 380ms 640ms cubic-bezier(.2, .9, .3, 1.4) both; }
.pg-flip-special.is-perfect { border-color: #fff; background: linear-gradient(120deg, rgba(255, 255, 255, .22), rgba(255, 215, 94, .3), rgba(99, 230, 255, .24)); color: #fff; }
.pg-flip-special.is-serial { border-color: var(--ds-lime); background: var(--ds-lime); color: var(--ds-on-lime); }
.pg-flip-special.is-improved { border-color: var(--ds-lime-line); color: var(--ds-lime); }
.pg-reveal-hint { margin: 0 0 10px; color: var(--ds-text-2); font-size: 14px; }
.pg-reveal-floathint { color: var(--ds-text); }
.pg-reveal-floathint b { color: var(--ds-text); }
.pg-sell-special { margin: 0; padding: 12px 14px; border-style: solid; border-color: rgba(243, 240, 231, .45); color: var(--ds-text); font-size: 14px; font-weight: 600; }

/* Mercato: la copia in vendita. */
.pg-mrow-copy { display: flex; align-items: center; gap: 6px; min-width: 0; }
.pg-mrow-copy .pg-copy-float { font-size: 13px; }
.pg-mrow-special { font-style: normal; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pg-mrow.is-perfect { border-color: rgba(255, 255, 255, .35); }
.pg-md-offers li > span:first-child { flex: 1 1 auto; }
.pg-md-offercopy { display: flex; align-items: center; gap: 6px; }
.pg-md-offercopy .ds-num { font: 700 13px/1 var(--ds-font-body); font-variant-numeric: tabular-nums; }
.pg-md-look { flex: none; }
.pg-md-wearnote { display: block; margin-top: 2px; color: var(--ds-text-2); font-size: 12px; }
.pg-md-wearlist { display: grid; gap: 4px; }
.pg-md-wearrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "name meta"; align-items: center; gap: 2px 10px; width: 100%; min-height: 44px; padding: 6px 10px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-1); background: none; color: var(--ds-text); font: inherit; text-align: left; cursor: pointer; }
.pg-md-wearrow:hover { border-color: var(--ds-line-strong); }
.pg-md-wearrow.is-on { border-color: var(--ds-lime); background: var(--ds-lime-soft); }
.pg-md-wearname { grid-area: name; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.pg-md-wearrow > .ds-num { grid-area: price; font: 700 14px/1 var(--ds-font-body); text-align: right; }
.pg-md-wearrow > small { grid-area: meta; color: var(--ds-text-2); font-size: 12px; text-align: right; }
.pg-history-copy { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.pg-history-copy .ds-num { font-weight: 700; font-variant-numeric: tabular-nums; }

/* Vendi: quale copia. */
.pg-sell-card .pg-copy-meta { margin: 4px 0 2px; }
.pg-sell-pick { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.pg-sell-pick legend { padding: 0; margin-bottom: 6px; }
.pg-sell-option { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 10px; border: 1px solid var(--ds-line); border-radius: var(--ds-r-1); cursor: pointer; }
.pg-sell-option input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--ds-lime); }
.pg-sell-option .pg-copy-meta { flex: 1 1 auto; }
.pg-sell-option.is-on { border-color: var(--ds-lime); background: var(--ds-lime-soft); }
.pg-sell-option.is-locked { opacity: .55; cursor: not-allowed; }
.pg-picker-sub { margin-top: 0; }
.pg-picker-item { display: grid; gap: 4px; }
.pg-picker-float { color: var(--ds-text); font: 700 13px/1 var(--ds-font-body); font-variant-numeric: tabular-nums; text-align: center; }

/* Probabilità: usura. */
.pg-odds-wear { margin-top: 6px; }
.pg-odds-table--wear td { white-space: nowrap; }
.pg-odds-table--wear td:nth-child(2) { color: var(--ds-text-2); font-weight: 600; }
.pg-odds-table--wear tbody th { color: var(--ds-text); }
.pg-odds-table--wear .pg-odds-tier .pg-wear-chip { width: auto; min-width: 30px; justify-content: center; }
.pg-odds-perfect .pg-wear-chip { flex: none; }

/* ------------------------------ Responsive ------------------------------ */
@media (min-width: 1024px) {
  .pg-sheet-backdrop { justify-content: flex-end; align-items: stretch; }
  .pg-sheet { width: 440px; max-height: none; height: 100%; border: 0; border-left: 1px solid var(--ds-line-strong); border-radius: 0; box-shadow: -20px 0 60px rgba(0, 0, 0, .5); animation-name: pg-sheet-left; }
  .pg-sheet-backdrop--sm { justify-content: center; align-items: center; }
  .pg-sheet--sm { width: 480px; height: auto; border: 1px solid var(--ds-line-strong); border-radius: var(--ds-r-2); animation-name: pg-fade; }
}
@media (max-width: 1199.98px) {
  .pg-card-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .pg-market-browse { grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 1023.98px) {
  .pg-coll-split, .pg-coll-split--even { grid-template-columns: minmax(0, 1fr); }
  .pg-coll-side { position: static; margin-top: 16px; }
  .pg-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pg-dup-list { grid-template-columns: minmax(0, 1fr); }
  .pg-market-browse { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pg-market-filters { position: static; display: flex; flex-wrap: wrap; }
  .pg-market-filters .pg-select { flex: 1 1 150px; }
  .pg-market-results, .pg-market-foot { grid-column: auto; grid-row: auto; }
  .pg-mlist { grid-template-columns: minmax(0, 1fr); }
  .pg-vetrina-row { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 760px) and (max-width: 1099.98px) {
  .pg-coll-fan { display: none; }
}
@media (max-width: 759.98px) {
  .pg-coll-hero .pg-shell { padding-block: 22px 16px; }
  .pg-coll-fan { top: 16px; right: 18px; transform: none; }
  .pg-coll-fan-card { width: 52px; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .55)); }
  .pg-coll-fan-card + .pg-coll-fan-card { margin-left: -18px; }
  .pg-coll-fan .pg-card-foot, .pg-coll-fan .pg-card-top em { display: none; }
  /* Pacchetti su telefono: il pacchetto del giorno subito sotto le schede, "Come funziona" dopo. Il titolo
     "Pacchetti" ripete la scheda: resta per i lettori di schermo. */
  .pg-packs-main { display: flex; flex-direction: column; gap: 16px; }
  .pg-packs-main > * { margin: 0 !important; }
  .pg-packs-main > .pg-tab-head { order: 0; }
  .pg-packs-main > .pg-packs, .pg-packs-main > .pg-login { order: 1; }
  .pg-packs-main > .pg-how { order: 2; }
  .pg-packs-main > .pg-pity { order: 3; }
  .pg-packs-main > .pg-tab-head h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pg-coll-hero h1 { font-size: 44px; margin: 6px 0 8px; }
  .pg-coll-hero p { font-size: 15px; }
  .pg-coll-stats { margin-top: 14px; gap: 6px; }
  .pg-coll-stats li { min-height: 32px; padding: 0 10px; font-size: 13px; }
  /* Su telefono le 5 schede stanno in una riga; se lo schermo è ancora più stretto la barra scorre e sfuma a destra
     (classe is-overflowing messa dal codice solo quando serve). */
  .pg-coll-tabs { gap: 0; justify-content: space-between; padding-inline: 8px; }
  .pg-coll-tabs.is-overflowing { justify-content: flex-start; -webkit-mask-image: linear-gradient(90deg, #000 84%, transparent); mask-image: linear-gradient(90deg, #000 84%, transparent); padding-right: 40px; }
  .pg-coll-tabs button { min-height: 50px; padding: 0 5px; font-size: 12px; letter-spacing: .02em; gap: 4px; }
  .pg-coll-tabs button::after { left: 4px; right: 4px; }
  .pg-coll-tabs .pg-tab-badge { min-width: 18px; height: 18px; padding: 0 4px; font-size: 11px; }
  .pg-coll-body { padding-top: 20px; }
  .pg-tab-head h2 { font-size: 32px; }
  .pg-tab-head p { font-size: 15px; }
  .pg-panel { padding: 16px; }
  .pg-how-steps { grid-template-columns: minmax(0, 1fr); padding: 0 14px 14px; }
  .pg-how-toggle { padding: 0 14px; }
  .pg-pack { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .pg-pack-art { height: 72px; transform: scale(.8); transform-origin: left center; }
  .pg-pack > .ds-btn, .pg-pack > .pg-pack-wait { grid-column: 1 / -1; width: 100%; text-align: left; }
  .pg-pack-wait { display: flex; align-items: baseline; justify-content: space-between; }
  .pg-odds-table { font-size: 14px; }
  .pg-odds-table th, .pg-odds-table td { padding: 9px 4px; }
  .pg-odds-tier { gap: 6px; }
  .pg-odds-tier .pg-gem { width: 30px; }
  .pg-odds-table--wear { font-size: 13px; }
  .pg-odds-table--wear th, .pg-odds-table--wear td { padding-inline: 3px; }
  .pg-album-filters { display: grid; grid-template-columns: minmax(0, 1fr); }
  .pg-album-filters .pg-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pg-album-filters .pg-seg button { padding: 0 4px; font-size: 12px; letter-spacing: .02em; }
  .pg-album-filters .pg-select select { width: 100%; }
  .pg-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .pg-set { margin-bottom: 26px; }
  .pg-gold-goals { gap: 6px; }
  .pg-gold-goals li { padding: 8px; }
  .pg-dup-row { grid-template-columns: 48px minmax(0, 1fr); gap: 10px 12px; padding: 10px; }
  .pg-dup-thumb { width: 48px; }
  .pg-dup-actions { grid-column: 1 / -1; }
  .pg-dup-actions .ds-btn { flex: 1 1 0; }
  .pg-dups-summary .ds-btn { width: 100%; }
  .pg-mrow { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .pg-mrow-main { grid-template-columns: 48px minmax(0, 1fr); }
  .pg-mrow-thumb { width: 48px; }
  .pg-mrow-buy { grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: start; }
  .pg-mrow-buy .ds-btn, .pg-mrow-buy .pg-chip { justify-self: end; }
  .pg-market-filters .pg-toggle { flex: 1 1 140px; }
  .pg-vetrina-slots { display: flex; overflow-x: auto; gap: 10px; scroll-snap-type: x mandatory; margin-inline: -16px; padding: 0 16px 6px; scrollbar-width: thin; }
  .pg-vetrina-slots li { flex: 0 0 128px; scroll-snap-align: start; }
  .pg-vetrina-actions .ds-btn--primary { flex: 1 1 100%; }
  .pg-vetrina-row { display: flex; overflow-x: auto; gap: 10px; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  .pg-vetrina-row > * { flex: 0 0 140px; scroll-snap-align: start; }
  .pg-md-top { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
  .pg-cs-face { width: min(170px, 48%); }
  .pg-reveal { padding: 16px 12px; align-items: start; }
  .pg-reveal-inner { padding-top: 40px; }
  .pg-reveal-close { top: 0; }
  .pg-reveal-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
  .pg-flip-slot { gap: 8px; }
  .pg-flip-back small { display: none; }
  .pg-flip-tag { padding: 5px 6px; font-size: 11px; letter-spacing: 0; white-space: normal; line-height: 1.15; }
  .pg-flip-tag.is-new { font-size: 12px; }
  .pg-flip-guar { font-size: 10px; letter-spacing: .02em; }
  .pg-reveal-foot { margin-top: 18px; }
  .pg-reveal-line { font-size: 14px; }
  .pg-reveal-actions .ds-btn { flex: 1 1 100%; }
  .pg-flip-copy { gap: 3px; }
  .pg-flip-float { font-size: 17px; }
  .pg-flip-wear { font-size: 11px; line-height: 1.2; text-align: center; }
  .pg-flip-special { padding: 4px 5px; font-size: 10px; letter-spacing: .02em; }
  .pg-insp-face { width: min(200px, 56%); }
  .pg-insp-float b { font-size: 30px; }
  .pg-dup-head { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; }
  .pg-dup-copies li { grid-template-columns: minmax(0, 1fr) 84px; gap: 6px; }
  .pg-copy-row { gap: 6px; padding: 8px; }
  .pg-copy-top { gap: 6px; }
  .pg-copy-float { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .pg-card, .pg-card::before, .pg-card-foil, .pg-burst, .pg-holo-sweep, .pg-flip, .pg-flip-back, .pg-flip-tag, .pg-flip-guar, .pg-flip-copy, .pg-flip-special, .pg-reveal h2.is-mythic, .pg-sheet, .pg-sheet-backdrop { animation: none !important; }
  .pg-card-foil { background-position: 50% 0; }
  .pg-flip-inner { transition: none !important; transform: none !important; }
  .pg-flip-front { transform: none; opacity: 0; transition: opacity 150ms linear !important; }
  .pg-flip.is-open .pg-flip-front { opacity: 1; }
  .pg-flip.is-open .pg-flip-back { visibility: hidden; }
}

/* Negozio (/marketplace): rimando al Mercato carte. */
.market-crosslink { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; min-height: 56px; margin-bottom: 20px; padding: 14px 18px; border: 1px solid var(--ds-line-strong); border-left: 3px solid var(--pg-card-epic); border-radius: var(--ds-r-2); background: linear-gradient(120deg, rgba(176, 107, 255, .12), var(--ds-ink-850) 60%); color: var(--ds-text); font-size: 15px; line-height: 1.45; text-decoration: none; }
.market-crosslink:hover { border-color: var(--pg-card-epic); }
.market-crosslink__cta { color: var(--ds-lime); font-weight: 700; white-space: nowrap; }

/* ------------------------------ Regali dello staff e modalità owner ------------------------------ */
/* Pacchetti regalo (Control Room > Premi): si aprono prima degli altri. */
.pg-pack--gift { border-color: rgba(255, 215, 94, .7); background: linear-gradient(120deg, rgba(255, 215, 94, .1), rgba(15, 23, 32, .9) 55%); box-shadow: 0 0 0 1px rgba(255, 215, 94, .22), 0 18px 50px -24px rgba(255, 215, 94, .6); }
.pg-pack-art--gift i { border-color: rgba(255, 215, 94, .85); background: linear-gradient(160deg, #3a2c08, var(--ds-ink-900)); }
.pg-pack-art--gift i:nth-child(3) { background: linear-gradient(160deg, #ffd75e, #b8860b); animation: pg-pack-bob 2.2s ease-in-out infinite; }
.pg-pack-art--gift i:nth-child(3)::after { content: "🎁"; font: 20px/1 system-ui, sans-serif; }
/* Pacchetto di prova dell'owner: stessa forma, corona e oro tenue. */
.pg-pack--owner { border-color: rgba(255, 215, 94, .45); }
.pg-pack--owner.is-ready { box-shadow: 0 0 0 1px rgba(255, 215, 94, .2); }
.pg-pack-art--owner i { border-color: rgba(255, 215, 94, .6); background: linear-gradient(160deg, #2a2412, var(--ds-ink-900)); }
.pg-pack-art--owner i:nth-child(3) { background: linear-gradient(160deg, #6b5a22, #2a2412); }
.pg-pack-art--owner i:nth-child(3)::after { content: "👑"; font: 18px/1 system-ui, sans-serif; }
@media (prefers-reduced-motion: reduce) { .pg-pack-art--gift i:nth-child(3) { animation: none; } }
/* Copia di prova (modalità owner): etichetta «Prova» sulla card. */
.pg-card-test { position: absolute; z-index: 3; bottom: calc(6cqw + clamp(34px, 26cqw, 64px)); right: 6cqw; padding: .3em .5em; border: 1px solid rgba(255, 215, 94, .8); background: rgba(11, 10, 9, .9); color: #ffd75e; font: 700 clamp(9px, 5.4cqw, 11px)/1 var(--ds-font-body); letter-spacing: .08em; text-transform: uppercase; }
.pg-card--xs .pg-card-test { display: none; }
.pg-album-card.is-test .pg-card { outline: 1px dashed rgba(255, 215, 94, .55); outline-offset: 2px; }
.pg-cs-refused { margin: 0; padding: 10px 12px; border: 1px solid var(--ds-red); border-radius: var(--ds-r-1); background: var(--ds-red-soft); color: var(--ds-text); font-size: 14px; line-height: 1.45; }
.pg-reveal-owner { max-width: 640px; margin-inline: auto; text-align: left; }
