/* Plush in a Box — collectible card system v2
   Format 63 x 88 mm (2.5 : 3.5). Every measure is in cqi (1cqi = 1% card width),
   so one card scales from a 260 px gallery tile to a 1488 px print export. */

.pib-card {
  --accent: #4FE0B4;
  --accent-2: #0F6F66;
  --panel-1: #F4EEE4;
  --panel-2: #E9E1D3;
  --fg: #1C2320;
  --fg-dim: rgba(28, 35, 32, .62);
  --line: rgba(28, 35, 32, .22);
  --win-1: #E6ECEF;
  --win-2: #9AA3AB;
  --frame: #1C2320;
  --mx: 50%;
  --my: 50%;
  --rx: 0deg;
  --ry: 0deg;
  --glare: 0;

  container-type: inline-size;
  position: relative;
  display: block;
  width: var(--pib-card-width, 320px);
  aspect-ratio: 63 / 88;
  font-family: "Avenir Next", "Avenir", "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
  color: var(--fg);
  perspective: 1400px;
  -webkit-font-smoothing: antialiased;
  user-select: none;
}

.pib-card__inner {
  position: absolute; inset: 0;
  transform-style: preserve-3d;
  transform: rotateY(var(--ry)) rotateX(var(--rx));
  transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.pib-card.is-tracking .pib-card__inner { transition: transform .08s linear; }
.pib-card.is-flipped .pib-card__inner { transform: rotateY(calc(180deg + var(--ry))) rotateX(var(--rx)); }

.pib-face {
  position: absolute; inset: 0;
  border-radius: 4.6cqi;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: var(--frame);
  box-shadow: 0 .6cqi 1.4cqi rgba(0, 0, 0, .22), 0 3cqi 7cqi -2cqi rgba(0, 0, 0, .35);
}
.pib-face--back { transform: rotateY(180deg); }
.pib-card[data-side="back"] .pib-face--front { display: none; }
.pib-card[data-side="back"] .pib-face--back { transform: none; }
.pib-card[data-side="front"] .pib-face--back { display: none; }

/* ---------- frame: solid with fine double line (standard) or foil (rare) ---------- */
.pib-frame {
  position: absolute; inset: 0;
  border-radius: inherit;
  background: var(--frame);
}
.pib-card[data-foil] .pib-frame {
  background:
    linear-gradient(115deg, transparent 20%, rgba(255,255,255,.55) calc(var(--mx) - 6%), rgba(255,255,255,0) calc(var(--mx) + 10%), transparent 80%),
    conic-gradient(from 210deg at 50% 50%, var(--foil-1), var(--foil-2), var(--foil-3), var(--foil-1), var(--foil-2), var(--foil-3), var(--foil-1));
  background-blend-mode: soft-light, normal;
}
.pib-card[data-foil="gold"]   { --foil-1: #8C6A2F; --foil-2: #F3DDA0; --foil-3: #C2964E; }
.pib-card[data-foil="silver"] { --foil-1: #6E747C; --foil-2: #F2F4F7; --foil-3: #A8AFB8; }
.pib-card[data-foil="violet"] { --foil-1: #4B3A78; --foil-2: #E7DBFF; --foil-3: #9B83E0; }
.pib-card[data-foil="coral"]  { --foil-1: #8A3F2A; --foil-2: #FFD9C7; --foil-3: #E07A55; }
.pib-card[data-foil="mint"]   { --foil-1: #0F6F66; --foil-2: #CFFBEE; --foil-3: #4FE0B4; }
.pib-card[data-foil="pastell"]{ --foil-1: #E9A8D6; --foil-2: #FFF6FB; --foil-3: #A9DCC8; }

/* foil micro-texture: very fine brushed lines */
.pib-card[data-foil] .pib-frame::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 .15cqi, rgba(0,0,0,.05) .15cqi .3cqi);
  mix-blend-mode: overlay;
}

.pib-panel {
  position: absolute; inset: 2.4cqi;
  border-radius: 2.6cqi;
  background: linear-gradient(170deg, var(--panel-1), var(--panel-2));
  box-shadow: inset 0 0 0 .22cqi var(--accent), inset 0 0 0 .9cqi var(--panel-1), inset 0 0 0 1.02cqi var(--line);
  display: grid;
  grid-template-rows: 9.6cqi 70cqi auto 1fr auto;
  padding: 2.1cqi 3.2cqi 2.2cqi;
  overflow: hidden;
}
.pib-card[data-tier="standard"] .pib-panel { box-shadow: inset 0 0 0 .9cqi var(--panel-1), inset 0 0 0 1.02cqi var(--line); }

/* ---------- header ---------- */
.pib-head {
  display: flex; align-items: center; gap: 1.6cqi;
  min-width: 0;
}
.pib-head__logo { width: 6.6cqi; height: 6.6cqi; flex: none; display: block; }
.pib-head__txt { display: flex; flex-direction: column; line-height: 1.05; min-width: 0; }
.pib-head__brand { font-size: 2.4cqi; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--fg-dim); }
.pib-head__edition { font-size: 4.1cqi; font-weight: 700; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pib-rarity {
  margin-left: auto; flex: none;
  display: flex; align-items: center; gap: 1cqi;
  font-size: 2.55cqi; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--fg);
  padding: .9cqi 1.7cqi .9cqi 1.3cqi;
  border-radius: 99px;
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  box-shadow: inset 0 0 0 .2cqi color-mix(in srgb, var(--accent) 70%, transparent);
}
.pib-rarity svg { width: 3.3cqi; height: 3.3cqi; fill: var(--accent-2); }
.pib-card[data-dark] .pib-rarity svg { fill: var(--accent); }

/* ---------- figure window ---------- */
.pib-window {
  position: relative;
  margin: .4cqi -.4cqi 0;
  border-radius: 2cqi;
  overflow: hidden;
  background: radial-gradient(120% 90% at 50% 38%, var(--win-1) 0%, var(--win-2) 78%);
  box-shadow: 0 0 0 .22cqi var(--fg), 0 0 0 .7cqi var(--panel-1), 0 0 0 .82cqi var(--accent);
  isolation: isolate;
}
.pib-window__art { position: absolute; inset: 0; z-index: 0; }
.pib-window__art svg { width: 100%; height: 100%; display: block; }
.pib-window__floor {
  position: absolute; left: 18%; right: 18%; bottom: 6%; height: 7%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0,0,0,.34), rgba(0,0,0,0));
  z-index: 1;
}
.pib-window__fig {
  position: absolute; z-index: 2;
  left: 50%; bottom: -2.5%;
  height: 108%;
  transform: translateX(-50%) translate(calc((var(--mx) - 50%) * -.04), calc((var(--my) - 50%) * -.03));
  filter: drop-shadow(0 1.2cqi 1.6cqi rgba(0,0,0,.28)) contrast(1.08) saturate(1.1) brightness(.96);
  pointer-events: none;
}
.pib-window__fig--silhouette { height: 82%; bottom: 7%; filter: none; }

/* series index + print number inside window */
.pib-window__tag {
  position: absolute; z-index: 4; top: 2.2cqi;
  font-size: 2.6cqi; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: .7cqi 1.5cqi; border-radius: 99px;
  background: rgba(21, 25, 26, .62); color: #F4EEE4;
  backdrop-filter: blur(2px);
}
.pib-window__tag--l { left: 2.2cqi; }
.pib-window__tag--r { right: 2.2cqi; font-family: "SF Mono", Menlo, monospace; letter-spacing: .04em; }

/* corner ticks (fine line work) */
.pib-window__ticks { position: absolute; inset: 1.4cqi; z-index: 4; pointer-events: none; }
.pib-window__ticks i { position: absolute; width: 3cqi; height: 3cqi; border: 0 solid rgba(255,255,255,.75); }
.pib-window__ticks i:nth-child(1) { left: 0; bottom: 0; border-left-width: .22cqi; border-bottom-width: .22cqi; }
.pib-window__ticks i:nth-child(2) { right: 0; bottom: 0; border-right-width: .22cqi; border-bottom-width: .22cqi; }

/* licence band */
.pib-window__band {
  position: absolute; z-index: 5; left: -10%; right: -10%; top: 58%;
  transform: rotate(-8deg);
  padding: 1.3cqi 0;
  text-align: center;
  font-size: 3cqi; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: #15191A;
  background: repeating-linear-gradient(135deg, #F4EEE4 0 2cqi, #E6E0D4 2cqi 4cqi);
  box-shadow: 0 0 0 .25cqi #15191A, 0 1cqi 2cqi rgba(0,0,0,.35);
}

/* ---------- holo layers ---------- */
.pib-holo, .pib-glare { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; }
.pib-holo {
  z-index: 1;
  opacity: var(--holo-o, 0);
  background:
    repeating-linear-gradient(118deg,
      hsl(170 80% 70%) 0%, hsl(205 80% 72%) 6%, hsl(265 70% 76%) 12%,
      hsl(330 70% 78%) 18%, hsl(45 85% 74%) 24%, hsl(170 80% 70%) 30%),
    conic-gradient(from 0deg at var(--mx) var(--my), #fff0, #ffffff40, #fff0 30%, #ffffff30 60%, #fff0);
  background-size: 260% 260%, 100% 100%;
  background-position: calc(var(--mx) * 1.6) calc(var(--my) * 1.2), 0 0;
  mix-blend-mode: color-dodge;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,.35) 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,.35) 100%);
}
/* pattern holo for artist tier: holo only shows through the artwork texture */
.pib-card[data-holo="pattern"] .pib-holo {
  -webkit-mask-image: repeating-linear-gradient(60deg, #000 0 .35cqi, transparent .35cqi 1.4cqi);
          mask-image: repeating-linear-gradient(60deg, #000 0 .35cqi, transparent .35cqi 1.4cqi);
}
.pib-glare {
  z-index: 6;
  background: radial-gradient(farthest-corner circle at var(--mx) var(--my), rgba(255,255,255,.55) 0%, rgba(255,255,255,.12) 22%, rgba(0,0,0,.18) 90%);
  mix-blend-mode: overlay;
  opacity: var(--glare);
  transition: opacity .3s ease;
}
.pib-face > .pib-glare { z-index: 20; border-radius: 4.6cqi; }

.pib-card[data-holo="soft"]    { --holo-o: .14; }
.pib-card[data-holo="window"]  { --holo-o: .2; }
.pib-card[data-holo="pattern"] { --holo-o: .34; }
.pib-card[data-holo="full"]    { --holo-o: .13; }
/* the figure itself gets a faint foil sheen only on rare tiers */
.pib-card[data-foil] .pib-window__fig { filter: drop-shadow(0 1.2cqi 1.6cqi rgba(0,0,0,.4)) contrast(1.08) saturate(1.12) brightness(.97); }
.pib-card:hover, .pib-card.is-tracking { --glare: .7; }
.pib-card[data-holo="soft"]:hover { --holo-o: .28; }

/* ---------- name plate ---------- */
.pib-name {
  display: grid; grid-template-columns: 1fr; align-items: end; gap: 1cqi 2cqi;
  margin-top: 3.4cqi;
  padding-bottom: 1.8cqi;
  border-bottom: .2cqi solid var(--line);
}
.pib-name__main { display: flex; align-items: baseline; gap: 1.6cqi; min-width: 0; line-height: 1; }
.pib-name__animal { font-size: 5.6cqi; font-weight: 500; color: var(--fg-dim); white-space: nowrap; }
.pib-name__dot { width: 1.2cqi; height: 1.2cqi; border-radius: 50%; background: var(--accent); align-self: center; flex: none; }
.pib-name__kid { font-size: 8.4cqi; font-weight: 800; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pib-name__sub { grid-column: 1 / -1; font-size: 3cqi; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-dim); }
.pib-name__no { text-align: right; line-height: 1; }
.pib-name__no b { display: block; font-family: "SF Mono", Menlo, monospace; font-size: 4.6cqi; font-weight: 700; letter-spacing: -.02em; }
.pib-name__no span { font-size: 2.3cqi; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-dim); }

/* ---------- stat grid ---------- */
.pib-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.5cqi 2cqi;
  margin-top: 2.3cqi;
  align-content: start;
}
.pib-stat { display: grid; grid-template-columns: 4.2cqi 1fr; column-gap: 1.2cqi; align-items: center; min-width: 0; }
.pib-stat svg { width: 4.2cqi; height: 4.2cqi; grid-row: span 2; stroke: var(--accent-2); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pib-card[data-dark] .pib-stat svg { stroke: var(--accent); }
.pib-stat__k { font-size: 2.45cqi; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-dim); line-height: 1.15; }
.pib-stat__v { font-size: 3.5cqi; font-weight: 700; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pib-stat__v--mono { font-family: "SF Mono", Menlo, monospace; font-size: 3.2cqi; letter-spacing: -.01em; }

/* ---------- footer ---------- */
.pib-foot { display: flex; align-items: center; gap: 2cqi; margin-top: 1.4cqi; }
.pib-qr { width: 9.4cqi; height: 9.4cqi; flex: none; border-radius: .8cqi; background: #fff; padding: .7cqi; box-sizing: border-box; }
.pib-qr svg { width: 100%; height: 100%; display: block; }
.pib-foot__txt { flex: 1; min-width: 0; font-size: 2.45cqi; line-height: 1.35; color: var(--fg-dim); }
.pib-foot__txt b { color: var(--fg); font-weight: 700; }
.pib-foot__sym { display: flex; flex-direction: column; align-items: flex-end; gap: .5cqi; font-family: "SF Mono", Menlo, monospace; font-size: 2.2cqi; color: var(--fg-dim); letter-spacing: .04em; white-space: nowrap; }
.pib-foot__sym svg { width: 3.6cqi; height: 3.6cqi; fill: var(--fg); }
.pib-mockup {
  display: inline-block; font-size: 1.9cqi; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
  padding: .2cqi .9cqi; border-radius: .6cqi;
  box-shadow: inset 0 0 0 .16cqi var(--line); color: var(--fg-dim);
}

/* code field (founder edition business-card template) */
.pib-code {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: .3cqi;
  padding: 1.1cqi 1.8cqi; border-radius: 1.2cqi;
  background: rgba(0,0,0,.28);
  box-shadow: inset 0 0 0 .18cqi color-mix(in srgb, var(--accent) 60%, transparent);
}
.pib-code span { font-size: 2.1cqi; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-dim); }
.pib-code b { font-family: "SF Mono", Menlo, monospace; font-size: 3.7cqi; letter-spacing: .06em; color: var(--accent); }

/* ---------- full-art (artist) ---------- */
.pib-card[data-layout="fullart"] .pib-window { margin-left: -3.2cqi; margin-right: -3.2cqi; border-radius: 0; box-shadow: 0 .22cqi 0 var(--accent), 0 -.22cqi 0 var(--accent); }

/* =================== back =================== */
.pib-back {
  position: absolute; inset: 2.4cqi; border-radius: 2.6cqi; overflow: hidden;
  background:
    repeating-radial-gradient(circle at 50% 14%, transparent 0 1.3cqi, color-mix(in srgb, var(--accent) 9%, transparent) 1.3cqi 1.45cqi),
    linear-gradient(170deg, #1C2320, #15191A 70%);
  box-shadow: inset 0 0 0 .22cqi var(--accent), inset 0 0 0 .9cqi #15191A, inset 0 0 0 1.02cqi rgba(244,238,228,.16);
  color: #F4EEE4;
  padding: 3.8cqi 4.4cqi 3cqi;
  display: flex; flex-direction: column; gap: 2.3cqi;
  --fg: #F4EEE4; --fg-dim: rgba(244,238,228,.64); --line: rgba(244,238,228,.18);
}
.pib-back__head { display: flex; align-items: center; gap: 2cqi; }
.pib-back__head img { width: 9cqi; height: 9cqi; }
.pib-back__brand { font-size: 5.4cqi; font-weight: 800; letter-spacing: -.01em; line-height: 1; }
.pib-back__brand em { font-style: normal; color: var(--accent); }
.pib-back__claim { font-size: 2.4cqi; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-dim); margin-top: .8cqi; font-weight: 600; }
.pib-back h3 {
  margin: 0; font-size: 2.5cqi; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--accent);
  display: flex; justify-content: space-between; align-items: baseline;
}
.pib-back h3 small { font-size: 2.2cqi; color: var(--fg-dim); letter-spacing: .14em; }
.pib-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3cqi; }
.pib-grid__cell {
  position: relative; aspect-ratio: 1 / .6; border-radius: 1.4cqi;
  background: rgba(244,238,228,.06); box-shadow: inset 0 0 0 .16cqi rgba(244,238,228,.14);
  display: flex; align-items: center; justify-content: center;
}
.pib-grid__cell svg { width: 52%; height: 86%; }
.pib-grid__cell i { position: absolute; left: 1.2cqi; top: .9cqi; font-style: normal; font-size: 2.2cqi; font-weight: 700; color: var(--fg-dim); font-family: "SF Mono", Menlo, monospace; }
.pib-grid--figs .pib-grid__cell { overflow: hidden; }
.pib-grid--figs .pib-grid__cell img { height: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 88%; transform: translateX(-6%); filter: drop-shadow(0 .4cqi .6cqi rgba(0,0,0,.35)); }
.pib-grid--figs .pib-grid__cell b { position: absolute; right: 1.1cqi; top: .9cqi; font-size: 1.6cqi; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-dim); }
.pib-grid--figs .pib-grid__cell.is-open b { position: static; color: rgba(244,238,228,.32); letter-spacing: .2em; }
.pib-grid--figs .pib-grid__cell.is-own b { display: none; }
.pib-grid__cell.is-own { background: color-mix(in srgb, var(--accent) 20%, transparent); box-shadow: inset 0 0 0 .3cqi var(--accent); }
.pib-grid__cell.is-own::after {
  content: "Deins"; position: absolute; right: 1cqi; bottom: .8cqi; font-size: 1.9cqi; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent);
}
.pib-cycle { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1cqi; position: relative; }
.pib-cycle::before { content: ""; position: absolute; left: 12%; right: 12%; top: 3.4cqi; border-top: .2cqi dashed color-mix(in srgb, var(--accent) 60%, transparent); }
.pib-cycle div { position: relative; text-align: center; font-size: 2.35cqi; line-height: 1.25; color: var(--fg-dim); }
.pib-cycle div b { display: block; color: var(--fg); font-size: 2.6cqi; margin-top: 1cqi; }
.pib-cycle svg { width: 6.8cqi; height: 6.8cqi; padding: 1.2cqi; box-sizing: border-box; border-radius: 50%; background: #1C2320; box-shadow: inset 0 0 0 .2cqi var(--accent); stroke: var(--accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pib-info { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6cqi; }
.pib-info > div { border-radius: 1.6cqi; padding: 1.8cqi 2cqi; background: rgba(244,238,228,.06); box-shadow: inset 0 0 0 .16cqi rgba(244,238,228,.14); font-size: 2.35cqi; line-height: 1.35; color: var(--fg-dim); }
.pib-info b { display: block; color: var(--fg); font-size: 2.8cqi; margin-bottom: .5cqi; }
.pib-back__foot { margin-top: auto; display: flex; align-items: center; gap: 2cqi; font-size: 2.2cqi; color: var(--fg-dim); }
.pib-back__foot .pib-qr { width: 11cqi; height: 11cqi; }
.pib-back__foot code { font-family: "SF Mono", Menlo, monospace; color: var(--fg); font-size: 2.7cqi; }
.pib-back .pib-mockup { margin-left: auto; }
.pib-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6cqi; }
.pib-cats div { border-radius: 1.6cqi; padding: 2cqi; background: rgba(244,238,228,.06); box-shadow: inset 0 0 0 .16cqi rgba(244,238,228,.14); font-size: 2.3cqi; color: var(--fg-dim); line-height: 1.35; }
.pib-cats b { display: block; color: var(--fg); font-size: 3cqi; margin-bottom: .4cqi; }
.pib-note { font-size: 2.35cqi; line-height: 1.4; color: var(--fg-dim); margin: 0; }
.pib-note b { color: var(--fg); }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  .pib-card[data-foil]:hover .pib-frame { animation: pib-foil 6s linear infinite; }
}
@keyframes pib-foil { to { filter: hue-rotate(14deg); } }
@media (prefers-reduced-motion: reduce) {
  .pib-card__inner, .pib-card.is-tracking .pib-card__inner { transition: none; transform: none; }
  .pib-card.is-flipped .pib-card__inner { transform: rotateY(180deg); }
  .pib-window__fig { transform: translateX(-50%); }
}
.pib-card:focus-visible { outline: .6cqi solid var(--accent); outline-offset: 1cqi; border-radius: 5cqi; }

/* ---------- optional live 3D in the figure window (attribute model="…glb") ---------- */
.pib-3d {
  position: absolute; z-index: 8; top: 2.2cqi; right: 2.2cqi;
  display: inline-flex; align-items: center; gap: 1cqi;
  min-height: 8.4cqi; padding: 1.2cqi 2.2cqi 1.2cqi 1.6cqi;
  font: 700 3cqi/1 "Avenir Next", "Avenir", "Nunito Sans", "Helvetica Neue", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase;
  color: #F4EEE4; background: rgba(21, 25, 26, .66);
  border: 0; border-radius: 99px; cursor: pointer;
  box-shadow: inset 0 0 0 .22cqi color-mix(in srgb, var(--accent) 70%, transparent), 0 .6cqi 1.6cqi rgba(0,0,0,.25);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: background .2s ease, transform .2s ease;
}
.pib-3d svg { width: 4.4cqi; height: 4.4cqi; fill: none; stroke: var(--accent); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pib-card:not([data-dark]) .pib-3d svg { stroke: color-mix(in srgb, var(--accent) 70%, #fff); }
.pib-3d:hover { background: rgba(21, 25, 26, .84); }
.pib-3d:focus-visible { outline: .5cqi solid var(--accent); outline-offset: .6cqi; }
.pib-card[data-model="loading"] .pib-3d span::after { content: " …"; }
.pib-window__mv {
  position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; display: block;
  background: transparent; --poster-color: transparent; --progress-bar-color: var(--accent);
}
.pib-card.is-3d .pib-window__fig, .pib-card.is-3d .pib-window__floor { opacity: 0; transition: opacity .3s ease; }
.pib-card.is-3d .pib-window .pib-holo, .pib-card.is-3d .pib-window .pib-glare, .pib-card.is-3d .pib-window__ticks { display: none; }
@media (prefers-reduced-motion: reduce) { .pib-3d { transition: none; } }
