.sc-home-character {
  --sc-character-pink: #ec5f78;
  --sc-character-ink: #f7f1f3;
  --sc-character-muted: #c5b9bd;
  background: #1d1d1e;
  color: var(--sc-character-ink);
  overflow: clip;
  padding: clamp(44px,5vw,76px) clamp(18px,4vw,64px);
  position: relative;
}
.sc-home-character-shell { align-items: center; display: grid; gap: clamp(40px,5vw,84px); grid-template-columns: minmax(440px,1.02fr) minmax(360px,.78fr); margin: 0 auto; max-width: 1440px; }
.sc-home-character-media { min-height: clamp(480px,46vw,620px); overflow: visible; position: relative; isolation: isolate; }
.sc-home-character-media > img { bottom: 0; filter: drop-shadow(16px 20px 13px rgba(0,0,0,.58)) drop-shadow(-4px 6px 20px rgba(236,95,120,.12)); height: 98%; left: 50%; object-fit: cover; object-position: center 24%; position: absolute; transform: translateX(-50%); width: min(74%,430px); z-index: 2; -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 86%,transparent 100%); mask-image: linear-gradient(to bottom,#000 0%,#000 86%,transparent 100%); }
.sc-home-character-word { color: rgba(255,255,255,.14); font-size: clamp(60px,6.4vw,104px); font-style: italic; font-weight: 800; left: 50%; letter-spacing: .08em; line-height: 1; position: absolute; text-shadow: 0 10px 32px rgba(0,0,0,.2); top: 58%; transform: translate(-50%,-50%) rotate(-10deg); white-space: nowrap; z-index: 1; }
.sc-home-character-hanzi { color: rgba(255,107,141,.2); font-size: clamp(72px,7.7vw,116px); font-weight: 900; line-height: 1; pointer-events: none; position: absolute; top: 37%; transform: translateY(-50%) rotate(-10deg); z-index: 1; }
.sc-home-character-hanzi.is-left { left: calc(50% - clamp(128px,13vw,190px)); top: 44%; }
.sc-home-character-hanzi.is-right { right: calc(50% - clamp(128px,13vw,190px)); }
.sc-home-character-copy { padding: clamp(8px,2vw,32px) 0; }
.sc-home-character-kicker { color: var(--sc-character-pink); display: block; font-size: .75rem; font-weight: 850; letter-spacing: .22em; margin-bottom: 14px; }
.sc-home-character-copy h2 { color: var(--sc-character-ink); font-size: clamp(2.2rem,4.2vw,4rem); font-weight: 850; letter-spacing: -.065em; line-height: .98; margin: 0 0 clamp(26px,3vw,42px); }
.sc-home-character-copy h2 span { color: var(--sc-character-pink); }
.sc-home-character-facts { border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 0 22px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 28px; padding: 0; }
.sc-home-character-facts > div { align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; gap: 12px; justify-content: space-between; min-width: 0; padding: 15px 0; }
.sc-home-character-facts dt { color: #ad9fa4; font-size: .76rem; font-weight: 650; white-space: nowrap; }
.sc-home-character-facts dd { color: var(--sc-character-ink); font-size: .92rem; font-weight: 800; margin: 0; overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.sc-home-character-copy > p { color: var(--sc-character-muted); font-size: clamp(.92rem,1.15vw,1.08rem); line-height: 1.9; margin: 0; max-width: 630px; }
.sc-home-character-source { color: #ef7189; display: inline-block; font-size: .72rem; font-weight: 700; margin-top: 18px; text-decoration: none; }
.sc-home-character-chat-btn { align-items: center; background: linear-gradient(135deg,#ef5a7d,#ff7295); border-radius: 999px; box-shadow: 0 14px 34px rgba(0,0,0,.3); color: #fff; display: inline-flex; font-size: 12px; font-weight: 800; gap: 8px; justify-content: center; min-height: 42px; min-width: 78px; padding: 0 16px; position: absolute; right: 18px; text-decoration: none; top: 60%; transform: translateY(-50%); z-index: 5; }

body:not(.dark-mode) .sc-home-character {
  --sc-character-ink: #242126;
  --sc-character-muted: #6f666b;
  background: #fff;
  color: var(--sc-character-ink);
}
body:not(.dark-mode) .sc-home-character-media > img {
  filter: drop-shadow(16px 22px 18px rgba(58,45,50,.22)) drop-shadow(-4px 6px 20px rgba(236,95,120,.1));
}
body:not(.dark-mode) .sc-home-character-word {
  color: rgba(36,33,38,.1);
  text-shadow: 0 10px 32px rgba(80,62,69,.08);
}
body:not(.dark-mode) .sc-home-character-hanzi { color: rgba(236,95,120,.18); }
body:not(.dark-mode) .sc-home-character-facts,
body:not(.dark-mode) .sc-home-character-facts > div { border-color: rgba(36,33,38,.12); }
body:not(.dark-mode) .sc-home-character-facts dt { color: #81757a; }
body:not(.dark-mode) .sc-home-character-facts dd { color: #242126; }
body:not(.dark-mode) .sc-home-character-copy > p { color: #6f666b; }
body:not(.dark-mode) .sc-home-character-source { color: #d94f6d; }
body:not(.dark-mode) .sc-home-character-chat-btn { box-shadow: 0 14px 34px rgba(205,72,104,.24); }

@media (max-width:991px) { .sc-home-character-shell { gap:34px; grid-template-columns:minmax(340px,.9fr) minmax(330px,1fr); } .sc-home-character-media { min-height:520px; } .sc-home-character-facts { grid-template-columns:1fr; } }
@media (max-width:700px) { .sc-home-character { padding:30px 14px 38px; } .sc-home-character-shell { gap:30px; grid-template-columns:1fr; } .sc-home-character-media { min-height:min(128vw,540px); } .sc-home-character-media > img { height:100%; width:min(82%,430px); } .sc-home-character-word { font-size:clamp(50px,14.5vw,72px); } .sc-home-character-hanzi { font-size:clamp(58px,15vw,74px); } .sc-home-character-hanzi.is-left { left:calc(50% - 118px); top:43%; } .sc-home-character-hanzi.is-right { right:calc(50% - 118px); } .sc-home-character-copy { padding:0 4px; } .sc-home-character-copy h2 { font-size:clamp(2rem,10.5vw,3.1rem); margin-bottom:24px; } .sc-home-character-facts { gap:0 14px; grid-template-columns:repeat(2,minmax(0,1fr)); } .sc-home-character-facts > div { gap:8px; padding:12px 0; } .sc-home-character-facts dt { font-size:.68rem; } .sc-home-character-facts dd { font-size:.78rem; } .sc-home-character-copy > p { font-size:.9rem; line-height:1.8; } }

/* Cross-browser transparent character video */
.sc-home-character-media {
  cursor: ew-resize;
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.sc-home-character-media.is-scrubbing { cursor: grabbing; }

.sc-home-character-media video {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  display: block;
  width: auto;
  max-width: none;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter:
    drop-shadow(16px 20px 13px rgba(0,0,0,.58))
    drop-shadow(-4px 6px 20px rgba(236,95,120,.12));
  transform: translateX(-50%);
  transition: opacity .18s ease, visibility .18s ease;
  -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 90%,transparent 100%);
  mask-image: linear-gradient(to bottom,#000 0%,#000 90%,transparent 100%);
}

.sc-home-character-action-video {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sc-home-character-media.is-action-playing { cursor: default; }
.sc-home-character-media.is-action-playing .sc-home-character-rotate-video {
  opacity: 0;
  visibility: hidden;
}
.sc-home-character-media.is-action-playing .sc-home-character-action-video {
  opacity: 1;
  visibility: visible;
}

.sc-character-action-btn {
  position: absolute;
  z-index: 5;
  top: 48%;
  right: 18px;
  display: inline-flex;
  min-width: 78px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  cursor: pointer;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  background: linear-gradient(135deg,#ef5a7d,#ff7295);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(0,0,0,.3);
  transform: translateY(-50%);
  transition: transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.sc-character-action-btn:hover {
  box-shadow: 0 16px 36px rgba(0,0,0,.36);
  transform: translateY(-50%) scale(1.04);
}
.sc-character-action-btn:disabled { cursor: default; opacity: .72; }
.sc-character-action-btn .icon { font-size: 14px; }

.sc-home-character-gesture {
  position: absolute;
  z-index: 4;
  right: 18px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  pointer-events: none;
  color: #d7cbd0;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  background: rgba(35,31,33,.62);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
}

.sc-home-character-gesture i {
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--sc-character-pink);
  border-left: 1.5px solid var(--sc-character-pink);
}
.sc-home-character-gesture i:first-child { transform: rotate(-45deg); }
.sc-home-character-gesture i:last-child { transform: rotate(135deg); }

body:not(.dark-mode) .sc-home-character-media video {
  filter:
    drop-shadow(14px 18px 12px rgba(52,35,41,.22))
    drop-shadow(0 28px 24px rgba(111,55,73,.1));
}
body:not(.dark-mode) .sc-character-action-btn {
  box-shadow: 0 12px 28px rgba(213,66,101,.25);
}
body:not(.dark-mode) .sc-home-character-gesture {
  color: #7c6870;
  background: rgba(255,255,255,.76);
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(72,42,52,.1);
}

@media (max-width:700px) {
  .sc-home-character-media video { height: 100%; }
  .sc-character-action-btn { top: 50%; right: 8px; min-width: 70px; min-height: 38px; padding: 0 13px; font-size: 11px; }
  .sc-home-character-chat-btn { right: 8px; }
  .sc-home-character-gesture { right: 8px; bottom: 12px; padding: 8px 11px; font-size: 10px; }
}
