/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/components/ui/brand/site-brand.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.pol-brand.site-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  flex-shrink: 0;
  line-height: 1.1;
}
.site-brand .site-brand-name {
  font-family: Cardo, Georgia, serif;
  font-size: 25px;
  font-weight: 400;
  white-space: nowrap;
  color: var(--ars-text);
}
.site-brand .site-brand-signature {
  display: flex;
  align-items: center;
  gap: 10px;
  font:
    8px/1.3 Inter,
    Arial,
    sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.21em;
  color: var(--ars-muted);
}
.site-brand-flag {
  display: inline-block;
  width: 52px;
  height: 4px;
  flex-shrink: 0;
  background: linear-gradient(
    90deg,
    #385778 0 33.333%,
    #e8e5d9 33.333% 66.666%,
    #a14e4d 66.666%
  );
}
@media (max-width: 1050px) {
  .site-brand .site-brand-name {
    font-size: 22px;
  }
}
@media (max-width: 760px) {
  .site-brand .site-brand-name {
    font-size: 21px;
  }
  .site-brand .site-brand-signature {
    font-size: 7px;
    gap: 8px;
    letter-spacing: 0.14em;
  }
  .site-brand-flag {
    width: 40px;
    height: 3px;
  }
}
@media (max-width: 360px) {
  .site-brand .site-brand-name {
    font-size: 19px;
  }
}
@media (max-width: 500px) {
  .ui-auth-header {
    flex-wrap: wrap;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/arsenal/navigation.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Four signed-in destinations. Shop is a subsection of Les boosters. */
.pol-app .site-header .ars-nav[data-main-nav] {
  justify-self: start;
  gap: 26px;
}
.pol-app .site-header .ars-nav[data-main-nav] a {
  min-width: 0;
  padding-inline: 0;
  font-size: 13px;
  white-space: nowrap;
}
@media (min-width: 761px) and (max-width: 1100px) {
  .pol-app .site-header .ars-nav[data-main-nav] {
    gap: 18px;
  }
  .pol-app .site-header .ars-nav[data-main-nav] a {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .pol-app .site-header .ars-nav[data-main-nav] {
    justify-self: stretch;
    gap: 0;
  }
  .pol-app .site-header .ars-nav[data-main-nav] a {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 5px;
    white-space: normal;
    text-align: center;
    font-size: 11px;
    line-height: 1.25;
  }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/arsenal/site-header.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.site-header-bar {
  background: var(--ars-panel);
  border-bottom: 1px solid var(--ars-border);
}
.pol-app .site-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  max-width: 1264px;
  height: 98px;
  padding: 0 32px;
  border: 0;
}
.site-header-identity {
  display: grid;
  justify-items: end;
  gap: 5px;
  color: var(--ars-muted);
}
.site-header-values {
  display: flex;
  align-items: center;
  gap: 13px;
}
.site-header-values > svg {
  width: 64px;
  height: 52px;
}
.arsenal .site-header-values p {
  padding-left: 13px;
  border-left: 1px solid var(--ars-border);
  margin: 0;
  font:
    8px/1.55 Inter,
    Arial,
    sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.site-header .site-header-edition {
  display: flex;
  gap: 10px;
  color: var(--ars-muted);
  font-size: 8px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.site-header-edition b {
  color: var(--ars-accent);
  font-weight: 500;
}
.pol-app .ars-main {
  max-width: 1264px;
  padding-inline: 32px;
}
@media (max-width: 1100px) {
  .pol-app .site-header {
    gap: 20px;
    padding-inline: 24px;
  }
  .site-header-values {
    display: none;
  }
  .site-header .site-header-edition {
    display: grid;
    gap: 3px;
    font-size: 8px;
  }
}
@media (max-width: 760px) {
  .pol-app .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    height: 84px;
    padding-inline: 16px;
  }
  .site-header .site-header-edition {
    max-width: 83px;
    font-size: 8px;
    letter-spacing: 0.07em;
  }
  .pol-app .ars-main {
    padding-inline: 20px;
  }
}
@media (max-width: 380px) {
  .pol-app .ars-main {
    padding-inline: 16px;
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/arsenal/shell.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Keep short pages and pending content from pulling the footer into the page. */
.pol-app {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
.pol-app > .site-header-bar {
  flex-shrink: 0;
}
.pol-app > .ars-main {
  flex: 1 0 auto;
  width: 100%;
  margin-block: 0;
}
.pol-app > .pol-footer {
  flex-shrink: 0;
  width: 100%;
  margin-block: 0;
}
.pol-app:has(.profile-page) > .pol-footer {
  display: none;
}

@media (max-width: 760px) {
  .pol-app > .ars-main:has(.profile-page) {
    padding-bottom: calc(68px + env(safe-area-inset-bottom) + 32px);
  }
  .profile-page > :last-child {
    margin-bottom: 0;
  }
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) {
    --mobile-page-header-height: 0px;
  }
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) > .pol-footer {
    display: none;
  }
}
@media (max-width: 760px) and (max-height: 779px) {
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery]))
    > .site-header-bar {
    border: 0;
  }
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) .site-header {
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
  }
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) .site-brand,
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery]))
    .site-header-identity {
    display: none;
  }
}
@media (max-width: 760px) and (min-height: 780px) {
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) {
    --mobile-page-header-height: 72px;
  }
  .pol-app:has(:is(.boosters-hub, .ars-opening[data-discovery])) .site-header {
    height: var(--mobile-page-header-height);
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/season/collection-landing.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.pol-app > .ars-main.landing-main {
  padding-top: 0;
  padding-bottom: 48px;
}
.collection-landing {
  --landing-text: var(--ui-text);
  --landing-muted: var(--ui-muted);
  --landing-muted: color-mix(in srgb, var(--ui-muted) 92%, var(--ui-text));
  --landing-accent: var(--ui-accent);
  --landing-border: var(--ui-border);
  --landing-surface: var(--ui-surface);
  --landing-card-radius: 10px;
  --landing-card-shadow: 0 14px 30px #0004;
  --landing-control-shadow: 0 2px 8px #0003;
  --landing-feedback-duration: 160ms;
  --landing-heading: Cardo, Georgia, serif;
  color: var(--landing-text);
}
.collection-landing :is(h1, h2, h3, p, figure) {
  margin: 0;
}
.collection-landing :is(h1, h2, h3, p, figcaption) {
  overflow-wrap: anywhere;
}
.collection-landing :is(h1, h2) {
  font-family: var(--landing-heading);
  font-weight: 400;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.collection-landing :is(h1, h2) em {
  font-style: normal;
  color: var(--landing-accent);
}
.landing-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  min-height: 624px;
  padding-block: 60px;
}
.collection-landing .landing-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--landing-accent);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.landing-eyebrow > span {
  width: 24px;
  height: 1px;
  background: currentColor;
}
.collection-landing .landing-hero h1 {
  margin-block: 24px 20px;
  font-size: clamp(3.25rem, 5.4vw, 5.25rem);
  line-height: 1.03;
}
.landing-hero h1 em {
  display: block;
}
.collection-landing .landing-intro {
  max-width: 41ch;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--landing-muted);
  text-wrap: pretty;
}
.landing-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}
.collection-landing :is(.landing-primary, .landing-secondary) {
  max-width: 100%;
  min-height: 48px;
  height: auto;
  padding: 14px 20px;
  white-space: normal;
  text-align: center;
  font-size: 0.875rem;
}
.collection-landing .landing-primary {
  gap: 20px;
  padding-inline: 22px;
  box-shadow: var(--landing-control-shadow);
  transition:
    background-color var(--landing-feedback-duration) ease-out,
    border-color var(--landing-feedback-duration) ease-out,
    translate var(--landing-feedback-duration) ease-out;
}
.collection-landing .landing-secondary {
  color: var(--landing-text);
  background: transparent;
  padding-inline: 0;
}
.collection-landing .landing-reassurance {
  margin-top: 16px;
  color: var(--landing-muted);
  font-size: 0.75rem;
  line-height: 1.8;
}
.landing-hero-copy,
.landing-hero-art {
  min-width: 0;
}
.landing-scene-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--landing-border);
  padding-bottom: 16px;
  color: var(--landing-muted);
  font-size: 0.6875rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.landing-scene {
  min-height: 432px;
  position: relative;
}
.landing-fan {
  --fan-width: clamp(144px, 16vw, 198px);
  --fan-spread: clamp(80px, 9vw, 126px);
  position: relative;
  min-height: 366px;
  isolation: isolate;
}
.collection-landing .landing-card {
  --fan-x: 0px;
  --fan-y: -55%;
  --fan-angle: 0deg;
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--fan-width);
  height: auto;
  aspect-ratio: 5 / 7;
  margin-left: calc(var(--fan-width) / -2);
  padding: 0;
  border: 0;
  border-radius: var(--landing-card-radius);
  background: transparent;
  box-shadow: var(--landing-card-shadow);
  transform: translate(var(--fan-x), var(--fan-y)) rotate(var(--fan-angle));
  transition: translate var(--landing-feedback-duration) ease-out;
  z-index: 3;
}
.landing-fan[data-count="3"] .landing-card[data-position="0"] {
  --fan-x: calc(-1 * var(--fan-spread));
  --fan-y: -40%;
  --fan-angle: -13deg;
  z-index: 1;
}
.landing-fan[data-count="3"] .landing-card[data-position="2"] {
  --fan-x: var(--fan-spread);
  --fan-y: -40%;
  --fan-angle: 13deg;
  z-index: 2;
}
.landing-fan[data-count="2"] .landing-card[data-position="0"] {
  --fan-x: calc(-0.5 * var(--fan-spread));
  --fan-angle: -9deg;
  z-index: 1;
}
.landing-fan[data-count="2"] .landing-card[data-position="1"] {
  --fan-x: calc(0.5 * var(--fan-spread));
  --fan-angle: 9deg;
}
.collection-landing .landing-card:focus-visible {
  z-index: 5;
  outline: 3px solid var(--landing-accent);
  outline-offset: 6px;
}
.landing-scene-caption {
  padding-block: 16px;
  text-align: center;
}
.landing-scene-caption p {
  font-size: 0.8125rem;
}
.landing-scene-caption span {
  display: block;
  margin-top: 8px;
  color: var(--landing-muted);
  font-size: 0.75rem;
}
.landing-scene-state {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  text-align: center;
  color: var(--landing-muted);
  font-size: 0.8125rem;
}
.landing-scene-state > p {
  max-width: 36ch;
  margin-inline: auto;
}
.landing-scene-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 240px;
  padding-block: 20px;
}
.landing-scene-placeholder span {
  width: 100px;
  height: 140px;
  border: 1px solid var(--landing-border);
  border-radius: var(--landing-card-radius);
  background: var(--landing-surface);
}
.landing-scene-placeholder span:first-child {
  rotate: -13deg;
  margin-right: -30px;
}
.landing-scene-placeholder span:nth-child(2) {
  align-self: flex-start;
  z-index: 1;
}
.landing-scene-placeholder span:last-child {
  rotate: 13deg;
  margin-left: -30px;
}
.landing-values {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 24px;
  border-block: 1px solid var(--landing-border);
}
.landing-values p {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.8125rem;
  color: var(--landing-muted);
}
.landing-values svg {
  color: var(--landing-accent);
  flex-shrink: 0;
}
.landing-story {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 80px;
  padding-block: 96px;
}
.collection-landing h2 {
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  line-height: 1.12;
}
.landing-story h2 {
  margin-top: 24px;
}
.collection-landing h3 {
  font-family: Inter, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.015em;
}
.landing-story-copy > p {
  color: var(--landing-muted);
  margin-top: 16px;
  line-height: 1.8;
  font-size: 0.9375rem;
  text-wrap: pretty;
}
.landing-text-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 44px;
  margin-top: 12px;
  font-size: 0.8125rem;
  color: var(--landing-accent);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.landing-story-copy > .landing-independence {
  font-size: 0.75rem;
  padding-top: 16px;
  border-top: 1px solid var(--landing-border);
}
.landing-how {
  padding: 48px;
  background: var(--landing-surface);
  border: 1px solid var(--landing-border);
  border-radius: 12px;
  scroll-margin-top: 24px;
}
.landing-section-heading h2 {
  margin-top: 20px;
}
.landing-how-body {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  gap: 64px;
  align-items: center;
  margin-top: 48px;
}
.landing-pack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.landing-pack-art {
  width: 174px;
  aspect-ratio: 2 / 3;
  rotate: -6deg;
}
.landing-pack-art > :is(img, svg) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.landing-pack figcaption {
  font-size: 0.8125rem;
  text-align: center;
}
.landing-pack figcaption span {
  display: block;
  color: var(--landing-muted);
  margin-top: 4px;
  font-size: 0.75rem;
}
.landing-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}
.landing-steps li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 16px;
  padding-block: 24px;
  border-bottom: 1px solid var(--landing-border);
}
.landing-steps li:first-child {
  padding-top: 0;
}
.landing-steps li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.landing-step-number {
  color: var(--landing-accent);
  font-family: var(--landing-heading);
  font-size: 1.25rem;
}
.landing-steps p {
  color: var(--landing-muted);
  margin-top: 8px;
  font-size: 0.875rem;
  line-height: 1.8;
  text-wrap: pretty;
}
.landing-invitation {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding-block: 96px 48px;
  text-align: center;
}
.landing-invitation > p:not(.landing-eyebrow) {
  max-width: 52ch;
  color: var(--landing-muted);
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media (max-width: 1100px) {
  .landing-hero {
    gap: 24px;
  }
  .collection-landing .landing-hero h1 {
    font-size: 4rem;
  }
  .landing-story {
    gap: 48px;
  }
  .landing-how {
    padding: 32px;
  }
  .landing-how-body {
    gap: 32px;
  }
}
@media (max-width: 760px) {
  .landing-hero {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 40px 24px;
    gap: 40px;
  }
  .collection-landing .landing-hero h1 {
    font-size: clamp(2.75rem, 12vw, 4rem);
    margin-block: 20px;
  }
  .collection-landing .landing-intro {
    font-size: 0.9375rem;
    max-width: 44ch;
  }
  .landing-actions {
    gap: 12px 20px;
    margin-top: 24px;
  }
  .landing-fan {
    --fan-width: clamp(112px, 34vw, 148px);
    --fan-spread: clamp(64px, 19vw, 92px);
    min-height: 300px;
  }
  .landing-scene {
    min-height: 366px;
  }
  .landing-values {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .landing-story {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding-block: 48px;
  }
  .landing-how {
    padding: 24px 20px;
  }
  .landing-how-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    margin-top: 32px;
  }
  .landing-pack-art {
    width: 140px;
  }
  .landing-pack {
    gap: 20px;
  }
  .landing-invitation {
    padding-block: 56px 24px;
  }
}
/* Pointer feedback stays local and does not stick after a touch interaction. */
@media (hover: hover) and (pointer: fine) {
  .collection-landing .landing-primary:hover {
    translate: 0 -1px;
  }
  .collection-landing .landing-secondary:hover,
  .landing-text-link:hover {
    color: var(--landing-accent);
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  .collection-landing .landing-card:hover {
    background: transparent;
    translate: 0 -3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-landing :is(.landing-card, .landing-primary, .landing-secondary) {
    transition: none;
  }
  .collection-landing :is(.landing-card, .landing-primary):hover {
    translate: none;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/politics/finish-accents.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Authored optical accents inspired by observed Chatdeck effects; no third-party CSS copied. */
@property --pol-finish-accent-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.pol-finish-accents {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 2;
  --accent-light: calc(0.3 + var(--pointer-from-center, 0) * 0.7);
  --pol-finish-accent-metal: #d7c18c;
}
.pol-finish-accents[data-rarity="ultra"] {
  --pol-finish-accent-metal: #b5c5ed;
}
.pol-finish-accents[data-rarity="legendary"] {
  --pol-finish-accent-metal: #edc46e;
}
.pol-finish-accent-material {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  border-radius: inherit;
  overflow: hidden;
  mask: var(--accent-mask) center / 100% 100% no-repeat;
  mask-mode: luminance;
}
.pol-finish-accent-material > span {
  position: absolute;
  inset: 0;
}
.pol-finish-accent-nacre {
  background: linear-gradient(
    112deg,
    transparent 30%,
    #9fcfff55 43%,
    #fffbeecc 50%,
    #f6b1d466 57%,
    transparent 70%
  );
  background-size: 245% 245%;
  background-position: var(--pointer-x) var(--pointer-y);
  mix-blend-mode: screen;
  opacity: calc(var(--accent-strength) * (0.22 + var(--accent-light) * 0.65));
}
.pol-finish-accent-prism {
  background: repeating-linear-gradient(
    118deg,
    #92b8bf55 0%,
    #efdcae99 10%,
    #c0a5d966 20%,
    #f6f3dcbb 30%,
    #8dacc877 40%,
    #92b8bf55 50%
  );
  background-size: 280% 280%;
  background-position: var(--pointer-x) var(--pointer-y);
  mask: repeating-linear-gradient(118deg, #000 0 18px, #0005 18px 32px);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);
  opacity: calc(var(--accent-strength) * (0.16 + var(--accent-light) * 0.38));
}
.pol-finish-accent-sparkle {
  background-image:
    radial-gradient(circle, #fffbea 0 0.8px, transparent 1.7px),
    radial-gradient(circle, #e6bb6d 0 1px, transparent 2px),
    radial-gradient(circle, #fff 0 0.5px, transparent 1.2px);
  background-size:
    27px 31px,
    43px 47px,
    17px 23px;
  background-position:
    var(--pointer-x) var(--pointer-y),
    var(--pointer-y) var(--pointer-x),
    calc(100% - var(--pointer-x)) var(--pointer-y);
  mask: radial-gradient(
    ellipse at var(--pointer-x) var(--pointer-y),
    #000 5%,
    transparent 65%
  );
  mix-blend-mode: screen;
  opacity: calc(var(--accent-strength) * (0.2 + var(--accent-light) * 0.8));
  animation: pol-finish-accent-twinkle 1.8s ease-in-out infinite alternate;
}
.pol-finish-accent-halo {
  position: absolute;
  inset: -2px;
  border: 1px solid var(--pol-finish-accent-metal);
  border-radius: inherit;
  box-shadow:
    0 0 16px color-mix(in srgb, var(--pol-finish-accent-metal) 55%, transparent),
    0 12px 24px
      color-mix(in srgb, var(--pol-finish-accent-metal) 25%, transparent);
  opacity: var(--accent-strength);
  pointer-events: none;
  z-index: 3;
}
.pol-finish-accent-frame {
  position: absolute;
  inset: 0;
  border: 0;
  border-radius: inherit;
  padding: 3px;
  background: conic-gradient(
    from var(--pol-finish-accent-angle),
    #7c6438,
    #ffeac0,
    #b49356,
    #fff7dc,
    #a08142,
    #7c6438
  );
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--accent-strength);
  pointer-events: none;
  z-index: 3;
  animation: pol-finish-accent-orbit 5.5s linear infinite;
}
@keyframes pol-finish-accent-orbit {
  to {
    --pol-finish-accent-angle: 360deg;
  }
}
@keyframes pol-finish-accent-twinkle {
  from {
    filter: brightness(0.75);
  }
  to {
    filter: brightness(1.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pol-finish-accent-frame,
  .pol-finish-accent-sparkle {
    animation: none;
  }
}

.pol-finish-combination { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/politics/vendor/finishes.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Adapted 2026-09-30 from Simon Goellner, pokemon-cards-css, GPL-3.0.
 * Commit acb1197633e749a1fba4412231db2f6581586d00.
 * Changes: selectors scoped to .pol-finish-library; asset URLs relocated; separable blend modes use WebKit compatibility variables.
 * Licence and original sources: /politics/finishes/. Political masks in finish-library.css. */

/* Source: css/cards.css */

.pol-finish-library {

  --grain: url("/politics/finishes/img/grain.webp");
  --glitter: url("/politics/finishes/img/glitter.png");
  --glittersize: 25%;

  --space: 5%;
  --angle: 133deg;
  --imgsize: cover;

  --red: #f80e35;
  --yellow: #eedf10;
  --green: #21e985;
  --blue: #0dbde9;
  --violet: #c929f1;

  --clip: inset( 9.85% 8% 52.85% 8% );
  --clip-invert: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0 47.15%, 91.5% 47.15%, 91.5% 9.85%, 8% 9.85%, 8% 47.15%, 0 50%);

  --clip-stage: polygon(91.5% 9.85%, 57% 9.85%, 54% 12%, 17% 12%, 16% 14%, 12% 16%, 8% 16%, 8% 47.15%, 92% 47.15%);
  --clip-stage-invert: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0 47.15%, 91.5% 47.15%, 91.5% 9.85%, 57% 9.85%, 54% 12%, 17% 12%, 16% 14%, 12% 16%, 8% 16%, 8% 47.15%, 0 50%);

  --clip-trainer: inset(14.5% 8.5% 48.2% 8.5%);
  --clip-borders: inset(2.8% 4% round 2.55% / 1.5%);

}

.pol-finish-library .card__shine,
.pol-finish-library .card__glare {
  
  will-change: transform, opacity, background-image, background-size,
    background-position, background-blend-mode, filter;
 
}
/* Source: css/cards/base.css */
/*

  BASE STYLES / VARIABLES
*/







/*

  SHINE LAYERS

*/


.pol-finish-library {
  
  --card-aspect: 0.718;
  --card-radius: 4.55% / 3.5%;
  --card-edge: hsl(47, 100%, 78%);
  --card-back: hsl(205, 100%, 25%);
  --card-glow: hsl(175, 100%, 90%);

  --sunpillar-1: hsl(2, 100%, 73%);
  --sunpillar-2: hsl(53, 100%, 69%);
  --sunpillar-3: hsl(93, 100%, 69%);
  --sunpillar-4: hsl(176, 100%, 76%);
  --sunpillar-5: hsl(228, 100%, 74%);
  --sunpillar-6: hsl(283, 100%, 73%);

  --sunpillar-clr-1: var(--sunpillar-1);
  --sunpillar-clr-2: var(--sunpillar-2);
  --sunpillar-clr-3: var(--sunpillar-3);
  --sunpillar-clr-4: var(--sunpillar-4);
  --sunpillar-clr-5: var(--sunpillar-5);
  --sunpillar-clr-6: var(--sunpillar-6);

}

.pol-finish-library {

  /* place the card on a new transform layer and
  make sure it has hardward acceleration... we gun'need that! */
  -webkit-transform: translate3d(0px, 0px, 0.01px);
  transform: translate3d(0px, 0px, 0.01px);
  pointer-events: none;
  
  /* make sure the card is above others if it's scaled up */
  z-index: calc(var(--card-scale) * 2);
  
  /* every little helps! */
  will-change: transform, visibility, z-index;

  /* this prevents major problems in firefox, but also causes a bit of
  clipping as the card animates to/from active state. worth it. */
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.pol-finish-library,
.pol-finish-library * {
  /* outline is a little trick to anti-alias */
  outline: 1px solid transparent;
}

.pol-finish-library:not( .interactive ) .card__translater,
.pol-finish-library:not( .interactive ) .card__rotator,
.pol-finish-library:not( .interactive ) .card__shine,
.pol-finish-library:not( .interactive ) .card__glare {

  /* if this card is not in a framework, we can add simply
    hover effects when it's not "interactive" */
  transition: all 0.3s ease;

}
.pol-finish-library:not( .interactive ):hover {
  
  --pointer-x: 25% !important;
  --pointer-y: 10% !important;
  --card-scale: 1.1 !important;
  --card-opacity: 1 !important;
  --translate-x: 0px !important;
  --translate-y: -10px !important;
  --rotate-x: 7deg !important;
  --rotate-y: -19deg !important;
  --background-x: 44% !important;
  --background-y: 36% !important;
  --pointer-from-center: .9 !important;
  --pointer-from-top: .11 !important;
  --pointer-from-left: .25 !important;
  
}

.pol-finish-library.water       { --card-glow: hsl(192, 97%,  60%); }
.pol-finish-library.fire        { --card-glow: hsl(9,   81%,  59%); }
.pol-finish-library.grass       { --card-glow: hsl(96,  81%,  65%); }
.pol-finish-library.lightning   { --card-glow: hsl(54,  87%,  63%); }
.pol-finish-library.psychic     { --card-glow: hsl(281, 62%,  58%); }
.pol-finish-library.fighting    { --card-glow: rgb(145, 90, 39); }
.pol-finish-library.darkness    { --card-glow: hsl(189, 77%,  27%); }
.pol-finish-library.metal       { --card-glow: hsl(184, 20%,  70%); }
.pol-finish-library.dragon      { --card-glow: hsl(51, 60%, 35%); }
.pol-finish-library.fairy       { --card-glow: hsl(323, 100%, 89%); }

.pol-finish-library,
.pol-finish-library .card__rotator {
  aspect-ratio: var(--card-aspect);
  border-radius: var(--card-radius);
}

.pol-finish-library.interacting {
  z-index: calc(var(--card-scale) * 120);
}


.pol-finish-library.active .card__translater,
.pol-finish-library.active .card__rotator {
  /* prevent pinch/double-tap zooms on card */
  touch-action: none;
}

.pol-finish-library .card__translater,
.pol-finish-library .card__rotator {
  display: grid;
  perspective: 600px;
  will-change: transform, box-shadow;
  transform-origin: center;
  -webkit-transform-origin: center;
  transform-style: preserve-3d;
}

.pol-finish-library .card__translater {
  width: auto;
  position: relative;

  --translate-z: calc(var(--card-scale) * 150px + 0.01px); /* add 150px to the z-axis to ensure the card is always in front of the others */
  -webkit-transform: translate3d(var(--translate-x), var(--translate-y), var(--translate-z)) scale(var(--card-scale));
  transform: translate3d(var(--translate-x), var(--translate-y), var(--translate-z)) scale(var(--card-scale));
}

.pol-finish-library .card__rotator {
  -webkit-transform: rotateY(var(--rotate-x)) rotateX(var(--rotate-y));
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transform: rotateY(var(--rotate-x)) rotateX(var(--rotate-y));
  
  /* performance */
  pointer-events: auto;
  /* overflow: hidden; <-- this improves perf on mobile, but breaks backface visibility. */
  /* isolation: isolate; <-- this improves perf, but breaks backface visibility on Chrome. */
}

.pol-finish-library button.card__rotator {
  /* because the card is a button, there's some default
    browser styles which need to be subdued */
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
}

.pol-finish-library .card__rotator,
.pol-finish-library.active .card__rotator:focus {
  transition: box-shadow 0.4s ease, opacity .33s ease-out;
  box-shadow: 
    0 0 3px -1px transparent, 
    0 0 2px 1px transparent, 
    0 0 5px 0px transparent,
    0px 10px 20px -5px black, 
    0 2px 15px -5px black,
    0 0 20px 0px transparent;
}

.pol-finish-library.active .card__rotator,
.pol-finish-library .card__rotator:focus {
  box-shadow: 
    0 0 3px -1px white, 
    0 0 3px 1px var(--card-edge), 
    0 0 12px 2px var(--card-glow), 
    0px 10px 20px -5px black, 
    0 0 40px -30px var(--card-glow), 
    0 0 50px -20px var(--card-glow)
}

.pol-finish-library .card__rotator * {
  width: 100%;
  display: grid;
  grid-area: 1/1;
  aspect-ratio: var(--card-aspect);
  border-radius: var(--card-radius);
  image-rendering: optimizeQuality;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  pointer-events: none;
  overflow: hidden;
}

.pol-finish-library .card__rotator img {
  height: auto;
}
.pol-finish-library .card__rotator img:not(.card__back) {
  -webkit-transform: translate3d(0px, 0px, 0.01px);
  transform: translate3d(0px, 0px, 0.01px);
}

.pol-finish-library .card__back {
  background-color: var(--card-back);
  -webkit-transform: rotateY(180deg) translateZ(1px);
  transform: rotateY(180deg) translateZ(1px);
  backface-visibility: visible;
}

.pol-finish-library .card__front,
.pol-finish-library .card__front * {
  backface-visibility: hidden;
}

.pol-finish-library .card__front {
  opacity: 1;
  transition: opacity 0.33s ease-out;
  -webkit-transform: translate3d(0px, 0px, 0.01px);
  transform: translate3d(0px, 0px, 0.01px);
}

.pol-finish-library .loading .card__front {
  opacity: 0;
}

.pol-finish-library .loading .card__back {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
}


/**
  
Shine & Glare Effects

**/

.pol-finish-library .card__shine {

  display: grid;
  transform: translateZ(1px);
  overflow: hidden;
  z-index: 3;

  background: transparent;
  background-size: cover;
  background-position: center;

  filter: brightness(.85) contrast(2.75) saturate(.65);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

  opacity: var(--card-opacity);

}

.pol-finish-library .card__shine:before,
.pol-finish-library .card__shine:after {

  --sunpillar-clr-1: var(--sunpillar-5);
  --sunpillar-clr-2: var(--sunpillar-6);
  --sunpillar-clr-3: var(--sunpillar-1);
  --sunpillar-clr-4: var(--sunpillar-2);
  --sunpillar-clr-5: var(--sunpillar-3);
  --sunpillar-clr-6: var(--sunpillar-4);

  grid-area: 1/1;
  transform: translateZ(1px);
  border-radius: var(--card-radius);

}

.pol-finish-library .card__shine:after {

  --sunpillar-clr-1: var( --sunpillar-6 );
  --sunpillar-clr-2: var( --sunpillar-1 ); 
  --sunpillar-clr-3: var( --sunpillar-2 );
  --sunpillar-clr-4: var( --sunpillar-3 );
  --sunpillar-clr-5: var( --sunpillar-4 );
  --sunpillar-clr-6: var( --sunpillar-5 );

  transform: translateZ(1.2px);
  
}

.pol-finish-library .card__glare {

  /* make sure the glare doesn't clip */
  transform: translateZ(1.41px);
  overflow: hidden;

  background-image: radial-gradient(
    farthest-corner circle at var(--pointer-x) var(--pointer-y),
    hsla(0, 0%, 100%, 0.8) 10%,
    hsla(0, 0%, 100%, 0.65) 20%,
    hsla(0, 0%, 0%, 0.5) 90%
  );

  opacity: var(--card-opacity);
  mix-blend-mode: overlay;
  
}






/**

  Masking Effects

**/

.pol-finish-library.masked .card__shine,
.pol-finish-library.masked .card__shine:before,
.pol-finish-library.masked .card__shine:after {

  /** masking image for cards which are masked **/
  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
	-webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;

}

.pol-finish-library[data-rarity="rare holo"] .card__glare:after,
.pol-finish-library[data-rarity="rare holo cosmos"] .card__glare:after,
.pol-finish-library[data-rarity$="reverse holo"] .card__glare:after {
  clip-path: var(--clip);
}

.pol-finish-library[data-rarity="rare holo"][data-subtypes^="stage"] .card__glare:after,
.pol-finish-library[data-rarity="rare holo cosmos"][data-subtypes^="stage"] .card__glare:after,
.pol-finish-library[data-rarity$="reverse holo"][data-subtypes^="stage"] .card__glare:after {
  clip-path: var(--clip-stage);
}

.pol-finish-library[data-rarity="rare holo"][data-supertype="trainer"] .card__glare:after,
.pol-finish-library[data-rarity="rare holo cosmos"][data-supertype="trainer"] .card__glare:after,
.pol-finish-library[data-rarity$="reverse holo"][data-supertype="trainer"] .card__glare:after {
  clip-path: var(--clip-trainer);
}

/* Source: css/cards/basic.css */
/*

  BASIC CARDS

*/



/*

  GLARE LAYERS

*/


/* Source: css/cards/reverse-holo.css */
/*

  REVERSE HOLO

*/







/*

  SHINE LAYERS

*/
.pol-finish-library {
  --foil-brightness: 0.55;
}

.pol-finish-library[data-rarity$="reverse holo"] .card__shine {
  
  background-image: 
    radial-gradient( 
      circle at var(--pointer-x) var(--pointer-y),
      #fff 5%, 
      #000 50%, 
      #fff 80% 
    ), 
    linear-gradient( 
      -45deg, 
      #000 15%, 
      #fff, 
      #000 85% 
    ), 
    var(--foil);

  background-blend-mode: soft-light, difference;
  background-size: 120% 120%, 200% 200%, cover;
  background-position: center center, calc( (100% * var(--pointer-from-left))) calc( (100% * var(--pointer-from-top))) , center center;
  
  filter: brightness(var(--foil-brightness)) contrast(1.5) saturate(1);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

  opacity: calc( (1.5 * var(--card-opacity)) - var(--pointer-from-center));
  
}

.pol-finish-library.lightning   { --foil-brightness: 0.7; }
.pol-finish-library.darkness    { --foil-brightness: 0.8; }
.pol-finish-library.metal       { --foil-brightness: 0.6; }









/*

  GLARE LAYERS

*/
	
.pol-finish-library[data-rarity$="reverse holo"] .card__glare {

  opacity: var(--card-opacity);
  
  background-image: 
    radial-gradient(
      farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0.8) 10%,
      hsla(0, 0%, 100%, 0.5) 20%,
      hsla(0, 0%, 0%, 0.75) 90%
    );

  filter: brightness(.7) contrast(1.5);

}

.pol-finish-library[data-rarity$="reverse holo"] .card__glare:after {

  content: "";
  opacity: var(--card-opacity);
  
  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 100%) 10%, 
      hsla(0, 0%, 100%, 0.5) 20%, 
      hsla(0, 0%, 0%, 0.5) 120% 
    );

  filter: brightness(1) contrast(1.5);

}










/*

  NO MASK

*/

.pol-finish-library:not(.masked)[data-rarity$="reverse holo"] .card__shine {
  --foil: none;
  clip-path: var(--clip-invert);
}

.pol-finish-library:not(.masked)[data-rarity$="reverse holo"][data-subtypes^="stage"] .card__glare:after {
  clip-path: var(--clip-stage-invert);
}

.pol-finish-library:not(.masked)[data-rarity$="reverse holo"][data-supertype="trainer"] .card__glare:after {
  clip-path: var(--clip-trainer-invert);
}



/* Source: css/cards/regular-holo.css */
/*

  REGULAR HOLO

*/

.pol-finish-library[data-rarity="rare holo"][data-subtypes^="stage"] .card__shine,
.pol-finish-library[data-rarity="rare holo"][data-subtypes^="stage"] .card__glare:after {
  clip-path: var(--clip-stage);
}
.pol-finish-library[data-rarity="rare holo"][data-subtypes^="supporter"] .card__shine,
.pol-finish-library[data-rarity="rare holo"][data-subtypes^="supporter"] .card__glare:after,
.pol-finish-library[data-rarity="rare holo"][data-subtypes^="item"] .card__shine,
.pol-finish-library[data-rarity="rare holo"][data-subtypes^="item"] .card__glare:after {
  clip-path: var(--clip-trainer);
}






/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare holo"] .card__shine {

  --scanlines-space: 1px;
  --scanlines-light: #666;
  --scanlines-dark: black;

  --bars: 3%;
  --bar-color: hsla(0, 0%, 70%, 1);
  --bar-bg: hsla(0, 0%, 0%, 1);

  clip-path: var(--clip);

  background-image: 
    repeating-linear-gradient( 110deg, 
      var(--violet), var(--blue), var(--green), var(--yellow), var(--red), 
      var(--violet), var(--blue), var(--green), var(--yellow), var(--red),
      var(--violet), var(--blue), var(--green), var(--yellow), var(--red)
    ),
    repeating-linear-gradient( 90deg, 
      var(--scanlines-dark) calc(var(--scanlines-space) * 0), var(--scanlines-dark) calc(var(--scanlines-space) * 2),
      var(--scanlines-light) calc(var(--scanlines-space) * 2), var(--scanlines-light) calc(var(--scanlines-space) * 4)
    );

  background-position: 
    calc(((50% - var(--background-x)) * 2.6) + 50%) calc(((50% - var(--background-y)) * 3.5) + 50%),
    center center;

  background-size: 
    400% 400%, 
    cover;

  background-blend-mode: overlay;
  filter: brightness(1.1) contrast(1.1) saturate(1.2);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}

.pol-finish-library[data-rarity="rare holo"] .card__shine:before {
  
  content: "";

  background-image:
    repeating-linear-gradient( 90deg, 
      var(--bar-bg) calc(var(--bars)*2), 
      var(--bar-color) calc(var(--bars)*3), 
      var(--bar-bg) calc(var(--bars)*3.5), 
      var(--bar-color) calc(var(--bars)*4), 
      var(--bar-bg) calc(var(--bars)*5), 
      var(--bar-bg) calc(var(--bars)*14)
    ),
    repeating-linear-gradient( 90deg, 
      var(--bar-bg) calc(var(--bars)*2), 
      var(--bar-color) calc(var(--bars)*3), 
      var(--bar-bg) calc(var(--bars)*3.5), 
      var(--bar-color) calc(var(--bars)*4), 
      var(--bar-bg) calc(var(--bars)*5), 
      var(--bar-bg) calc(var(--bars)*10)
    );

  background-position: 
    calc((((50% - var(--background-x)) * 1.65) + 50% ) + (var(--background-y) * 0.5)) var(--background-x), 
    calc((((50% - var(--background-x)) * -0.9) + 50%) - (var(--background-y) * 0.75) ) var(--background-y);

  background-size: 
    200% 200%,
    200% 200%;

  background-blend-mode: screen;
  filter: brightness( 1.15 ) contrast( 1.1 );
  mix-blend-mode: hard-light;

}

.pol-finish-library[data-rarity="rare holo"] .card__shine:after {

  content: "";
    
  background-image: 
    radial-gradient( 
      farthest-corner circle 
        at var(--pointer-x) var(--pointer-y), 
        hsla(0, 0%, 90%, 0.8) 0%, 
        hsla(0, 0%, 78%, 0.1) 25%, 
        hsl(0, 0%, 0%) 90% 
    );
    
  background-position: 
    center center;

  background-size:
    cover;

  mix-blend-mode: luminosity; 
  filter: brightness(0.6) contrast(4);

}

@media screen and (max-width: 900px) {
  .pol-finish-library[data-rarity="rare holo"] .card__shine {
    --scanlines-space: .5px;
  }
}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare holo"] .card__glare {

  opacity: calc( var(--card-opacity) * .8 );
  filter: brightness(0.8) contrast(1.5);
  mix-blend-mode: overlay;

}

.pol-finish-library[data-rarity="rare holo"] .card__glare:after {

  content: "";

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(180, 100%, 95%) 5%, 
      hsla(0, 0%, 39%, 0.25) 55%, 
      hsla(0, 0%, 0%, 0.36) 110% 
    );

  mix-blend-mode: overlay;
  filter: brightness(.6) contrast(3);

}










/*

  NO MASK

*/



/* Source: css/cards/cosmos-holo.css */
/*

  COSMOS HOLO

*/

.pol-finish-library[data-rarity="rare holo cosmos"][data-subtypes^="stage"] .card__shine,
.pol-finish-library[data-rarity="rare holo cosmos"][data-subtypes^="stage"] .card__glare:after {
  clip-path: var(--clip-stage);
}
.pol-finish-library[data-rarity="rare holo cosmos"][data-subtypes^="supporter"] .card__shine,
.pol-finish-library[data-rarity="rare holo cosmos"][data-subtypes^="supporter"] .card__glare:after {
  clip-path: var(--clip-trainer);
}






/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare holo cosmos"] .card__shine {

  --space: 4%;

  clip-path: var(--clip);

  background-image: 
    url("/politics/finishes/img/cosmos-bottom.png"),
    repeating-linear-gradient(
      82deg, 
      hsl(53, 65%, 60%) calc(var(--space)*1), 
      hsl(93, 56%, 50%) calc(var(--space)*2), 
      hsl(176, 54%, 49%) calc(var(--space)*3), 
      hsl(228, 59%, 55%) calc(var(--space)*4), 
      hsl(283, 60%, 55%) calc(var(--space)*5), 
      hsl(326, 59%, 51%) calc(var(--space)*6), 
      hsl(326, 59%, 51%) calc(var(--space)*7), 
      hsl(283, 60%, 55%) calc(var(--space)*8), 
      hsl(228, 59%, 55%) calc(var(--space)*9), 
      hsl(176, 54%, 49%) calc(var(--space)*10), 
      hsl(93, 56%, 50%) calc(var(--space)*11), 
      hsl(53, 65%, 60%) calc(var(--space)*12) 
    ), 
    radial-gradient( 
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y), 
      hsla(180, 100%, 89%, 0.5) 5%, 
      hsla(180, 14%, 57%, 0.3) 40%, 
      hsl(0, 0%, 0%) 130% 
  );

  background-blend-mode: 
    var(--pol-blend-color-burn, color-burn),
    multiply;

  background-position: 
    var(--cosmosbg, center center),
    calc( 10% + ( var(--pointer-from-left) * 80% ) ) calc( 10% + ( var(--pointer-from-top) * 80% ) ), 
    center center;

  background-size: cover, 400% 900%, cover;

  filter: brightness(1) contrast(1) saturate(.8);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}



.pol-finish-library[data-rarity="rare holo cosmos"] .card__shine:before {

  content: "";
  z-index: 2;

  background-image: 
    url("/politics/finishes/img/cosmos-middle-trans.png"),
    repeating-linear-gradient(
      82deg, 
      hsl(53, 65%, 60%) calc(var(--space)*1), 
      hsl(93, 56%, 50%) calc(var(--space)*2), 
      hsl(176, 54%, 49%) calc(var(--space)*3), 
      hsl(228, 59%, 55%) calc(var(--space)*4), 
      hsl(283, 60%, 55%) calc(var(--space)*5), 
      hsl(326, 59%, 51%) calc(var(--space)*6), 
      hsl(326, 59%, 51%) calc(var(--space)*7), 
      hsl(283, 60%, 55%) calc(var(--space)*8), 
      hsl(228, 59%, 55%) calc(var(--space)*9), 
      hsl(176, 54%, 49%) calc(var(--space)*10), 
      hsl(93, 56%, 50%) calc(var(--space)*11), 
      hsl(53, 65%, 60%) calc(var(--space)*12) 
    );

  background-blend-mode: 
    lighten, 
    multiply;

  background-position: 
    var(--cosmosbg, center center), 
    calc( 15% + ( var(--pointer-from-left) * 70% ) ) calc( 15% + ( var(--pointer-from-top) * 70% ) ), 
    center center;

  background-size: cover, 400% 900%, cover;

  filter: brightness(1.25) contrast(1.75) saturate(.8);
  mix-blend-mode: overlay;

}


.pol-finish-library[data-rarity="rare holo cosmos"] .card__shine:after {
  
  content: "";
  z-index: 3;

  background-image: 
    url("/politics/finishes/img/cosmos-top-trans.png"),
    repeating-linear-gradient(
      82deg, 
      hsl(53, 65%, 60%) calc(var(--space)*1), 
      hsl(93, 56%, 50%) calc(var(--space)*2), 
      hsl(176, 54%, 49%) calc(var(--space)*3), 
      hsl(228, 59%, 55%) calc(var(--space)*4), 
      hsl(283, 60%, 55%) calc(var(--space)*5), 
      hsl(326, 59%, 51%) calc(var(--space)*6), 
      hsl(326, 59%, 51%) calc(var(--space)*7), 
      hsl(283, 60%, 55%) calc(var(--space)*8), 
      hsl(228, 59%, 55%) calc(var(--space)*9), 
      hsl(176, 54%, 49%) calc(var(--space)*10), 
      hsl(93, 56%, 50%) calc(var(--space)*11), 
      hsl(53, 65%, 60%) calc(var(--space)*12) 
    );

  background-blend-mode: 
    multiply, 
    multiply;

  background-position: 
    var(--cosmosbg, center center), 
    calc( 20% + ( var(--pointer-from-left) * 60% ) ) calc( 20% + ( var(--pointer-from-top) * 60% ) ), 
    center center;

  background-size: cover, 400% 900%, cover;

  filter: brightness(1.25) contrast(1.75) saturate(.8);
  mix-blend-mode: multiply;

}





/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare holo cosmos"] .card__glare {
  
  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(204, 100%, 95%, 0.8) 5%, 
      hsla(250, 15%, 20%, 1) 150% 
    );
  filter: brightness(.75) contrast(2) saturate(2);
  mix-blend-mode: overlay;
  opacity: calc( var(--card-opacity) * ( 0.25 + var(--pointer-from-center) ) );
    
}

.pol-finish-library[data-rarity="rare holo cosmos"] .card__glare:after {

  content: "";

  background-image: 
    radial-gradient( farthest-corner circle at 
      var(--pointer-x) var(--pointer-y), 
      hsl(280, 100%, 96%) 5%, 
      hsl(0, 0%, 10%) 60%
    );

  filter: brightness(.75) contrast(2.5) saturate(2);
  mix-blend-mode: soft-light;
  opacity: calc( 1 - var(--pointer-from-top) * .75 );

}

/* Source: css/cards/amazing-rare.css */
/*

  AMAZING RARE

*/






/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="amazing rare"] .card__shine {

  background-image:
    var(--glitter),
    var(--glitter), 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(150, 20%, 10%, 1) 10%, 
      hsla(177, 22%, 80%, 0.1) 50%, 
      hsla(0, 0%, 95%, .98) 90% 
    );

  background-size: var(--glittersize) var(--glittersize), var(--glittersize) var(--glittersize), cover;
  background-position: 40% 45%, 55% 55%, center center;
  background-blend-mode: soft-light, var(--pol-blend-color-burn, color-burn);
  filter: brightness(1) contrast(1) saturate(.9);

}

.pol-finish-library[data-rarity="amazing rare"] .card__shine:before {
  
  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image:
    var(--foil),
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(50, 20%, 90%, 0.95) 10%, 
      rgba(181, 139, 164, 0.5) 50%, 
      hsl(0, 0%, 0%) 60% 
    );

  background-size: cover, cover;
  background-position: center center, center center;
  background-blend-mode: var(--pol-blend-color-burn, color-burn);

  mix-blend-mode: lighten;
  filter: brightness(1) contrast(1) saturate(1);
  opacity: 0.5;

}

.pol-finish-library[data-rarity="amazing rare"] .card__shine:after {

  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: 
    repeating-linear-gradient( 
      calc( var(--angle) ), 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6),
      var(--sunpillar-clr-1) calc(var(--space)*7)
    );

  background-size: 400% 800%;
  background-position: calc( 50% + (50% - (var(--background-x))) * 3 ) calc( 50% + (50% - (var(--background-y))) * 3 );
  filter: brightness(calc( 0.75 - ( var(--pointer-from-center) * 0.5 ))) contrast(1) saturate(1);
  mix-blend-mode: saturation;

}






/*

  GLARE LAYERS

*/

.pol-finish-library.masked[data-rarity="amazing rare"] .card__glare {
	
	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsla(50, 20%, 90%, 0.45) 0%, 
			hsla(150, 20%, 30%, 0.45) 45%, 
			hsla(0, 0%, 0%, .9) 120% 
		);

	filter: brightness(.9) contrast(2);

}

.pol-finish-library.masked[data-rarity="amazing rare"] .card__glare:after {
	
  content: "";
  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
	-webkit-mask-size: cover;
  mask-size: cover;

	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsla(50, 20%, 90%, 0.75) 0%, 
			hsla(150, 20%, 30%, 0.65) 45%, 
			hsla(0, 0%, 0%, 1) 90% 
		);

  filter: brightness(1) contrast(1.5);
  mix-blend-mode: overlay;
	opacity: 1;

}










/*

  NO MASK

*/

.pol-finish-library:not(.masked)[data-rarity="amazing rare"] .card__shine {
  clip-path: var(--clip);
}

.pol-finish-library:not(.masked)[data-rarity="amazing rare"] .card__glare {
  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(0, 0%, 100%, 1) 10%, 
      hsla(0, 0%, 100%, 0.85) 20%, 
      hsla(0, 0%, 0%, 0.35) 90% 
    );
  mix-blend-mode: multiply;
}
/* Source: css/cards/radiant-holo.css */
/*

  RADIANT HOLO

*/

.pol-finish-library[data-rarity="radiant rare"] .card__shine {
  clip-path: var(--clip-borders);
}

.pol-finish-library[data-rarity="radiant rare"] .card__shine:after {
  clip-path: var(--clip);
}





/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="radiant rare"] .card__shine {

  --barwidth: 1.2%;
  --space: 200px;
  --hue: 50;
  --imgsize: cover;

  background-image: 
    radial-gradient( 
      farthest-corner ellipse 
      at calc( ((var(--pointer-x)) * 0.5) + 25% ) calc( ((var(--pointer-y)) * 0.5) + 25% ), 
      hsl(0, 0%, 95%) 20%, 
      var(--card-glow) 130% 
    ),
    repeating-linear-gradient( 
      45deg, 
      hsl(0,0%,10%) 0% ,  
      hsl(0,0%,10%) 1% , 
      hsl(0,0%,10%) var(--barwidth),
      hsl(0,0%,20%) calc( var(--barwidth) + 0.01% ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 2 ),
      hsl(0,0%,35%) calc( var(--barwidth) * 2 + 0.01% ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 3 ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 3 + 0.01% ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 4 ) ,
      hsl(0,0%,50%) calc( var(--barwidth) * 4 + 0.01% ) ,
      hsl(0,0%,50%) calc( var(--barwidth) * 5 ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 5 + 0.01% ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 6 ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 6 + 0.01% ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 7 ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 7 + 0.01% ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 8 )  ,
      hsl(0,0%,10%) calc( var(--barwidth) * 8 + 0.01% ) ,
      hsl(0,0%,10%) calc( var(--barwidth) * 9 )  ,
      hsl(0,0%,0%) calc( var(--barwidth) * 9 + 0.01% ) ,
      hsl(0,0%,0%) calc( var(--barwidth) * 10 ) 
    ),
    repeating-linear-gradient( 
      -45deg, 
      hsl(0,0%,10%) 0% ,  
      hsl(0,0%,10%) 1% , 
      hsl(0,0%,10%) var(--barwidth),
      hsl(0,0%,20%) calc( var(--barwidth) + 0.01% ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 2 ),
      hsl(0,0%,35%) calc( var(--barwidth) * 2 + 0.01% ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 3 ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 3 + 0.01% ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 4 ) ,
      hsl(0,0%,50%) calc( var(--barwidth) * 4 + 0.01% ) ,
      hsl(0,0%,50%) calc( var(--barwidth) * 5 ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 5 + 0.01% ) ,
      hsl(0,0%,42.5%) calc( var(--barwidth) * 6 ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 6 + 0.01% ) ,
      hsl(0,0%,35%) calc( var(--barwidth) * 7 ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 7 + 0.01% ) ,
      hsl(0,0%,20%) calc( var(--barwidth) * 8 )  ,
      hsl(0,0%,10%) calc( var(--barwidth) * 8 + 0.01% ) ,
      hsl(0,0%,10%) calc( var(--barwidth) * 9 )  ,
      hsl(0,0%,0%) calc( var(--barwidth) * 9 + 0.01% ) ,
      hsl(0,0%,0%) calc( var(--barwidth) * 10 ) 
    );

  background-size: cover, 210% 210%, 210% 210%;
  background-position: 
    center, 
    calc( ((var(--background-x) - 50%) * 1.5) + 50% ) calc( ((var(--background-y) - 50%) * 1.5) + 50% ), 
    calc( ((var(--background-x) - 50%) * 1.5) + 50% ) calc( ((var(--background-y) - 50%) * 1.5) + 50% );

  background-blend-mode: exclusion, darken, var(--pol-blend-color-dodge, color-dodge);

  filter: brightness(.5) contrast(2) saturate(1.75);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}

.pol-finish-library[data-rarity="radiant rare"] .card__shine:after {

  content: "";

  background-image: 
    var(--foil), 
    repeating-linear-gradient( 55deg, 
    hsl(3, 95%, 85%) calc(var(--space)*1), 
    hsl(207, 100%, 84%) calc(var(--space)*2), 
    hsl(29, 100%, 85%) calc(var(--space)*3), 
    hsl(160, 100%, 86%) calc(var(--space)*4), 
    hsl(309, 94%, 87%) calc(var(--space)*5), 
    hsl(188, 95%, 85%) calc(var(--space)*6), 
    hsl(3, 95%, 85%) calc(var(--space)*7) 
  );

  background-size: var(--imgsize), 400% 100%;
  background-position: center, calc( ((var(--background-x) - 50%) * -2.5) + 50% ) calc( ((var(--background-y) - 50%) * -2.5) + 50% );
  
  filter: brightness(.6) contrast(3) saturate(2);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

  background-blend-mode: hard-light;
  
}

.pol-finish-library[data-rarity="radiant rare"] .card__shine:before {
  
  content: "";
  z-index: 2;
  grid-area: 1/1;

  background-image: 
    var(--glitter), 
    radial-gradient( 
      farthest-corner ellipse at calc( ((var(--pointer-x)) * 0.5) + 25% ) calc( ((var(--pointer-y)) * 0.5) + 25% ), 
      hsla(0, 0%, 58%, 0.8) 10%, 
      hsla(0, 0%, 20%, 0.9) 20%, 
      hsla(0, 0%, 20%, 0.5) 50% 
    );

  background-position: center;
  background-size: 15% 15%, 350% 350%;
  background-blend-mode: var(--pol-blend-color-dodge, color-dodge);

  mix-blend-mode: overlay;
  filter: brightness(.66) contrast(2) saturate(.5);

}







/*

  GLARE LAYERS

*/
		
.pol-finish-library[data-rarity="radiant rare"] .card__glare {
  
  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0.33) 0%, 
      hsl(0, 0%, 25%) 110% 
    );
  
  filter: brightness(1) contrast(1.5);
  mix-blend-mode: hard-light;

}










/*

  NO MASK

*/

.pol-finish-library:not(.masked)[data-rarity="radiant rare"] .card__shine,
.pol-finish-library:not(.masked)[data-rarity="radiant rare"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/trainerbg.png"); 
  --imgsize: 25% auto;

}
  
.pol-finish-library:not(.masked)[data-rarity="radiant rare"] .card__shine:after {

  background-blend-mode: difference;
  
}


/* Source: css/cards/v-regular.css */
/*

  V REGULAR

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare holo v"]:not(.masked) .card__shine,
.pol-finish-library[data-subtypes="v-union"]:not(.masked) .card__shine {

  filter: brightness(.7) contrast(2) saturate(.5);

}

.pol-finish-library[data-rarity="rare holo v"] .card__shine,
.pol-finish-library[data-rarity="rare holo v"] .card__shine:after,
.pol-finish-library[data-subtypes="v-union"] .card__shine,
.pol-finish-library[data-subtypes="v-union"] .card__shine:after {

  --space: 5%;
  --angle: 133deg;
  --imgsize: 500px;

  background-image:
    var(--grain),
    repeating-linear-gradient( 0deg, 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6), 
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      #0e152e 0%, 
      hsl(180, 10%, 60%) 3.8%, 
      hsl(180, 29%, 66%) 4.5%, 
      hsl(180, 10%, 60%) 5.2%, 
      #0e152e 10% , 
      #0e152e 12% 
      ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%, 
      hsla(0, 0%, 0%, 0.15) 20%, 
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-blend-mode: screen, hue, hard-light;
  background-size: var(--imgsize) 100%, 200% 700%, 300% 100%, 200% 100%;
  background-position: center, 0% var(--background-y), var(--background-x) var(--background-y), var(--background-x) var(--background-y);
  
  filter: brightness(.8) contrast(2.95) saturate(.65);

}

.pol-finish-library[data-rarity="rare holo v"] .card__shine:after,
.pol-finish-library[data-subtypes="v-union"] .card__shine:after {

  content: "";

  background-position: center, 0% var(--background-y), calc( var(--background-x) * -1) calc( var(--background-y) * -1), var(--background-x) var(--background-y);
  background-size: var(--imgsize) 100%, 200% 400%, 195% 100%, 200% 100%;

  filter: brightness(1) contrast(2.5) saturate(1.75);
  mix-blend-mode: soft-light;

}












/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare holo v"] .card__glare,
.pol-finish-library[data-subtypes="v-union"] .card__glare {

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
        hsl(0, 0%, 100%) 0%, 
        hsla(210, 3%, 54%, 0.33) 45%, 
        hsla(0, 0%, 20%, 0.9) 130% 
      );

  opacity: calc(var(--card-opacity)*.5);
  
  mix-blend-mode: hard-light;
  filter: brightness(.9) contrast(1.75);

}
/* Source: css/cards/v-full-art.css */
/*

  V FULL ART (ULTRA RARE)

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare ultra"][data-supertype="pokémon"] .card__shine,
.pol-finish-library[data-rarity="rare ultra"][data-supertype="pokémon"] .card__shine:after,
.pol-finish-library[data-rarity="rare ultra"][data-subtypes*="supporter"] .card__shine,
.pol-finish-library[data-rarity="rare ultra"][data-subtypes*="supporter"] .card__shine:after,
.pol-finish-library[data-rarity="rare holo v"][data-trainer-gallery="true"] .card__shine,
.pol-finish-library[data-rarity="rare holo v"][data-trainer-gallery="true"] .card__shine:after {

  --space: 5%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( 0deg, 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6), 
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      #0e152e 0%, 
      hsl(180, 10%, 60%) 3.8%, 
      hsl(180, 29%, 66%) 4.5%, 
      hsl(180, 10%, 60%) 5.2%, 
      #0e152e 10% , 
      #0e152e 12% 
      ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%, 
      hsla(0, 0%, 0%, 0.15) 20%, 
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( var(--background-x) + (var(--background-y)*0.2) ) var(--background-y), 
    var(--background-x) var(--background-y);

  background-blend-mode: soft-light, hue, hard-light;
  background-size: var(--imgsize), 200% 700%, 300% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*0.4) + .4)) contrast(1.4) saturate(2.25);

}

.pol-finish-library[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine:after,
.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine:after,
.pol-finish-library[data-trainer-gallery="true"][data-rarity="rare holo v"] .card__shine:after {

  content: "";

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( (var(--background-x) + (var(--background-y)*0.2)) * -1) calc( var(--background-y) * -1), 
    var(--background-x) var(--background-y);

  background-size: var(--imgsize), 200% 400%, 195% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*.4) + .8)) contrast(1.5) saturate(1.25);
  mix-blend-mode: exclusion;

}


.pol-finish-library[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine:before,
.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine:before {

  content: "";
  -webkit-mask-image: none;
  mask-image: none;
  
  background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 100%) 0%, 
      hsla(0, 0%, 0%, 0) 40% 
    );
  background-position: center;
  background-size: cover;
  mix-blend-mode: overlay;
  
  opacity: 0.75;
  z-index: 1;

}







/*

  GLARE LAYERS

*/

.pol-finish-library[data-supertype="pokémon"][data-rarity="rare ultra"] .card__glare,
.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__glare {

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 75%) 5%, 
      hsl(200, 5%, 35%) 60%, 
      hsl(320, 40%, 10%) 150% 
    );

  background-size: 120% 150%;
  background-position: center center;

  mix-blend-mode: hard-light;
  filter: brightness(1) contrast(1.2) saturate(1);
  
  opacity: calc(var(--card-opacity) * .75 );

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine,
.pol-finish-library:not(.masked)[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine:after,
.pol-finish-library:not(.masked)[data-trainer-gallery="true"][data-rarity="rare holo v"] .card__shine,
.pol-finish-library:not(.masked)[data-trainer-gallery="true"][data-rarity="rare holo v"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/illusion.png"); 
  --imgsize: 33%;

  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
	-webkit-mask-size: var(--imgsize);
  mask-size: var(--imgsize);

  background-blend-mode: exclusion, hue, hard-light;
  filter: brightness(calc((var(--pointer-from-center)*.3) + .35)) contrast(2) saturate(1.5);

}

.pol-finish-library:not(.masked)[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine:before,
.pol-finish-library:not(.masked)[data-trainer-gallery="true"][data-rarity="rare holo v"] .card__shine:before {
  content: none;
  display: none;
}

.pol-finish-library:not(.masked)[data-supertype="pokémon"][data-rarity="rare ultra"] .card__shine:after,
.pol-finish-library:not(.masked)[data-trainer-gallery="true"][data-rarity="rare holo v"] .card__shine:after {
  filter: brightness(calc((var(--pointer-from-center)*.5) + .8)) contrast(1.6) saturate(1.4);
}



/* Source: css/cards/v-max.css */
/*

  V MAX

*/






.pol-finish-library:not(.masked)[data-rarity="rare holo vmax"][data-supertype="pokémon"] .card__shine,
.pol-finish-library:not(.masked)[data-rarity="rare holo vmax"][data-supertype="pokémon"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/vmaxbg.jpg"); 
  --imgsize: 60% 30%;

}

/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare holo vmax"] .card__shine {

  --space: 6%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( -33deg, 
      hsl(2, 70%, 47%) calc(var(--space)*1),  
      hsl(228, 60%, 64%) calc(var(--space)*2), 
      hsl(176, 55%, 39%) calc(var(--space)*3), 
      hsl(123, 68%, 35%) calc(var(--space)*4), 
      hsl(283, 75%, 57%) calc(var(--space)*5), 
      hsl(2, 70%, 47%) calc(var(--space)*6)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      hsla(227, 53%, 12%, 0.5) 0%, 
      hsl(180, 10%, 50%) 2.5%, 
      hsl(83, 50%, 35%) 5%, 
      hsl(180, 10%, 50%) 7.5%, 
      hsla(227, 53%, 12%, 0.5) 10% , 
      hsla(227, 53%, 12%, 0.5) 15% 
      ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(189, 76%, 77%, 0.6) 0%, 
      hsla(147, 59%, 77%, 0.6) 25%, 
      hsla(271, 55%, 69%, 0.6) 50%, 
      hsla(355, 56%, 72%, 0.6) 75%
    );

  background-blend-mode: difference, luminosity, soft-light;
  background-size: var(--imgsize), 1100% 1100%, 600% 600%, 200% 200%;
  background-position: 
    center, 
    var(--background-x) var(--background-y), 
    var(--background-x) var(--background-y), 
    var(--background-x) var(--background-y);

  filter: brightness(calc((var(--pointer-from-center) * .4) + .4)) contrast(2) saturate(1);

}


.pol-finish-library[data-rarity="rare holo vmax"] .card__shine:after {

  content: "";

  background-image: repeating-linear-gradient( 0deg, 
    var(--sunpillar-clr-1) calc(var(--space)*1), 
    var(--sunpillar-clr-2) calc(var(--space)*2), 
    var(--sunpillar-clr-3) calc(var(--space)*3), 
    var(--sunpillar-clr-4) calc(var(--space)*4), 
    var(--sunpillar-clr-5) calc(var(--space)*5), 
    var(--sunpillar-clr-6) calc(var(--space)*6), 
    var(--sunpillar-clr-1) calc(var(--space)*7)
  ),
  repeating-linear-gradient( 
    var(--angle), 
    #0e152e 0%, 
    hsl(180, 10%, 60%) 3.8%, 
    hsl(180, 29%, 66%) 4.5%, 
    hsl(180, 10%, 60%) 5.2%, 
    #0e152e 10% , 
    #0e152e 12% 
  );

  background-blend-mode: hue, hard-light;
  background-size: 200% 700%, 300% 100%, 200% 100%;
  background-position: 0% var(--background-y), var(--background-x) var(--background-y), var(--background-x) var(--background-y);

  mix-blend-mode: lighten;
  opacity: calc( (0.3 * var(--card-opacity)) + var(--card-opacity) * var(--pointer-from-center) * 0.5 );
  filter: saturate(1.5);

}










/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare holo vmax"] .card__glare {

  mix-blend-mode: hard-light;
  filter: brightness(1) contrast(1);

  background-image: 
    radial-gradient( 
      farthest-corner circle at 
      var(--pointer-x) var(--pointer-y), 
      hsla(0, 0%, 100%, 0.75) 0%, 
      hsl(0, 0%, 0%) 120% 
    );

    opacity: calc( (0.2 * var(--card-opacity)) + var(--card-opacity) * var(--pointer-from-center) * 0.8 );

}










/*

  NO MASK

*/



.pol-finish-library:not(.masked) [data-rarity="rare holo vmax"] .card__shine {

  filter: brightness(calc((var(--pointer-from-center) * .4) + .4)) contrast(2) saturate(1);

}









/* Source: css/cards/v-star.css */
/*

  V STAR

*/


.pol-finish-library.masked[data-rarity="rare holo vstar"] .card__shine, 
.pol-finish-library.masked[data-rarity="rare holo vstar"] .card__shine::before, 
.pol-finish-library.masked[data-rarity="rare holo vstar"] .card__shine::after {

  -webkit-mask-image:  
    var(--mask), 
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0) 0%, 
      hsla(0, 0%, 100%, .5) 120%
    ); 

  mask-image: 
    var(--mask), 
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0) 0%, 
      hsla(0, 0%, 100%, .5) 120%
    );

}

/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare holo vstar"] .card__shine,
.pol-finish-library[data-rarity="rare holo vstar"] .card__shine:after {

  --space: 5%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( 0deg, 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6), 
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      #0e152e 0%, 
      hsl(180, 10%, 60%) 3.8%, 
      hsl(180, 29%, 66%) 4.5%, 
      hsl(180, 10%, 60%) 5.2%, 
      #0e152e 10% , 
      #0e152e 12% 
    ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%, 
      hsla(0, 0%, 0%, 0.15) 20%, 
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-blend-mode: soft-light, hue, hard-light;
  background-size: var(--imgsize), 200% 700%, 300% 100%, 200% 100%;
  background-position: center center, 0% var(--background-y), var(--background-x) var(--background-y), var(--background-x) var(--background-y);
  
  filter: brightness(calc((var(--pointer-from-center) * .75) + .25)) contrast(2) saturate(1.25);

}

.pol-finish-library[data-rarity="rare holo vstar"] .card__shine:after {

  content: "";

  background-size: var(--imgsize), 200% 400%, 195% 100%, 200% 100%;
  background-position: center center, 0% var(--background-y), calc( var(--background-x) * -1) calc( var(--background-y) * -1), var(--background-x) var(--background-y);

  filter: brightness(calc((var(--pointer-from-center) * .75) + .5)) contrast(1.5) saturate(1.5);
  mix-blend-mode: exclusion;

}

.pol-finish-library[data-rarity="rare holo vstar"] .card__shine::before {

  content: "";
  background-image: radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), hsla(190, 7%, 80%, 0.75) 0%, hsla(260, 7%, 50%, 0.25) 45%, hsl(310, 7%, 50%) 120% );
  mix-blend-mode: hard-light;
  z-index: 2;
  opacity: 0.8;
  
}






/*

  GLARE LAYERS

*/


.pol-finish-library[data-rarity="rare holo vstar"] .card__glare {
  
  filter: brightness(.7) contrast(2);

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(195, 90%, 90%) 5%, 
      hsl(300, 3%, 60%) 60%, 
      hsl(350, 0%, 15%) 150% 
    );
  
  mix-blend-mode: hard-light;
  opacity: calc(var(--card-opacity)*(var(--pointer-from-center)*.75));

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare holo vstar"] .card__shine,
.pol-finish-library:not(.masked)[data-rarity="rare holo vstar"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/ancient.png"); 
  --imgsize: 18% 15%;

  background-blend-mode: exclusion, hue, hard-light;
  filter: brightness(calc((var(--pointer-from-center) * .25) + .35)) contrast(1.8) saturate(1.75);

}

.pol-finish-library:not(.masked)[data-rarity="rare holo vstar"] .card__shine:after {

  filter: brightness(calc((var(--pointer-from-center) * .75) + .5)) contrast(1.5) saturate(1.5);

}


.pol-finish-library:not(.masked)[data-rarity="rare holo vstar"] .card__glare {
  
  filter: brightness(.55) contrast(2);

}
/* Source: css/cards/trainer-full-art.css */
/*

  ULTRA RARE (FULL ART TRAINER)
  some styles inherited from v-full-art.css

*/





/*

  SHINE LAYERS

*/

.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine {
  
  filter: brightness(calc((var(--pointer-from-center)*0.05) + .8)) contrast(1.75) saturate(1.2);

}

.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine:after {

  filter: brightness(calc((var(--pointer-from-center)*.4) + .85)) contrast(2) saturate(.5);

}

.pol-finish-library[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine:before {

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 100%) 0%, 
      hsla(0, 0%, 0%, 0) 80% 
    );
  
  mix-blend-mode: screen;
  opacity: 0.5;
  
}










/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare ultra"][data-subtypes*="supporter"] .card__glare {

  opacity: calc( var(--card-opacity) * .75 );
  mix-blend-mode: multiply;
  filter: brightness(1.5) contrast(1.4) saturate(1);
  background-size: 170% 170%;

}










/*

  NO MASK

*/

.pol-finish-library:not(.masked)[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine,
.pol-finish-library:not(.masked)[data-subtypes*="supporter"][data-rarity="rare ultra"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/trainerbg.png"); 
  --imgsize: 20%;
  
  background-blend-mode: var(--pol-blend-color-burn, color-burn), hue, hard-light;
  filter: brightness(calc((var(--pointer-from-center)*0.05) + .6)) contrast(1.5) saturate(1.2);

}
/* Source: css/cards/rainbow-holo.css */
/*

  RAINBOW (SECRET) HOLO

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare rainbow"] .card__shine {

  --r-clr-1: hsl(0, 57%, 37%);
  --r-clr-2: hsl(40, 53%, 39%);
  --r-clr-3: hsl(90, 60%, 35%);
  --r-clr-4: hsl(180, 60%, 35%);
  --r-clr-5: hsl(180, 60%, 35%);
  --r-clr-6: hsl(210, 57%, 39%);
  --r-clr-7: hsl(280, 55%, 31%);

  background-image: 
    linear-gradient(-45deg, var(--r-clr-1), var(--r-clr-5)),
    var(--glitter),
    linear-gradient( -30deg, 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1)
    );

  background-blend-mode: luminosity, soft-light;

  background-size: 
    200% 200%, 
    var(--glittersize) var(--glittersize), 
    400% 400%;
  
  background-position: 
    calc( 25% + (50% * var(--pointer-from-left) )) calc( 25% + (50% * var(--pointer-from-top) )), 
    center center, 
    calc( 25% + (var(--pointer-x) / 2 ) ) calc( 25% + (var(--pointer-y) / 2 ) );
  
  filter: brightness(calc((var(--pointer-from-center)*0.25) + 0.6))  contrast(2.2) saturate(0.75);

}

.pol-finish-library[data-rarity="rare rainbow"] .card__shine:after {

  content: "";

  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: 
    var(--glitter),
    linear-gradient( -60deg, 
        var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
        var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
        var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
        var(--r-clr-1)
    );

    background-blend-mode: soft-light;
    background-size: var(--glittersize) var(--glittersize), 400% 400%;
    background-position: center center, var(--pointer-x) var(--pointer-y);

    filter: brightness(calc((var(--pointer-from-center)*0.3) + 0.55)) contrast(2) saturate(1);
    mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}

.pol-finish-library[data-rarity="rare rainbow"] .card__shine:before {

  content: "";

  background-image: var(--foil);
  background-size: var(--imgsize);
  background-position: center center;
  filter: brightness(2.5) contrast(1);

  opacity: calc((var(--pointer-from-center) + 0.4 ) * 0.6 );
  background-blend-mode: difference;
  mix-blend-mode: darken;

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare rainbow"] .card__glare {
	
	background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0,0%,80%), 
      hsla(187, 10%, 85%, 0.25) 30%, 
      hsl(197, 6%, 25%) 120% 
    );

	filter: brightness(.9) contrast(1.75);
	opacity: calc( var(--pointer-from-center) * 0.9 );
  mix-blend-mode: hard-light;

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare rainbow"] .card__shine {

  --foil: url("/politics/finishes/img/illusion-mask.png"); 
  --imgsize: 33%;

}
/* Source: css/cards/rainbow-alt.css */
/*

  RAINBOW (ALTERNATE ART) HOLO

*/






/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare rainbow alt"] .card__shine,
.pol-finish-library[data-rarity="rare holo vmax"][data-trainer-gallery="true"] .card__shine {

  --imgsize: cover;

  --r-clr-1: hsl(0, 57%, 37%);
  --r-clr-2: hsl(40, 53%, 39%);
  --r-clr-3: hsl(90, 60%, 35%);
  --r-clr-4: hsl(180, 60%, 35%);
  --r-clr-5: hsl(180, 60%, 35%);
  --r-clr-6: hsl(210, 57%, 39%);
  --r-clr-7: hsl(280, 55%, 31%);

  background-image: 
    repeating-linear-gradient( 
      var(--angle), 
        hsla(283, 49%, 60%, 0.75) calc(var(--space)*1), 
        hsla(2, 70%, 58%, 0.75) calc(var(--space)*2), 
        hsla(53, 67%, 53%, 0.75) calc(var(--space)*3), 
        hsla(93, 56%, 52%, 0.75) calc(var(--space)*4), 
        hsla(176, 38%, 50%, 0.75) calc(var(--space)*5), 
        hsla(228, 100%, 77%, 0.75) calc(var(--space)*6), 
        hsla(283, 49%, 61%, 0.75) calc(var(--space)*7) 
      ),
    var(--glitter),
    linear-gradient( -30deg, 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1)
    );

  background-size: 200% 400%, var(--glittersize) var(--glittersize), 400% 400%;
  background-position: 0% calc(var(--background-y) * 1), center center, calc( var(--background-x) * 1.5) calc( var(--background-y) * 1.5 );
  background-blend-mode: luminosity, overlay;
  filter: brightness(calc((var(--pointer-from-center)*0.3) + 0.3)) contrast(3) saturate(1.8);

}

.pol-finish-library[data-rarity="rare rainbow alt"] .card__shine:after,
.pol-finish-library[data-rarity="rare holo vmax"][data-trainer-gallery="true"] .card__shine:after {

  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: 
    var(--glitter), 
    linear-gradient( -60deg, 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1) 
    );
  background-blend-mode: overlay;
  background-size: var(--glittersize) var(--glittersize), 400% 400%;
  background-position: center center, calc( var(--background-x) * -1.5) calc( var(--background-y) * -1.5 );
  filter: brightness(calc((var(--pointer-from-center)*0.5) + 0.6)) contrast(3) saturate(1);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

  opacity: calc(1.2 + (var(--pointer-from-center)/2) * -1);

}

.pol-finish-library[data-rarity="rare rainbow alt"] .card__shine:before,
.pol-finish-library[data-rarity="rare holo vmax"][data-trainer-gallery="true"] .card__shine:before {
  
  content: "";

  background-image: var(--foil);
  background-size: var(--imgsize);
  background-position: center center;
  filter: brightness(1.5) contrast(1.5);
  opacity: calc((var(--pointer-from-center) + 0.6 ) * 0.4 );
  background-blend-mode: difference;
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare rainbow alt"] .card__glare {
	
	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsla(50, 20%, 90%, 0.75) 0%, 
			hsla(150, 20%, 30%, 0.65) 45%, 
			hsla(0, 0%, 0%, 1) 100% 
		);

	filter: brightness(.9) contrast(2);
	opacity: calc( var(--card-opacity) * 0.75 );

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare rainbow alt"] .card__shine,
.pol-finish-library:not(.masked)[data-rarity="rare holo vmax"][data-trainer-gallery="true"] .card__shine {

  --mask: none;
  --foil: none;
  --imgsize: 25% auto;

}





/* Source: css/cards/secret-rare.css */
/*

  SECRET RARE (GOLD)

*/




/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"] .card__shine,
.pol-finish-library[data-set="swshp"][data-number="swsh145"] .card__shine {

  --shift: 1px;
  --imgsize: cover;

  background-image:
    var(--glitter), 
    var(--glitter), 
    conic-gradient( 
      var(--sunpillar-clr-4), 
      var(--sunpillar-clr-5),
      var(--sunpillar-clr-6), 
      var(--sunpillar-clr-1), 
      var(--sunpillar-clr-4) 
    ), 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(150, 00%, 0%, .98) 10%, 
      hsla(0, 0%, 95%, .15) 90% 
    );

  background-size: var(--glittersize) var(--glittersize), var(--glittersize) var(--glittersize), cover, cover;
  background-position: 45% 45%, 55% 55%, center center, center center;
  background-blend-mode: soft-light, hard-light, overlay;
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);
  filter: brightness(calc( 0.4 + (var(--pointer-from-center) * 0.2) )) contrast(1) saturate(2.7);

}

.pol-finish-library[data-rarity="rare secret"] .card__shine:before,
.pol-finish-library[data-set="swshp"][data-number="swsh145"] .card__shine:before {
  
  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image:
    var(--foil), 
    linear-gradient( 45deg, hsl(46, 95%, 50%), hsl(52, 100%, 69%) ), 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(10, 20%, 90%, 0.95) 10%, 
      hsl(0, 0%, 0%) 70% 
    );

  background-size: var(--imgsize), cover, cover;
  background-position: center center, center center, center center;
  background-blend-mode: hard-light, multiply;

  mix-blend-mode: lighten;
  filter: brightness(1.25) contrast(1.25) saturate(0.35);
  opacity: .8;

}

.pol-finish-library[data-rarity="rare secret"] .card__shine:after,
.pol-finish-library[data-set="swshp"][data-number="swsh145"] .card__shine:after {

  content: "";

  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: var(--glitter);
  background-size: var(--glittersize) var(--glittersize);
  background-position: calc(50% - ((var(--shift)*2) * var(--pointer-from-left)) + var(--shift)) calc(50% - ((var(--shift)*2) * var(--pointer-from-top)) + var(--shift));

  filter: brightness(calc((var(--pointer-from-center)*0.6) + 0.6)) contrast(1.5);
  mix-blend-mode: overlay;

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"] .card__glare,
.pol-finish-library[data-set="swshp"][data-number="swsh145"] .card__glare {
	
	background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(45, 8%, 80%, 0.3) 0%, 
      hsl(22, 15%, 12%) 180%
    );

	filter: brightness(1.3) contrast(1.5);
  mix-blend-mode: hard-light;

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare secret"] .card__shine,
.pol-finish-library:not(.masked)[data-set="swshp"][data-number="swsh145"] .card__shine {

  --foil: url("/politics/finishes/img/geometric.png"); 
  --imgsize: 33%;
  
  filter: brightness( calc( ( var( --pointer-from-center ) * 0.3 ) + 0.2 ) ) contrast(2) saturate(0.75);

}



























/* Source: css/cards/trainer-gallery-holo.css */
/*

  TRAINER GALLERY HOLO

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__shine,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__shine,
.pol-finish-library[data-set="swshp"][data-number="swsh020"] .card__shine {

  --space: 5%;
  --angle: -22deg;
  --imgsize: 300% 400%;

  clip-path: var(--clip-borders);

  background-image:
    repeating-linear-gradient( var(--angle),  
      hsla(283, 49%, 60%, 0.75) calc(var(--space)*1),
      hsla(2, 74%, 59%, 0.75) calc(var(--space)*2), 
      hsla(53, 67%, 53%, 0.75) calc(var(--space)*3),  
      hsla(93, 56%, 52%, 0.75) calc(var(--space)*4),  
      hsla(176, 38%, 50%, 0.75) calc(var(--space)*5),  
      hsla(228, 100%, 77%, 0.75) calc(var(--space)*6), 
      hsla(283, 49%, 61%, 0.75) calc(var(--space)*7)
    );
    
    background-blend-mode: var(--pol-blend-color-dodge, color-dodge);
    background-size: var(--imgsize);
    background-position: 0% calc(var(--background-y) * 1), var(--background-x) var(--background-y);
    
    filter: brightness(calc((var(--pointer-from-center)*0.3) + 0.5)) contrast(2.3) saturate(1);

}

.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__shine:after,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__shine:after,
.pol-finish-library[data-set="swshp"][data-number="swsh020"] .card__shine:after {
  
  content: "";

  background-image: 
    radial-gradient( 
      farthest-corner ellipse 
      at calc( ((var(--pointer-x)) * 0.5) + 25% ) calc( ((var(--pointer-y)) * 0.5) + 25% ), 
      hsl(0, 0%, 100%) 5%, 
      hsla(300, 100%, 11%, 0.6) 40%, 
      hsl(0, 0%, 22%) 120% 
    );

  background-position: center center;
  background-size: 400% 500%;

  filter: brightness(calc((var(--pointer-from-center)*0.2) + 0.4)) contrast(.85) saturate(1.1);
  mix-blend-mode: hard-light;

}

.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__shine:before,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__shine:before,
.pol-finish-library[data-set="swshp"][data-number="swsh020"] .card__shine:before {
  content: none;
  display: none;
}











/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__glare,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__glare,
.pol-finish-library[data-set="swshp"][data-number="swsh020"] .card__glare {

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(0, 0%, 100%, 1) 10%, 
      hsla(0, 0%, 100%, 0.6) 35%, 
      hsla(180, 11%, 35%, 1) 60% 
    );

  mix-blend-mode: soft-light;

}


.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__glare:before,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__glare:before,
.pol-finish-library[data-rarity="trainer gallery rare holo"] .card__glare:after,
.pol-finish-library[data-rarity="rare holo"][data-trainer-gallery="true"] .card__glare:after {
  content: none;
  display: none;
}
/* Source: css/cards/trainer-gallery-v-regular.css */
/*

  TRAINER GALLERY (V)
	some styles inherited from v-full-art.css

*/




/*

  SHINE LAYERS

*/







/*

  GLARE LAYERS

*/    


.pol-finish-library[data-rarity="rare holo v"][data-trainer-gallery="true"] .card__glare {

  opacity: calc(var(--card-opacity)*.4);

}
/* Source: css/cards/trainer-gallery-v-max.css */
/*

  TRAINER GALLERY (V MAX)
	some styles inherited from rainbow-alt.css

*/




/*

  SHINE LAYERS

*/







/*

  GLARE LAYERS

*/    


.pol-finish-library[data-rarity="rare holo vmax"][data-trainer-gallery="true"] .card__glare {
  
	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsl(50, 30%, 90%) 0%, 
			hsl(162, 5%, 40%), 
			hsl(0, 0%, 0%) 120%
		);

	filter: brightness(1) contrast(1);
	opacity: calc( var(--card-opacity) * var(--pointer-from-center) * 0.85 );

}
/* Source: css/cards/trainer-gallery-secret-rare.css */





/*

  TRAINER GALLERY SECRET RARE (GOLD & BLACK)

*/






.pol-finish-library:not(.masked)[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine {

  --foil: url("/politics/finishes/img/geometric.png"); 
  --imgsize: 33%;
  
  filter: brightness( calc( ( var( --pointer-from-center ) * 0.3 ) + 0.2 ) ) contrast(2) saturate(0.75);

}

.pol-finish-library:not(.masked)[data-rarity="rare secret"][data-trainer-gallery="true"] .card__glare {

  filter: brightness(.5) contrast(1);

}



/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine,
.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine::before,
.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine::after {

  -webkit-mask-image: none !important;
  mask-image: none !important;

}


.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine {

  background-image: 
    var(--glitter), 
    var(--glitter), 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(152.7, 21.6%, 10%) 10%, 
      hsla(177, 22%, 80%, 0.1) 50%, 
      hsla(0, 0%, 95%, .98) 90% 
    ), 
    linear-gradient( 45deg, hsl(46, 95%, 50%), hsl(52, 100%, 69%) );

  background-size: 
    var(--glittersize) var(--glittersize), 
    var(--glittersize) var(--glittersize), 
    cover, 
    cover;

  background-position: 
    40% 45%, 
    55% 55%, 
    center center, 
    center center;

  background-blend-mode: soft-light, darken, color;
  filter: brightness(1) contrast(1) saturate(1);
  mix-blend-mode: var(--pol-blend-color-dodge, color-dodge);

}

.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine::before {

  content: "";
  
  background-image: 
    var(--foil), 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(50, 20%, 90%, 0.95) 10%,
      hsla(324, 22%, 63%, 0.5) 50%, 
      hsl(0, 0%, 0%) 90% 
    );
  background-size: var(--imgsize), cover;
  background-position: center center, center center;
  background-blend-mode: var(--pol-blend-color-burn, color-burn);

  mix-blend-mode: exclusion;
  filter: brightness(1) contrast(1) saturate(1);
  opacity: 1;

}

.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__shine::after {

  content: "";

  background-image: 
    var(--glitter), 
    conic-gradient(  
      var(--sunpillar-clr-4),
      var(--sunpillar-clr-5), 
      var(--sunpillar-clr-6), 
      var(--sunpillar-clr-1), 
      var(--sunpillar-clr-2), 
      var(--sunpillar-clr-3), 
      var(--sunpillar-clr-4)
    );
  background-size: var(--glittersize) var(--glittersize), cover;
  background-blend-mode: luminosity;

  filter: brightness(calc((var(--pointer-from-center)*0.5) + 0.6)) contrast(2) saturate(3);
  mix-blend-mode: soft-light;

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"][data-trainer-gallery="true"] .card__glare {

  background-image: 
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(40, 100%, 95%, 0.2) 10%, 
      hsla(40, 20%, 5%, 1) 180%
    );
  filter: brightness(1) contrast(1);
  mix-blend-mode: hard-light;
  
}
/* Source: css/cards/shiny-rare.css */
/*

  SHINY RARE (HOLO)

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny"] .card__shine {
  clip-path: var(--clip);
}
.pol-finish-library[data-rarity="rare shiny"][data-subtypes^="stage"] .card__shine {
  clip-path: var(--clip-stage);
}

.pol-finish-library[data-rarity="rare shiny"] .card__shine,
.pol-finish-library[data-rarity="rare shiny"] .card__shine:after {

  --space: 5%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( 0deg, 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6), 
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      #0e152e 0%, 
      hsl(180, 10%, 60%) 3.8%, 
      hsl(180, 29%, 66%) 4.5%, 
      hsl(180, 10%, 60%) 5.2%, 
      #0e152e 10% , 
      #0e152e 12% 
      ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%, 
      hsla(0, 0%, 0%, 0.15) 20%, 
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( var(--background-x) + (var(--background-y)*0.2) ) var(--background-y), 
    var(--background-x) var(--background-y);

  background-blend-mode: soft-light, hue, hard-light;
  background-size: var(--imgsize), 200% 700%, 300% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*0.4) + .4)) contrast(1.4) saturate(2.25);

}

.pol-finish-library[data-rarity="rare shiny"] .card__shine:after {

  content: "";

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( (var(--background-x) + (var(--background-y)*0.2)) * -1) calc( var(--background-y) * -1), 
    var(--background-x) var(--background-y);

  background-size: var(--imgsize), 200% 400%, 195% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*.4) + .8)) contrast(1.5) saturate(1.25);
  mix-blend-mode: exclusion;

}

.pol-finish-library[data-rarity="rare shiny"] .card__shine:before {

  content: "";
  -webkit-mask-image: none;
  mask-image: none;
  
  background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 100%) 0%, 
      hsla(0, 0%, 0%, 0) 40% 
    );
  background-position: center;
  background-size: cover;
  mix-blend-mode: overlay;
  
  opacity: 0.75;
  z-index: 1;

}









/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny"] .card__glare {

  background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), 
    hsl(0, 0%, 100%) 0%, 
    hsl(320, 5%, 15%) 150%
    );

  background-size: cover;
  background-position: center center;

  mix-blend-mode: multiply;
  filter: brightness(1.2) contrast(1) saturate(.7);
  
  opacity: calc( var(--card-opacity) * var(--pointer-from-center) );

}







/*

  NO MASK

*/

.pol-finish-library:not(.masked).pol-finish-library[data-rarity="rare shiny"] .card__shine,
.pol-finish-library:not(.masked).pol-finish-library[data-rarity="rare shiny"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/illusion.png"); 
  --imgsize: 33%;

  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
  -webkit-mask-size: var(--imgsize);
  mask-size: var(--imgsize);

  background-blend-mode: exclusion, hue, hard-light;
  filter: brightness(calc((var(--pointer-from-center)*.3) + .35)) contrast(2) saturate(1.5);

}

.pol-finish-library:not(.masked).pol-finish-library[data-rarity*="rare shiny"] .card__shine:after {

  filter: brightness(calc((var(--pointer-from-center)*.4) + .5)) contrast(1.4) saturate(1.2);
  mix-blend-mode: difference;

}


/* Source: css/cards/shiny-v.css */
/*

  SHINY V (ULTRA RARE)

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny v"] .card__shine,
.pol-finish-library[data-rarity="rare shiny v"] .card__shine:after {

  --space: 5%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( 0deg, 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6), 
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient( 
      var(--angle), 
      #0e152e 0%, 
      hsl(180, 10%, 60%) 3.8%, 
      hsl(180, 29%, 66%) 4.5%, 
      hsl(180, 10%, 60%) 5.2%, 
      #0e152e 10% , 
      #0e152e 12% 
      ),
    radial-gradient(
      farthest-corner circle 
      at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%, 
      hsla(0, 0%, 0%, 0.15) 20%, 
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( var(--background-x) + (var(--background-y)*0.2) ) var(--background-y), 
    var(--background-x) var(--background-y);

  background-blend-mode: soft-light, hue, hard-light;
  background-size: var(--imgsize), 200% 700%, 300% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*0.4) + .4)) contrast(1.4) saturate(2.25);

}

.pol-finish-library[data-rarity="rare shiny v"] .card__shine:after {

  content: "";

  background-position: 
    center center, 
    0% var(--background-y), 
    calc( (var(--background-x) + (var(--background-y)*0.2)) * -1) calc( var(--background-y) * -1), 
    var(--background-x) var(--background-y);

  background-size: var(--imgsize), 200% 400%, 195% 100%, 200% 100%;

  filter: brightness(calc((var(--pointer-from-center)*.4) + .8)) contrast(1.5) saturate(1.25);
  mix-blend-mode: exclusion;

}


.pol-finish-library[data-rarity="rare shiny v"] .card__shine:before {

  content: "";
  -webkit-mask-image: none;
  mask-image: none;
  
  background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 100%) 0%, 
      hsla(0, 0%, 0%, 0) 40% 
    );
  background-position: center;
  background-size: cover;
  mix-blend-mode: overlay;
  
  opacity: 0.75;
  z-index: 1;

}







/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny v"] .card__glare {

  background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsl(0, 0%, 90%) 5%, 
      hsl(200, 5%, 45%) 80%, 
      hsl(320, 40%, 10%) 150% 
    );

  background-size: 120% 140%;
  background-position: center center;

  mix-blend-mode: darken;
  filter: brightness(.88) contrast(2.25) saturate(.7);
  
  opacity: calc( var(--card-opacity) * var(--pointer-from-center) * 0.75 );

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare shiny v"] .card__shine,
.pol-finish-library:not(.masked)[data-rarity="rare shiny v"] .card__shine:after {

  --mask: none;
  --foil: url("/politics/finishes/img/illusion.png"); 
  --imgsize: 33%;

  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
	-webkit-mask-size: var(--imgsize);
  mask-size: var(--imgsize);

  background-blend-mode: exclusion, hue, hard-light;
  filter: brightness(calc((var(--pointer-from-center)*.3) + .35)) contrast(2) saturate(1.5);

}

.pol-finish-library:not(.masked)[data-rarity="rare shiny v"] .card__shine:before {
  content: none;
  display: none;
}

.pol-finish-library:not(.masked)[data-rarity="rare shiny v"] .card__shine:after {
  filter: brightness(calc((var(--pointer-from-center)*.5) + .8)) contrast(1.6) saturate(1.4);
}



/* Source: css/cards/shiny-vmax.css */
/*

  SHINY RARE (VMAX)

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny vmax"] .card__shine {

  --imgsize: cover;
  --angle: -30deg;

  --r-clr-1: hsl(0, 57%, 37%);
  --r-clr-2: hsl(40, 53%, 39%);
  --r-clr-3: hsl(90, 60%, 35%);
  --r-clr-4: hsl(180, 60%, 35%);
  --r-clr-5: hsl(180, 60%, 35%);
  --r-clr-6: hsl(210, 57%, 39%);
  --r-clr-7: hsl(280, 55%, 31%);

  background-image:
    var(--glitter),
    var(--glitter),
    linear-gradient( var(--angle), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1)
    ),
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(248, 5%, 10%, 1) 10%, 
      hsla(206, 5%, 80%, 0.1) 50%, 
      hsla(0, 0%, 95%, .98) 90% 
    );

  background-size: var(--glittersize) var(--glittersize), var(--glittersize) var(--glittersize), 400% 400%, cover;
  background-position: 40% 45%, 55% 55%, calc( var(--background-x) * 1.5) calc( var(--background-y) * 1.5 ), center center;
  background-blend-mode: soft-light, overlay, var(--pol-blend-color-burn, color-burn);
  filter: brightness(1) contrast(1) saturate(.85);

}

.pol-finish-library[data-rarity="rare shiny vmax"] .card__shine:before {
  
  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image:
    var(--foil),
    radial-gradient( 
      farthest-corner circle at var(--pointer-x) var(--pointer-y), 
      hsla(248, 5%, 91%, 0.95) 10%, 
      hsla(206, 5%, 68%, 0.5) 50%, 
      hsl(0, 0%, 0%) 120% 
    );

  background-size: var(--imgsize), cover;
  background-position: center center, center center;
  background-blend-mode: var(--pol-blend-color-burn, color-burn);

  mix-blend-mode: lighten;
  filter: brightness(1) contrast(1) saturate(.4);
  opacity: 0.35;

}

.pol-finish-library[data-rarity="rare shiny vmax"] .card__shine:after {

  content: "";
  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: 
    repeating-linear-gradient( 
      calc( var(--angle) ), 
      var(--sunpillar-clr-1) calc(var(--space)*1), 
      var(--sunpillar-clr-2) calc(var(--space)*2), 
      var(--sunpillar-clr-3) calc(var(--space)*3), 
      var(--sunpillar-clr-4) calc(var(--space)*4), 
      var(--sunpillar-clr-5) calc(var(--space)*5), 
      var(--sunpillar-clr-6) calc(var(--space)*6),
      var(--sunpillar-clr-1) calc(var(--space)*7)
    );

  background-size: 400% 800%;
  background-position: calc( 50% + (50% - (var(--background-x))) * 3 ) calc( 50% + (50% - (var(--background-y))) * 3 );
  filter: brightness(calc( 0.75 - ( var(--pointer-from-center) * 0.5 ))) contrast(1) saturate(1);
  mix-blend-mode: hue;

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare shiny vmax"] .card__glare {
	
	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsla(248, 5%, 90%, 0.45) 0%, 
			hsla(206, 5%, 30%, 0.45) 45%, 
			hsla(0, 0%, 0%, .33) 120% 
		);

	filter: brightness(1) contrast(1.25);

}

.pol-finish-library[data-rarity="rare shiny vmax"] .card__glare:after {
	
  content: "";
  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
	-webkit-mask-size: cover;
  mask-size: cover;

	background-image: 
		radial-gradient( 
			farthest-corner circle at 
			var(--pointer-x) var(--pointer-y), 
			hsla(248, 5%, 90%, 0.75) 0%, 
			hsla(206, 5%, 30%, 0.65) 45%, 
			hsla(0, 0%, 0%, .75) 100% 
		);

  filter: brightness(1) contrast(1.25);
  mix-blend-mode: overlay;
	opacity: 1;

}










/* Source: css/cards/swsh-pikachu.css */
/*

  RAINBOW (SECRET) HOLO

*/







/*

  SHINE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"][data-set="swsh12pt5"][data-number="160"] .card__shine {

  --r-clr-1: hsl(0, 57%, 37%);
  --r-clr-2: hsl(40, 53%, 39%);
  --r-clr-3: hsl(90, 60%, 35%);
  --r-clr-4: hsl(180, 60%, 35%);
  --r-clr-5: hsl(180, 60%, 35%);
  --r-clr-6: hsl(210, 57%, 39%);
  --r-clr-7: hsl(280, 55%, 31%);

  background-image: 
    linear-gradient(-45deg, var(--r-clr-1), var(--r-clr-5)),
    var(--glitter),
    linear-gradient( -30deg, 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1)
    );

  background-blend-mode: luminosity, soft-light;

  background-size: 
    200% 200%, 
    var(--glittersize) var(--glittersize), 
    400% 400%;
  
  background-position: 
    calc( 25% + (50% * var(--pointer-from-left) )) calc( 25% + (50% * var(--pointer-from-top) )), 
    calc(50% - ((var(--shift)*2) * var(--pointer-from-left)) + var(--shift)) calc(50% - ((var(--shift)*2) * var(--pointer-from-top)) + var(--shift)), 
    calc( 25% + (var(--pointer-x) / 2 ) ) calc( 25% + (var(--pointer-y) / 2 ) );
  
  filter: brightness(calc((var(--pointer-from-center)*0.5) + .75)) contrast(2) saturate(1);

}

.pol-finish-library[data-rarity="rare secret"][data-set="swsh12pt5"][data-number="160"] .card__shine:after {

  content: "";

  -webkit-mask-image: none !important;
  mask-image: none !important;

  background-image: 
    var(--glitter),
    linear-gradient( -60deg, 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1), var(--r-clr-2), var(--r-clr-3), var(--r-clr-4), var(--r-clr-5), var(--r-clr-6), var(--r-clr-7), 
      var(--r-clr-1)
    );

  background-blend-mode: soft-light;
  
  background-size: 
    var(--glittersize) var(--glittersize), 
    400% 400%;
  
  background-position: 
    calc(50% - ((var(--shift)*2) * var(--pointer-from-left)) - var(--shift)) calc(50% - ((var(--shift)*2) * var(--pointer-from-top)) - var(--shift)), 
    var(--pointer-x) var(--pointer-y);

  filter: brightness(calc((var(--pointer-from-center)*0.35) + 0.35)) contrast(2) saturate(1);
  mix-blend-mode: exclusion;

}

.pol-finish-library[data-rarity="rare secret"][data-set="swsh12pt5"][data-number="160"] .card__shine:before {

  content: "";

  background-image: var(--foil);
  background-size: var(--imgsize);
  background-position: center center;
  filter: brightness(2.5) contrast(1);

  opacity: calc((var(--pointer-from-center) + 0.4 ) * 0.6 );
  mix-blend-mode: multiply;

}






/*

  GLARE LAYERS

*/

.pol-finish-library[data-rarity="rare secret"][data-set="swsh12pt5"][data-number="160"] .card__glare {
	
	background-image: 
    radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), hsl(0,0%,80%), hsla(0, 0%, 74.9%, 0.25) 30%, hsl(0, 0%, 21.6%) 130% );

	filter: brightness(.9) contrast(2);
	opacity: calc( var(--pointer-from-center) * .9 );
  mix-blend-mode: hard-light;

}










/*

  NO MASK

*/


.pol-finish-library:not(.masked)[data-rarity="rare secret"][data-set="swsh12pt5"][data-number="160"] .card__shine {

  --foil: url("/politics/finishes/img/illusion-mask.png"); 
  --imgsize: 33%;

}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/politics/finish-library.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Optical recipes use a zone mask; the body variant preserves the full photograph. */
.pol-finish-library.interactive {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: inherit;
  isolation: isolate;
  opacity: var(--finish-strength, 0.85);
  transform: none;
  transform-style: flat;
  pointer-events: none;
  z-index: 1;
  will-change: auto;
  --card-opacity: 1;
  --card-scale: 1;
  --seedx: 0.35;
  --seedy: 0.71;
  --cosmosbg: 47px 91px;
  --clip: inset(8.5% 4.8% 40.5%);
  --clip-stage: var(--clip);
  --clip-trainer: var(--clip);
  --clip-borders: inset(1.5%);
  --clip-invert: polygon(
    0 0,
    100% 0,
    100% 100%,
    0 100%,
    0 59.5%,
    95.2% 59.5%,
    95.2% 8.5%,
    4.8% 8.5%,
    4.8% 59.5%,
    0 59.5%
  );
}
.pol-finish-library[data-zone="portrait"] {
  mask: url("/politics/finishes/portrait-mask.svg?v=caption-418") center / 100%
    100% no-repeat;
  mask-mode: luminance;
}
.pol-finish-library[data-zone="portrait"][data-portrait-mask="badge"] {
  mask-image: url("/politics/finishes/portrait-badge-mask.svg?v=caption-418");
}
.pol-finish-library[data-zone="frame"] {
  mask: url("/politics/foil-mask.svg") center / 100% 100% no-repeat;
  mask-mode: luminance;
}
.pol-finish-library[data-zone="body"] {
  mask: url("/politics/finishes/body-mask.svg") center / 100% 100% no-repeat;
  mask-mode: luminance;
}
.pol-finish-library[data-zone="full-subject"] {
  mask: var(--finish-subject-mask) center / 100% 100% no-repeat;
  mask-mode: luminance;
}
/* Remove the source recipe's portrait crop so the outer mask controls its extent. */
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__shine,
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__glare,
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__shine::before,
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__shine::after,
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__glare::before,
.pol-finish-library:is(
    [data-zone="portrait"],
    [data-zone="body"],
    [data-zone="full-subject"]
  )
  .card__glare::after {
  /* Source recipes have subtype-specific crops; only our outer mask should crop. */
  clip-path: none !important;
}
.pol-finish-library > .pol-card-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.pol-finish-library .card__shine,
.pol-finish-library .card__glare,
.pol-finish-library .card__shine::before,
.pol-finish-library .card__shine::after,
.pol-finish-library .card__glare::before,
.pol-finish-library .card__glare::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  will-change: auto;
  /* The card owns the 3D rotation. Optical sublayers blend in one flat
     masked surface, rather than separate translated GPU planes in WebKit. */
  transform: none;
  transform-style: flat;
}
.pol-finish-library .card__glare {
  z-index: 4;
}
/* Avoid divide-based dodge/burn clipping in WebKit's masked compositor.
   Each recipe keeps its textures, gradients, filters and protected silhouette;
   Chromium/Firefox use the original modes through the declaration fallback. */
@supports (-webkit-touch-callout: none) or
  (background-image: -webkit-named-image(i)) {
  .pol-finish-library,
  .pol-finish-accents {
    --pol-blend-color-dodge: screen;
    --pol-blend-color-burn: multiply;
  }

  /* Original recipe remains the fallback when the GPU is unavailable. */
  .pol-finish-library[data-effect="cosmos-holo"] {
    --pol-blend-color-dodge: color-dodge;
    --pol-blend-color-burn: color-burn;
  }
  /* WebKit can composite the rear face through the masked front when their
     rotations are split between nested 3D layers. Give each face its full pose,
     as we already do for the edges, so culling and optical painting agree. */
  .pol-stage-card {
    transform: none;
    transition: none;
  }
  .pol-stage-front {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
    visibility: var(--pol-front-face, visible);
    transform: rotateX(var(--pitch, 0deg))
      rotateY(calc(var(--yaw, 0deg) + var(--flip, 0deg)))
      translateZ(calc(var(--card-depth) / 2));
    transition: transform 0.18s ease-out;
  }
  .pol-stage-back {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
    visibility: var(--pol-back-face, hidden);
    transform: rotateX(var(--pitch, 0deg))
      rotateY(calc(var(--yaw, 0deg) + var(--flip, 0deg) + 180deg))
      translateZ(calc(var(--card-depth) / 2));
    transition: transform 0.18s ease-out;
  }
  .pol-stage-perspective[data-dragging="true"] .pol-stage-front,
  .pol-stage-perspective[data-dragging="true"] .pol-stage-back {
    transition: none;
  }
  @media (prefers-reduced-motion: reduce) {
    .pol-stage-card {
      transform: none !important;
    }
    .pol-stage-front,
    .pol-stage-back {
      transition: none;
    }
  }
}
.pol-finish-preview {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 7;
  border-radius: inherit;
}
.pol-stage-card,
.pol-finish-preview {
  --pointer-x: 50%;
  --pointer-y: 50%;
  --background-x: 50%;
  --background-y: 50%;
  --pointer-from-center: 0;
  --pointer-from-top: 0.5;
  --pointer-from-left: 0.5;
}
.pol-stage-perspective {
  touch-action: pan-y;
}
.pol-finish-picker {
  display: grid;
  gap: 8px;
  margin-block: 20px;
}
.pol-finish-picker select {
  padding: 12px;
  color: inherit;
  background: var(--ars-panel, #171b24);
  border: 1px solid #666;
  border-radius: 6px;
  width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .pol-finish-library *,
  .pol-finish-library *::before,
  .pol-finish-library *::after {
    animation: none !important;
    transition: none !important;
  }
}
.pol-cosmos-surface {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.pol-finish-library[data-cosmos-surface="ready"] > .pol-cosmos-surface {
  display: block;
}
.pol-finish-library[data-cosmos-surface="ready"]
  > :is(svg, .card__shine, .card__glare) {
  visibility: hidden;
}

/* Keep the party cartouche's printed color exact, including glare, compound
   finishes and Safari's cosmic canvas. Coordinates follow the 500 × 700 SVG,
   with a one-unit guard around x40 y532 width102 height65. */
.pol-finish-library.interactive,
.pol-finish-accents,
.pol-foil {
  clip-path: polygon(
    evenodd,
    0 0,
    100% 0,
    100% 100%,
    0 100%,
    0 0,
    7.8% 75.8571428571%,
    28.6% 75.8571428571%,
    28.6% 85.4285714286%,
    7.8% 85.4285714286%,
    7.8% 75.8571428571%
  );
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.8_@babel+core@7.29.7_supports-color@7.2.0__@playwright+test@1.63.0_@types+nod_5b117452476e4e60b988ab72016b84f4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/features/season/landing-inspection.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* One dialog frame, from its first skeleton to the loaded inspection. */
[data-slot="dialog-content"].landing-inspection-dialog {
  height: min(840px, 90dvh);
  align-content: start;
  scrollbar-gutter: stable;
}
.landing-inspection-card-skeleton {
  width: 100%;
  max-width: 360px;
  aspect-ratio: 5 / 7;
  margin: auto;
  border-radius: 12px;
}
.landing-inspection-tools-skeleton {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}
.landing-inspection-tools-skeleton > div {
  width: 64px;
  height: 44px;
}
.landing-inspection-dialog [data-slot="skeleton"] {
  background: var(--ui-border);
  opacity: 0.55;
}
.landing-inspection-copy-skeleton {
  margin-top: 24px;
}
.landing-inspection-copy-skeleton > [data-slot="skeleton"] {
  height: 12px;
  margin-bottom: 12px;
}
.landing-inspection-copy-skeleton > [data-slot="skeleton"]:nth-child(3n) {
  width: 65%;
}
.landing-inspection-details-skeleton {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-block: 24px;
  margin-block: 24px;
  border-block: 1px solid var(--ui-border);
}
.landing-inspection-details-skeleton > div {
  height: 40px;
}
@media (max-width: 760px) {
  .landing-inspection-card-skeleton {
    max-width: 290px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .landing-inspection-dialog [data-slot="skeleton"] {
    animation: none;
  }
}

