/* Shared decorative card backs. This is one flat leaf on the physical back;
   its clipping / texture composition never flattens the inspection rotor. */
.lexi-card-back {
  --back-ink: #e7eae0;
  --back-shadow: #0b241c;
  --back-highlight: #ffffffa3;
  --back-accent: #f4f4e9;
  --back-foil-x: 50%;
  --back-foil-y: 50%;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  container-type: inline-size;
  border: 1px solid #9caca080;
  border-radius: var(--inspection-radius, 13px);
  overflow: hidden;
  isolation: isolate;
  color: var(--back-ink);
  background:
    radial-gradient(ellipse at 37% 20%, #6f8f6830, transparent 58%),
    repeating-linear-gradient(52deg, #f1f5de12 0 .12px, transparent .16px 3.6px),
    linear-gradient(135deg, #254b3c, #173d32 44%, #11332a);
  box-shadow: inset 0 0 0 2px #0b2c2370, inset 0 1px 0 #d8e4d338,
    inset 0 -1px 0 #091e1799;
  user-select: none;
  -webkit-user-select: none;
}
.lexi-card-back::before {
  content: '';
  position: absolute;
  inset: 5.7%;
  border: 1px solid #cdd6bc12;
  border-radius: 7px;
  background:
    repeating-linear-gradient(34deg, transparent 0 18px, #d9e0c507 18.2px 18.8px, transparent 19px 37px),
    repeating-linear-gradient(-34deg, transparent 0 18px, #d9e0c507 18.2px 18.8px, transparent 19px 37px);
  pointer-events: none;
}
.lexi-back-engraving {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: var(--back-ink);
  filter: drop-shadow(0 .65px .15px var(--back-shadow));
  opacity: .7;
  pointer-events: none;
}
.lexi-back-inner-rule { opacity: .5; }
.lexi-back-spine-lines { opacity: .65; }
.lexi-back-facet-lines,
.lexi-back-scroll-lines,
.lexi-back-gilt-lines { display: none; }
.lexi-back-center {
  position: absolute;
  inset: 24% 16% 22%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  pointer-events: none;
}
.lexi-back-emblem {
  position: relative;
  width: 62%;
  aspect-ratio: 1;
  margin-bottom: 12%;
  color: var(--back-accent);
  background: radial-gradient(circle, #72906914, transparent 65%);
}
.lexi-back-orbit {
  position: absolute;
  inset: -10%;
  width: 120%;
  height: 120%;
  color: var(--back-ink);
  filter: drop-shadow(0 .6px .2px var(--back-shadow));
  opacity: .63;
}
.lexi-back-orbit-inner { opacity: .45; }
.lexi-back-orbit-beads { display: none; }
.lexi-back-flower {
  position: absolute;
  width: 60%;
  height: 60%;
  left: 20%;
  top: 20%;
  filter: drop-shadow(0 1px .2px var(--back-shadow)) drop-shadow(0 -.35px .1px var(--back-highlight));
}
.lexi-back-flower-core { fill: #1c4235; }
.lexi-card-back .lexi-back-title {
  margin-left: .29em;
  white-space: nowrap;
  font: 400 16px/1.2 Georgia, 'Times New Roman', serif;
  font-size: clamp(8px, 5.5cqi, 20px);
  letter-spacing: .29em;
  color: var(--back-accent);
  text-shadow: 0 1px 0 var(--back-shadow);
}
.lexi-card-back .lexi-back-name {
  margin-top: 6%;
  font: 400 19px/1.3 var(--serif, Georgia, serif);
  font-size: clamp(11px, 7.4cqi, 26px);
  letter-spacing: .25em;
  text-indent: .25em;
  color: var(--back-accent);
  text-shadow: 0 1px 0 var(--back-shadow);
}
.lexi-card-back .lexi-back-caption {
  margin-top: 5%;
  white-space: nowrap;
  font: 400 6px/1.5 Arial, sans-serif;
  font-size: clamp(4px, 2.1cqi, 8px);
  letter-spacing: .3em;
  text-indent: .3em;
  color: var(--back-ink);
  opacity: .62;
}
.lexi-card-back .lexi-back-tier {
  position: absolute;
  top: 82%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 16%;
  text-align: center;
  font: 400 9px/1.2 Georgia, 'Times New Roman', serif;
  font-size: clamp(6px, 3.2cqi, 12px);
  letter-spacing: .28em;
  text-indent: .28em;
  text-shadow: 0 1px 0 var(--back-shadow);
  color: var(--back-accent);
}
.lexi-back-tier::before,
.lexi-back-tier::after {
  content: '';
  position: absolute;
  top: 48%;
  width: 55%;
  border-top: .5px solid currentColor;
  opacity: .45;
}
.lexi-back-tier::before { right: 118%; }
.lexi-back-tier::after { left: 118%; }
.lexi-card-back .lexi-back-collected {
  position: absolute;
  top: 88%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: .5em;
  font: 400 5px/1.2 Arial, sans-serif;
  font-size: clamp(4px, 1.75cqi, 6px);
  letter-spacing: .2em;
  color: var(--back-ink);
}
.lexi-card-back .lexi-back-collected svg { width: 1.8em; height: 1.8em; }
.lexi-back-hologram { display: none; }

/* The stock remains ink green in every edition. Its engraved material changes. */
.lexi-card-back--r {
  --back-ink: #9fc6df;
  --back-accent: #e3effb;
  --back-highlight: #bddfff;
  border-color: #9fbed1;
}
.lexi-card-back--sr {
  --back-ink: #b79cdb;
  --back-accent: #e6d7fb;
  --back-highlight: #ead8ff;
  border-color: #aa92c5;
}
.lexi-card-back--ssr {
  --back-ink: #cfab5c;
  --back-accent: #fae5aa;
  --back-highlight: #fff1cc;
  border-color: #c7a355;
}
.lexi-card-back--r .lexi-back-facet-lines,
.lexi-card-back--sr .lexi-back-facet-lines,
.lexi-card-back--ssr .lexi-back-facet-lines,
.lexi-card-back--sr .lexi-back-scroll-lines,
.lexi-card-back--ssr .lexi-back-scroll-lines,
.lexi-card-back--ssr .lexi-back-gilt-lines { display: inline; }
.lexi-card-back--r .lexi-back-orbit-beads,
.lexi-card-back--sr .lexi-back-orbit-beads,
.lexi-card-back--ssr .lexi-back-orbit-beads { display: inline; }
.lexi-card-back--sr .lexi-back-engraving,
.lexi-card-back--ssr .lexi-back-engraving { opacity: .9; }
.lexi-card-back--ssr .lexi-back-orbit { opacity: .85; }
.lexi-card-back--ssr .lexi-back-flower {
  filter: drop-shadow(0 1.2px .2px #0b241c) drop-shadow(.35px -.35px .1px #fff4d4);
}
.lexi-card-back--ssr .lexi-back-hologram {
  display: block;
  position: absolute;
  inset: -11%;
  border-radius: 50%;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(112deg, #e8a2c800 12%, #8cbcca 24%, #f7eab1 36%, #cbb1eb 48%, #b9e4cf 60%, #f8d68a 72%, #e8a2c800 88%);
  background-size: 240% 180%;
  background-position: var(--back-foil-x) var(--back-foil-y);
  -webkit-mask-image: radial-gradient(circle, transparent 0 43%, #000 43.7% 44.3%, transparent 45% 53%, #000 53.8% 55.5%, transparent 56.2% 100%);
  mask-image: radial-gradient(circle, transparent 0 43%, #000 43.7% 44.3%, transparent 45% 53%, #000 53.8% 55.5%, transparent 56.2% 100%);
  mix-blend-mode: screen;
}
@supports (left: calc(50% + sin(1deg) * 1%)) {
  .lexi-card-back--ssr {
    --back-foil-x: calc(50% + sin(var(--inspection-yaw, 0deg)) * 48%);
    --back-foil-y: calc(50% + sin(var(--inspection-pitch, 0deg)) * 44%);
  }
}
@supports not ((mask-image: radial-gradient(#000, transparent)) or (-webkit-mask-image: radial-gradient(#000, transparent))) {
  .lexi-back-hologram { display: none; }
}
/* A concealed back never inherits a rarity palette from an enclosing slot. */
.lexi-card-back--concealed {
  --back-ink: #d7dec8;
  --back-accent: #eef0dd;
  --back-highlight: #ffffff66;
  border-color: #a4b39c;
}
.lexi-card-back.lexi-card-back--concealed .lexi-back-tier { font-size: clamp(7px, 3.5cqi, 12px); }

/* Inspection geometry: the stable outer box can be measured during a drag.
   Keep all grouping properties off this scene, rotor, and front plane. */
.inspection-object {
  --inspection-radius: 13px;
  --inspection-thickness: 3.6px;
  --inspection-edge-ink: #8e9b8c;
  --inspection-edge-paper: #e9eddf;
  --inspection-edge-light: #fffef1;
  --inspection-yaw: -15deg;
  --inspection-pitch: 6deg;
  --inspection-depth-factor: 1;
  position: relative;
  width: var(--inspection-card-width, 300px);
  aspect-ratio: .66;
  flex: 0 0 auto;
  box-sizing: border-box;
  perspective: 1400px;
  perspective-origin: 50% 50%;
  transform-style: preserve-3d;
  overflow: visible;
  isolation: auto;
}
.inspection-rotor {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transform: rotateX(var(--inspection-pitch)) rotateY(var(--inspection-yaw));
  overflow: visible;
  isolation: auto;
}
.inspection-front,
.inspection-back {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--inspection-radius);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  overflow: visible;
  isolation: auto;
}
.inspection-front { transform: translateZ(calc(var(--inspection-thickness) / 2)); }
.inspection-back {
  transform: rotateY(180deg) translateZ(calc(var(--inspection-thickness) / 2));
  visibility: hidden;
}
.inspection-object[data-facing='back'] .inspection-back { visibility: visible; }
/* Hide descendants explicitly as some old 3D leaves establish new contexts.
   Backface culling alone is insufficient for extruded transparent art planes. */
.inspection-object[data-facing='back'] .inspection-front,
.inspection-object[data-facing='back'] .inspection-front *,
.inspection-object:not([data-facing='back']) .inspection-back,
.inspection-object:not([data-facing='back']) .inspection-back * {
  visibility: hidden !important;
  pointer-events: none !important;
}
.inspection-back > .lexi-card-back { border-radius: inherit; }
.inspection-object--r { --inspection-edge-ink: #7694a5; --inspection-edge-paper: #d3e3ed; }
.inspection-object--sr { --inspection-edge-ink: #8e769b; --inspection-edge-paper: #e4d9ed; }
.inspection-object--ssr {
  --inspection-edge-ink: #9c793a;
  --inspection-edge-paper: #dec589;
  --inspection-edge-light: #fff0be;
}
.inspection-edge {
  position: absolute;
  display: block;
  box-sizing: border-box;
  pointer-events: none;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
  background: linear-gradient(0deg, var(--inspection-edge-ink), var(--inspection-edge-paper) 31%, var(--inspection-edge-light) 48%, var(--inspection-edge-paper) 65%, var(--inspection-edge-ink));
}
.inspection-edge--left,
.inspection-edge--right {
  top: var(--inspection-radius);
  height: calc(100% - var(--inspection-radius) * 2);
  width: var(--inspection-thickness);
  background: linear-gradient(90deg, var(--inspection-edge-ink), var(--inspection-edge-paper) 31%, var(--inspection-edge-light) 48%, var(--inspection-edge-paper) 65%, var(--inspection-edge-ink));
  transform: rotateY(90deg);
}
.inspection-edge--left { left: calc(var(--inspection-thickness) / -2); }
.inspection-edge--right { right: calc(var(--inspection-thickness) / -2); }
.inspection-edge--top,
.inspection-edge--bottom {
  left: var(--inspection-radius);
  width: calc(100% - var(--inspection-radius) * 2);
  height: var(--inspection-thickness);
  transform: rotateX(90deg);
}
.inspection-edge--top { top: calc(var(--inspection-thickness) / -2); }
.inspection-edge--bottom { bottom: calc(var(--inspection-thickness) / -2); }
.inspection-edge--corner {
  left: var(--edge-x);
  top: var(--edge-y);
  width: calc(var(--inspection-radius) * .5176381);
  height: var(--inspection-thickness);
  transform: translate(-50%, -50%) rotateZ(var(--edge-angle)) rotateX(90deg);
}

/* Scope the new volume strictly to inspection. Ordinary collection/pack cards
   retain their existing hover, art, frames, and six-slice stock treatment. */
.inspection-front .word-card,
.inspection-front .word-card.card-dimensional,
.inspection-front .word-card.card-dimensional:not(.card-locked) {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --art-depth: calc(.3px * var(--inspection-depth-factor));
  --body-depth: calc(.55px * var(--inspection-depth-factor));
  --frame-depth: calc(1.05px * var(--inspection-depth-factor));
  --label-depth: calc(1.4px * var(--inspection-depth-factor));
  width: 100%;
  height: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  box-sizing: border-box;
  background: transparent;
  box-shadow: none;
  perspective: none;
  transform: none !important;
  transform-style: preserve-3d;
  transition: none;
  overflow: visible;
  isolation: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .word-card > .card-volume {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 7px;
  box-sizing: border-box;
  border-radius: inherit;
  transform: none;
  perspective: none;
  transform-style: preserve-3d;
  overflow: visible;
  isolation: auto;
  box-shadow: inset 0 1px 0 #fffffff2, inset 0 -1px 0 #5f6a6138;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-stock,
.inspection-front .card-volume::before { display: none !important; }
.inspection-front .card-volume > .card-art {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  aspect-ratio: auto;
  box-sizing: border-box;
  transform: translateZ(var(--art-depth));
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-art.card-art-layered {
  --subject-depth: calc(5.5px * var(--inspection-depth-factor));
  transform-style: preserve-3d;
  overflow: visible;
  isolation: auto;
}
.inspection-front .card-art-layered > .art-subject-plane {
  transform: translateZ(var(--subject-depth)) translate(
    calc(var(--parallax-x, 0px) * -.6 * var(--inspection-depth-factor)),
    calc(var(--parallax-y, 0px) * -.6 * var(--inspection-depth-factor)));
  transition: none;
}
.inspection-front .card-volume > .card-body {
  flex: 0 0 auto;
  min-height: 0;
  padding: 14px 9px 11px;
  box-sizing: border-box;
  transform: translateZ(var(--body-depth));
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-word {
  font-size: clamp(20px, calc(var(--inspection-card-width, 300px) * .092), 29px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.inspection-front .card-pos { font-size: 10px; }
.inspection-front .card-meaning {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 7px;
}
.inspection-front .card-bottom { font-size: 9px; margin-top: 12px; padding-top: 8px; }
.inspection-front .card-number { font-size: 10px; }
.inspection-front .card-volume > .card-topline {
  top: 15px;
  left: 15px;
  right: 15px;
  transform: translateZ(var(--label-depth));
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-volume > .card-frame {
  border-width: 1px;
  transform: translateZ(var(--frame-depth));
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-volume > .card-foil {
  transform: translateZ(calc(var(--art-depth) + .15px * var(--inspection-depth-factor)));
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.inspection-front .card-volume > .mastered-stamp {
  transform: translateZ(var(--label-depth)) rotate(-14deg);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (forced-colors: active) {
  .lexi-card-back { border: 1px solid CanvasText; }
  .lexi-back-hologram { display: none; }
}

/* Replace the legacy two-item packet back without inheriting its span styling.
   The parent owns .pack-back-prompt; keep the decorative tier above that line. */
.flip-front:has(> .lexi-card-back) {
  display: block;
  padding: 0;
  border: 0;
  gap: 0;
  background: transparent;
}
.flip-front:has(> .lexi-card-back)::after { content: none; display: none; }
.flip-front > .lexi-card-back { width: 100%; height: 100%; }
.lexi-card-back .lexi-back-collected > span { font: inherit; letter-spacing: inherit; color: inherit; }
