/* Shared ThreeDee palette. Values are synchronized from Headz by tools/apply-brand-palette.py. */
body[data-site="characterz"][data-palette="coral-ivory"] {
  --paper:var(--td-color-page);
  --ink:var(--td-color-text);
  --muted:var(--td-color-muted);
  --line:var(--td-color-border);
  /* Compatibility with the existing Characterz components. */
  --violet:var(--td-color-link);
  --mint:var(--td-color-surface);
}
body[data-site="characterz"] ::selection{background:var(--td-color-surface);color:var(--ink)}
body[data-site="characterz"] :is(.identity strong,.footer-brand) .identity-z{display:inline;color:var(--td-color-signature);font:inherit;letter-spacing:inherit}
body[data-site="characterz"] .hero h1>span{color:var(--td-color-signature)}
body[data-site="characterz"] .hero h1 #z-letter.z-playing[data-motion="sheen"]{
  color:transparent;-webkit-text-fill-color:transparent;
  background-image:linear-gradient(110deg,var(--td-coral) 30%,#f6626f 43%,#f86a76 50%,#f6626f 57%,var(--td-coral) 70%);
}
body[data-site="characterz"] :is(.button.violet,.adultz-buy),
body[data-site="characterz"] .hero-actions .playful-buy[data-cta-style="peek"],
body[data-site="characterz"] .original-cast-closing .closing-purchase>.button{
  background:var(--td-color-action);color:var(--td-color-on-action);
  border-color:var(--td-color-action);box-shadow:0 2px 0 var(--td-deep-coral);
}
body[data-site="characterz"] :is(.button.violet,.adultz-buy):hover,
body[data-site="characterz"] .hero-actions .playful-buy[data-cta-style="peek"]:is(:hover,:focus-visible),
body[data-site="characterz"] .original-cast-closing .closing-purchase>.button:hover{
  background:var(--td-color-action-hover);color:var(--td-color-on-action);
  border-color:var(--td-color-action-hover);box-shadow:0 2px 0 var(--td-deep-coral);filter:none;
}
body[data-site="characterz"] .button>span{border-color:var(--td-color-action-divider)}
/* The decorative CTA character uses neutral brand colors on the coral button. */
body[data-site="characterz"] .playful-buy .cta-side-character [fill="#4b57dc"]{fill:var(--td-color-text)}
body[data-site="characterz"] .playful-buy .cta-side-character [fill="#5356db"]{fill:var(--td-color-surface)}
body[data-site="characterz"] .playful-buy .cta-side-character [stroke="#5356db"]{stroke:var(--td-color-surface)}
body[data-site="characterz"] .nav-buy,
body[data-site="characterz"] .nav-buy:hover{background:var(--ink);color:var(--td-color-on-dark);border-color:var(--ink)}
body[data-site="characterz"] .nav-buy span{color:var(--td-color-on-dark-accent)}
body[data-site="characterz"] :is(.hero-value strong,.collection-value span,.closing-combinations strong,.bundle-saving,.collection-alternative){color:var(--td-color-link)}
body[data-site="characterz"] .packs-heading>.pack-buy-line .pack-bundle-link{
  background:var(--td-color-selected-surface);color:var(--td-color-selected-text);border-color:var(--td-color-selected-border);
}
body[data-site="characterz"] .packs-heading>.pack-buy-line .pack-bundle-link:hover{
  background:var(--td-color-selected-surface);border-color:var(--td-color-hover-border);
}
body[data-site="characterz"] .pack-poster .pack-action:is(:hover,:focus-visible){background:var(--td-color-action);border-color:var(--td-color-action);color:var(--ink)}
body[data-site="characterz"] .proof[data-review-tone],
body[data-site="characterz"] .proof{background:var(--td-color-review-surface);border-color:var(--td-color-review-border)}
body[data-site="characterz"] :is(.rating-star,.review-stars,.product-rating-star){color:var(--td-color-link)}
body[data-site="characterz"] :is(.make-section,.png-visual,.adultz-outfits,.adultz-customer-review){background:var(--td-color-surface)}
body[data-site="characterz"] :is(.feature-copy>p,.format-copy>p,.png-visual figcaption,.closing-copy>p){color:var(--muted)}
body[data-site="characterz"] .closing-section,
body[data-site="characterz"] .closing-section.closing-with-cast{background:var(--td-color-surface);border-color:var(--line)}
body[data-site="characterz"] .pack-preview figcaption a:hover{background:var(--td-color-surface);border-color:var(--td-color-link);color:var(--td-color-link)}
body[data-site="characterz"] .lifetime-note{background:transparent;border:0;border-radius:0;margin-block:32px 40px;padding-block:0;overflow:visible;flex-wrap:wrap;gap:14px 24px}
body[data-site="characterz"] .lifetime-note p{color:var(--muted)}
body[data-site="characterz"] .lifetime-note a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;background:var(--td-color-closing-surface);color:var(--td-color-link);border:1px solid var(--td-color-control-text);border-radius:7px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 2px 3px #20221f12}
body[data-site="characterz"] .lifetime-note a::after{content:'→';font-size:18px;line-height:1}
body[data-site="characterz"] .lifetime-note a:is(:hover,:focus-visible){background:var(--td-color-surface);color:var(--td-color-link);border-color:var(--td-color-link)}
body[data-site="characterz"] .lifetime-note::after{content:none}
body[data-site="characterz"] :is(button,a,input,summary):focus-visible{outline-color:var(--td-color-focus)}
@media(prefers-reduced-motion:reduce){
  body[data-site="characterz"] .hero h1 #z-letter.z-playing{background:none!important;-webkit-text-fill-color:var(--td-color-signature)!important}
}
