@layer components {
  .cast-intro{padding:86px 0 58px}
  .cast-intro h1{max-width:1050px;margin:23px 0 26px}
  .cast-intro .lead{max-width:730px}
  .cast-disclosure{max-width:850px;margin-top:28px;padding:16px 20px;border:1px solid var(--line);border-left:2px solid var(--violet);border-radius:0 12px 12px 0;background:var(--surface);color:var(--muted);font-size:13px;line-height:1.7}
  .cast-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;padding-bottom:25px;border-bottom:1px solid var(--line)}
  .cast-filter{display:flex;align-items:center;gap:14px;min-width:0}
  .cast-filter label{font-size:12px;font-weight:600;color:var(--muted)}
  .cast-filter select{max-width:100%;min-width:230px;min-height:46px;padding:11px 38px 11px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--white);font-size:13px;line-height:1.5}
  .cast-count{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.5}
  .cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;padding-bottom:84px}
  .cast-card{min-width:0;border:1px solid var(--line);border-color:color-mix(in srgb,var(--character-accent,var(--mint)) 27%,var(--line));border-radius:var(--radius);background:var(--surface)}
  .cast-card-link{display:flex;flex-direction:column;height:100%;min-width:0;border-radius:inherit}
  .cast-card-link:focus-visible{position:relative;z-index:2;outline:2px solid var(--character-accent,var(--mint));outline-offset:5px}
  .cast-photo{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4 / 5;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:var(--surface-high)}
  .cast-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
  .cast-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px 24px 23px;min-width:0}
  .cast-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;width:100%;margin-bottom:18px}
  .cast-niche{color:var(--character-accent,var(--mint));font-size:11px;font-weight:500;line-height:1.5}
  .cast-style{padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:9px;line-height:1.4}
  .cast-name{font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:0 0 16px}
  .cast-summary{max-width:none;color:var(--muted);font-size:14px;line-height:1.75}
  .cast-traits,.character-traits{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}
  .cast-traits>li,.character-traits>li{margin:0;padding:6px 10px;border:1px solid var(--line);border-radius:100px;background:var(--paper);color:var(--muted);font-size:10px;line-height:1.5}
  .cast-card-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:auto;padding-top:27px;color:var(--white);font-size:12px;font-weight:600;line-height:1.5}
  .cast-card-cta>span[aria-hidden]{color:var(--character-accent,var(--mint));font-size:18px;line-height:1}

  .hero-cast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:clamp(400px,39vw,540px);min-width:0;background:var(--surface)}
  .hero-cast-panel{position:relative;display:block;min-width:0;height:100%;overflow:hidden;background:var(--surface-high)}
  .hero-cast-panel+.hero-cast-panel{border-left:1px solid #ffffff35}
  .hero-cast-panel>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
  .hero-cast-panel::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03070a08 28%,#03070a05 48%,#03070ae6 100%)}
  .hero-cast-panel:focus-visible{outline:3px solid var(--mint);outline-offset:-7px}
  .hero-cast-label{position:absolute;z-index:3;right:24px;bottom:24px;left:24px;display:block;pointer-events:none}
  .hero-cast-label strong{display:block;font-family:var(--font-display);font-size:clamp(32px,3.2vw,47px);font-weight:500;line-height:1.06;letter-spacing:-.04em;color:var(--white)}
  .hero-cast-label span{display:block;margin-top:8px;color:#e3eae6;font-size:11px;line-height:1.45;letter-spacing:0}
  .hero-cast~.image-index{top:24px;left:24px;pointer-events:none}
  .hero-cast~.signal-trace{pointer-events:none}
  .cast-preview-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}
  .cast-preview-strip p{max-width:680px;color:var(--muted);font-size:14px;line-height:1.7}
  .cast-preview-strip .text-link{flex-shrink:0}

  .character-page{--character-accent:var(--mint)}
  .character-intro{padding:32px 0 28px}
  .character-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}
  .character-breadcrumb a{display:inline-block;padding:6px 0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
  .character-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(38px,6.5vw,88px);align-items:center;margin-bottom:42px}
  .character-portrait{min-width:0;max-width:520px;overflow:hidden;border:1px solid var(--line);border-color:color-mix(in srgb,var(--character-accent) 35%,var(--line));border-radius:22px;background:var(--surface)}
  .character-portrait img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center 30%}
  .character-portrait figcaption{padding:14px 18px;color:var(--muted);font-size:10px;line-height:1.6}
  .character-heading{min-width:0;padding:8px 0}
  .character-heading>.eyebrow{color:var(--character-accent);margin-bottom:21px}
  .character-heading h1{font-size:clamp(55px,6.5vw,88px);line-height:1.03;letter-spacing:-.052em;margin:0 0 23px;overflow-wrap:break-word}
  .character-tagline{font-family:var(--font-display);font-size:clamp(23px,2.3vw,31px);font-weight:500;line-height:1.25;letter-spacing:-.025em;max-width:24ch;color:var(--character-accent);margin-bottom:22px}
  .character-summary{max-width:56ch;font-size:15px;line-height:1.8;color:var(--muted)}
  .character-disclosure{max-width:none;margin-top:26px;padding:13px 16px;border-left:2px solid var(--character-accent);background:var(--surface);color:var(--muted);font-size:11px;line-height:1.7}
  .character-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin:28px 0 0;padding:23px 0;border-block:1px solid var(--line)}
  .character-vitals>div{min-width:0}
  .character-vitals dt{font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
  .character-vitals dd{margin:8px 0 0;font-size:12px;font-weight:500;line-height:1.7;color:var(--white)}
  .character-traits{margin-top:21px}
  .character-traits>li{padding:7px 11px;font-size:11px;border-color:color-mix(in srgb,var(--character-accent) 20%,var(--line));background:var(--surface)}
  .character-heading>.actions{margin-top:28px;gap:18px}

  .character-jump{position:sticky;top:90px;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#090d12f2;backdrop-filter:blur(16px);box-shadow:0 12px 35px #00000016}
  .character-jump>a{display:flex;align-items:center;justify-content:center;flex:1;min-height:42px;padding:9px 18px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;text-align:center;white-space:nowrap}
  .character-jump>a:focus-visible{outline:2px solid var(--character-accent,var(--mint));outline-offset:2px;color:var(--white)}
  .character-section{display:grid;grid-template-columns:minmax(180px,.63fr) minmax(0,1.37fr);gap:clamp(35px,6.5vw,88px);padding:77px 0;border-bottom:1px solid var(--line);scroll-margin-top:84px}
  .character-section-heading{max-width:340px;min-width:0}
  .character-section-heading>.eyebrow{color:var(--character-accent);margin-bottom:20px}
  .character-section-heading h2{font-size:clamp(33px,3.25vw,45px);line-height:1.12;letter-spacing:-.035em}
  .character-section-heading>p:not(.eyebrow){margin-top:18px;color:var(--muted);font-size:13px;line-height:1.75}
  .character-section-body{min-width:0}
  .character-section-body>*+*{margin-top:30px}
  .character-copy{max-width:67ch;color:var(--muted);font-size:15px;line-height:1.85}
  .character-copy p{max-width:none}
  .character-copy p+p{margin-top:24px}
  .character-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .character-detail{min-width:0;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
  .character-detail h3{font-size:21px;margin-bottom:13px}
  .character-detail p,.character-detail ul{font-size:13px;line-height:1.75;color:var(--muted)}
  .character-detail ul{margin:0;padding-left:17px}
  .character-detail li::marker{color:var(--character-accent)}
  .character-quote{margin:30px 0 0;padding:24px 27px;border-left:2px solid var(--character-accent);border-radius:0 13px 13px 0;background:var(--surface);font-family:var(--font-display);font-size:clamp(23px,2.25vw,29px);font-weight:500;line-height:1.4;letter-spacing:-.02em;color:var(--white)}
  .character-quote p{max-width:none}
  .character-quote :is(cite,footer){display:block;margin-top:14px;font-family:var(--font-body);font-size:11px;font-weight:400;font-style:normal;letter-spacing:0;color:var(--muted)}
  .character-story-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .character-story-notes>div{min-width:0;padding:22px 24px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
  .character-story-notes>div:last-child:nth-child(odd){grid-column:1 / -1}
  .character-story-notes h3{font-size:20px;margin-bottom:13px}
  .character-story-notes p{color:var(--muted);font-size:13px;line-height:1.75}
  .character-voice{padding:25px 27px;border:1px solid var(--line);border-color:color-mix(in srgb,var(--character-accent) 23%,var(--line));border-radius:14px;background:var(--surface)}
  .character-voice h3{font-size:23px;margin-bottom:16px}
  .character-voice p{color:var(--muted);font-size:15px;line-height:1.8}
  .character-social-bio{margin:0;padding:22px 25px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:14px;line-height:1.75;color:var(--white)}
  .character-social-bio h3{font-size:20px;margin-bottom:14px}
  .character-social-bio p{font-size:14px;line-height:1.75}
  .character-channels{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:24px 0 0}
  .character-detail .character-channels{padding:0;margin:0}
  .character-channels>li{margin:0;padding:7px 12px;border:1px solid var(--line);border-radius:100px;background:var(--surface-high);font-size:11px;line-height:1.5;color:var(--muted)}
  .character-series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
  .series-card{min-width:0;padding:24px 21px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
  .series-number{display:block;margin-bottom:26px;color:var(--character-accent);font-family:var(--font-display);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
  .series-card h3{font-size:21px;line-height:1.2;margin-bottom:14px}
  .series-card p{color:var(--muted);font-size:13px;line-height:1.75}

  .campaign-overview{max-width:67ch}
  .campaign-overview h3{font-size:clamp(29px,3.3vw,40px);line-height:1.15;margin-bottom:20px}
  .campaign-overview>p{font-size:15px;line-height:1.8;color:var(--muted)}
  .campaign-overview>.character-disclosure{font-size:11px;line-height:1.7}
  .campaign-overview .campaign-product{display:grid;gap:6px;font-size:11px;color:var(--character-accent);margin-bottom:16px;line-height:1.6}
  .campaign-product>span{font-size:14px;color:var(--white)}
  .campaign-hook{margin:25px 0 0;padding:22px 0 0;border-top:1px solid var(--line);font-family:var(--font-display);font-size:clamp(23px,2.3vw,30px);line-height:1.35;letter-spacing:-.025em;color:var(--white)}
  .campaign-hook>.eyebrow{margin-bottom:16px;color:var(--character-accent)}
  .campaign-cta-label{display:grid;gap:6px;margin-top:20px;font-size:12px;line-height:1.7;color:var(--muted)}
  .campaign-cta-label strong{color:var(--character-accent);font-weight:500}
  .script-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .script-beat{min-width:0;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
  .script-time{display:block;margin-bottom:20px;font-family:var(--font-display);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--character-accent)}
  .script-visual{max-width:none;font-size:13px;line-height:1.75;color:var(--muted)}
  .script-line{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-family:var(--font-display);font-size:21px;line-height:1.4;letter-spacing:-.015em;color:var(--white)}
  .campaign-journey{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:30px 0 0}
  .campaign-step{min-width:0;margin:0;padding:25px 24px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
  .step-number{display:block;margin-bottom:24px;font-family:var(--font-display);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--character-accent)}
  .campaign-step h4{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.025em;margin-bottom:13px;line-height:1.2}
  .campaign-step p{font-size:13px;line-height:1.75;color:var(--muted)}
  .campaign-result{display:grid;gap:29px;padding:29px 30px;border:1px solid var(--line);border-color:color-mix(in srgb,var(--character-accent) 35%,var(--line));border-radius:15px;background:linear-gradient(130deg,var(--surface-high),var(--surface))}
  .campaign-result>div+div{padding-top:25px;border-top:1px solid var(--line)}
  .campaign-result h3{font-size:25px;margin-bottom:15px}
  .campaign-result p{font-size:14px;line-height:1.8;color:var(--muted)}
  .campaign-result ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:22px 0 0}
  .campaign-result li{margin:0;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--white);font-size:11px;line-height:1.6}
  .campaign-note{max-width:none;padding:17px 20px;border-left:2px solid var(--violet);background:var(--surface);color:var(--muted);font-size:12px;line-height:1.8}
  .campaign-note h3{font-size:16px;line-height:1.4;letter-spacing:-.01em;margin-bottom:10px;color:var(--white)}
  .character-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px 36px;margin-top:62px;margin-bottom:80px;padding:32px 34px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}
  .character-cta>div>.eyebrow{margin-bottom:18px}
  .character-cta h2{font-size:clamp(29px,3vw,39px);line-height:1.14}
  .character-cta p{margin-top:14px;font-size:14px;line-height:1.75;color:var(--muted)}
  .character-cta .button{flex-shrink:0}
  .character-next{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin:0;padding:25px 0 0;border-top:1px solid var(--line)}
  .character-next p{font-size:13px;color:var(--muted)}

  .concept-reference{margin-top:25px;padding:21px;border:1px solid var(--line);border-left:2px solid var(--mint);border-radius:12px;background:var(--surface)}
  .concept-reference>.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:15px}
  .concept-reference [data-concept-link]{display:inline-block;font-family:var(--font-display);font-size:23px;font-weight:500;line-height:1.25;letter-spacing:-.02em;color:var(--mint);text-decoration:underline;text-decoration-color:#bbffce55;text-underline-offset:5px}
  .concept-reference [data-concept-niche]{margin-top:11px;color:var(--white);font-size:12px;line-height:1.6}
  .concept-reference p{max-width:none}
  .concept-reference .small{margin-top:11px;font-size:11px;line-height:1.7}
  .concept-reference [data-concept-clear]{display:inline-block;min-height:44px;margin-top:8px;padding:10px 0;border:0;background:transparent;color:var(--muted);font-size:11px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
}

@layer motion {
  html[data-motion=on] :is(.cast-card,.character-jump>a,.character-breadcrumb a,.concept-reference [data-concept-clear]){transition:border-color .25s ease,background .25s ease,color .25s ease}
  html[data-motion=on] :is(.cast-photo img,.hero-cast-panel>img){transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  html[data-motion=on] .cast-card:focus-within{border-color:var(--character-accent,var(--mint))}
  html[data-motion=on] .character-jump>a:is(:hover,:focus-visible){background:var(--surface-high);border-color:var(--line);color:var(--white)}
  html[data-motion=on] .character-breadcrumb a:hover{color:var(--character-accent);text-decoration-color:currentColor}
  html[data-motion=on] .concept-reference [data-concept-clear]:hover{color:var(--white)}
  @media(hover:hover) and (pointer:fine){
    html[data-motion=on] .cast-card:hover{border-color:var(--character-accent,var(--mint))}
    html[data-motion=on] .cast-card-link:hover .cast-photo img{transform:scale(1.035)}
    html[data-motion=on] .hero-cast-panel:hover>img{transform:scale(1.035)}
  }
}

@layer responsive {
  @media(max-width:1050px){
    .cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
    .character-hero{gap:38px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
    .character-heading h1{font-size:60px}
    .character-tagline{font-size:24px}
    .character-summary{font-size:14px}
    .character-vitals{gap:16px}
    .hero-cast-label{left:20px;right:20px}
    .hero-cast-label strong{font-size:33px}
    .hero-cast-label span{font-size:10px}
  }
  @media(max-width:960px){
    .character-section{grid-template-columns:1fr;gap:32px;padding:60px 0}
    .character-section-heading{max-width:600px}
    .character-section-heading h2{font-size:39px}
    .character-copy{max-width:69ch;font-size:15px}
    .character-cta{gap:24px;padding:30px}
    .character-cta .button{padding-inline:20px}
    .hero-cast{height:380px}
  }
  @media(max-width:780px){
    .cast-intro{padding:54px 0 40px}
    .cast-intro h1{font-size:clamp(49px,9.2vw,70px);margin-top:22px}
    .cast-intro .lead{font-size:16px}
    .character-intro{padding:26px 0 24px}
    .character-breadcrumb{font-size:11px}
    .character-hero{grid-template-columns:1fr;gap:31px;margin-bottom:34px}
    .character-portrait{width:100%;max-width:500px;margin-inline:auto;border-radius:17px}
    .character-heading{padding:0}
    .character-heading h1{font-size:clamp(48px,8.5vw,69px);margin-bottom:20px}
    .character-tagline{max-width:32ch;font-size:26px}
    .character-summary{max-width:65ch;font-size:15px}
    .character-vitals{gap:22px}
    .character-disclosure{margin-top:23px}
    .character-jump{top:77px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px;border-radius:12px}
    .character-jump>a{min-width:0;min-height:41px;padding:8px 10px;font-size:11px}
    .character-section{scroll-margin-top:116px;padding:49px 0;gap:27px}
    .character-section-heading h2{font-size:36px}
    .character-section-heading>.eyebrow{margin-bottom:16px}
    .character-cta{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;margin-top:42px;margin-bottom:55px;padding:28px}
    .character-cta>.button{justify-self:start}
    .character-cta h2{font-size:33px}
    .hero-cast{height:clamp(235px,43vw,330px)}
    .hero-cast-label{left:13px;right:12px;bottom:24px}
    .hero-cast-label strong{font-size:clamp(19px,4.3vw,30px);letter-spacing:-.025em;line-height:1.1}
    .hero-cast-label span{font-size:9px;margin-top:6px;line-height:1.4}
    .hero-cast~.image-index{top:24px;left:16px;font-size:7px}
    .cast-preview-strip{align-items:flex-start;gap:19px;padding:23px 0}
    .cast-preview-strip p{font-size:13px}
    .cast-preview-strip .text-link{font-size:12px;gap:12px}
    .concept-reference{margin-top:20px;max-width:540px}
  }
  @media(max-width:640px){
    .cast-toolbar{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:26px;padding-bottom:22px}
    .cast-filter{align-items:flex-start;flex-direction:column;gap:10px}
    .cast-filter select{width:100%;min-width:0}
    .cast-grid{grid-template-columns:1fr;gap:27px;padding-bottom:60px}
    .cast-card-copy{padding:23px}
    .cast-name{font-size:33px}
    .cast-disclosure{font-size:12px;padding:15px 17px}
    .character-detail-grid,.character-story-notes,.character-series,.script-grid,.campaign-journey{grid-template-columns:1fr;gap:14px}
    .character-series .series-card{padding:25px}
    .series-card h3{font-size:24px}
    .series-number{margin-bottom:20px}
    .character-vitals{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
    .character-copy{font-size:14px;line-height:1.85}
    .character-copy p+p{margin-top:22px}
    .character-detail,.character-story-notes>div,.script-beat,.campaign-step{padding:23px}
    .character-quote,.character-voice{padding:23px}
    .character-social-bio{padding:22px}
    .campaign-result{padding:25px}
    .campaign-overview h3{font-size:31px}
    .campaign-overview>p{font-size:14px}
    .campaign-result li{font-size:11px}
    .character-cta .button{width:100%}
    .cast-preview-strip{flex-direction:column;gap:16px}
  }
  @media(max-width:420px){
    .cast-intro h1{font-size:clamp(42px,11.5vw,49px)}
    .hero-cast{height:235px}
    .hero-cast-label{left:10px;right:8px}
    .hero-cast-label strong{font-size:17px;line-height:1.1}
    .hero-cast-label span{font-size:8px;line-height:1.35}
    .character-heading h1{font-size:clamp(43px,12vw,52px)}
    .character-tagline{font-size:23px}
    .character-section-heading h2{font-size:32px}
    .character-vitals{gap:17px}
    .character-vitals dd{font-size:11px}
    .character-cta{padding:25px 22px}
    .character-cta h2{font-size:29px}
    .character-jump>a{padding-inline:7px;font-size:10px}
  }
  html[data-motion=off] :is(.cast-photo img,.hero-cast-panel>img){transform:none;transition:none}
  @media(prefers-reduced-motion:reduce){
    .cast-photo img,.hero-cast-panel>img{transform:none!important;transition:none!important}
    .cast-card,.character-jump>a,.character-breadcrumb a,.concept-reference [data-concept-clear]{transition:none!important}
  }
  @media(forced-colors:active){
    .cast-card,.character-portrait,.character-detail,.series-card,.script-beat,.campaign-step,.campaign-result,.concept-reference{border-color:CanvasText}
    .cast-card-link:focus-visible,.hero-cast-panel:focus-visible,.character-jump>a:focus-visible{outline-color:Highlight}
    .hero-cast-label{background:Canvas;color:CanvasText;padding:5px}
    .hero-cast-label strong,.hero-cast-label span{color:CanvasText}
    .character-jump{background:Canvas;border-color:CanvasText}
  }
}
