.character-monogram{width: 86px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #294330; border-radius: 50%; background: #102218; color: #acd85f; font: 30px "Arial Narrow", Arial, sans-serif; box-shadow: none;}
.character-monogram.small{width: 48px; aspect-ratio: 1; border-radius: 50%; font-size: 15px;}
.character-photo{background-image: linear-gradient(180deg, transparent 68%, rgba(5,6,6,.28)), var(--portrait-image, linear-gradient(145deg, #23553d, #0a1710)); background-size: 100% 100%, var(--portrait-size, cover); background-position: center, var(--portrait-x, center) var(--portrait-y, center); background-repeat: no-repeat;}
.character-monogram.character-photo{box-shadow: inset 0 0 22px rgba(0,0,0,.24);}
.character-group{color: var(--gold-soft); font-size: 9px; letter-spacing: .12em; text-transform: uppercase;}
.character-hero{position: relative; overflow: hidden; padding: 28px 0 88px; border-bottom: 1px solid #294330; background: radial-gradient(circle at 15% 24%, rgba(82,118,61,.08), transparent 29%), #07110d;}
.character-hero::before{content: ""; position: absolute; width: 520px; height: 520px; right: -210px; bottom: -330px; border: 1px solid rgba(82,118,61,.16); border-radius: 50%; box-shadow: none; pointer-events: none;}
.character-breadcrumbs{position: relative; z-index: 2; margin-bottom: 34px;}
.character-hero-grid{position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px, 350px) minmax(0, 1fr); gap: clamp(46px, 6vw, 92px); align-items: center;}
.character-portrait-stage{position: relative; padding: 10px 10px 28px;}
.character-portrait-stage::before{content: ""; position: absolute; inset: 0 0 18px 0; border: 1px solid rgba(82,118,61,.2); border-radius: 31px; transform: rotate(-1deg);}
.character-portrait.character-photo{background-image: linear-gradient(180deg, transparent 55%, rgba(5,6,6,.52)), var(--portrait-image, linear-gradient(145deg, #23553d, #0a1710)); background-size: 100% 100%, var(--portrait-size, cover); background-position: center, var(--portrait-x, center) var(--portrait-y, center); box-shadow: inset 0 0 70px rgba(0,0,0,.18), 0 28px 72px rgba(0,0,0,.42);}
.character-portrait-label{position: absolute; right: -10px; bottom: 0; min-width: 74%; padding: 14px 18px; border: 1px solid #294330; border-radius: 14px; background: #0c1c13; box-shadow: 0 12px 30px rgba(0,0,0,.22); backdrop-filter: blur(12px);}
.character-portrait-label span, .character-hero-meta span{display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase;}
.character-portrait-label strong{font: 17px "Arial Narrow", Arial, sans-serif;}
.character-hero-copy{min-width: 0; max-width: 790px;}
.character-hero-copy .page-title{max-width: 820px; margin: 13px 0 0; overflow-wrap: anywhere; font-size: clamp(52px, 6.2vw, 88px); line-height: .95;}
.character-original{margin: 14px 0 0; color: var(--gold-soft); font: italic 22px "Arial Narrow", Arial, sans-serif;}
.character-hero-intro{max-width: 750px; margin: 25px 0 0; color: #b4c1b2; font-size: 18px; line-height: 1.72;}
.character-hero-meta{display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12px; margin-top: 30px;}
.character-hero-meta > div{min-height: 84px; padding: 17px 19px; border: 1px solid #294330; border-radius: 15px; background: #0c1c13;}
.character-hero-meta strong{display: block; max-width: 420px; font-size: 13px; line-height: 1.5;}
.character-subnav{display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px;}
.character-subnav a{padding: 9px 13px; border: 1px solid #294330; border-radius: 999px; color: #b4c1b2; font-size: 11px; font-weight: 700; transition: border-color .2s, color .2s, background .2s;}
.character-subnav a:hover, .character-subnav a:focus-visible{border-color: #52763d; background: #13291b; color: #acd85f;}
.character-profile-section{border-bottom: 1px solid #294330; background: #07110d;}
.character-profile-layout{display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 390px); gap: clamp(44px, 6vw, 86px); align-items: start;}
.character-story{min-width: 0;}
.character-section-heading{display: flex; gap: 24px; align-items: flex-start; margin-bottom: 27px;}
.character-section-heading > span{padding-top: 4px; color: rgba(172,216,95,.42); font: 46px "Arial Narrow", Arial, sans-serif; line-height: 1;}
.character-section-heading h2{margin: 8px 0 0; font: clamp(36px, 4vw, 54px)/1.04 "Arial Narrow", Arial, sans-serif;}
.character-story-lead{max-width: 820px; margin: 0; color: var(--text); font: 24px/1.55 "Arial Narrow", Arial, sans-serif;}
.character-story-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px;}
.character-story-card{min-height: 214px; padding: 23px; border: 1px solid #294330; border-radius: 18px; background: #0c1c13;}
.character-story-card > span, .character-story-note > span, .character-dossier-role > span, .character-start-episode > span{display: block; margin-bottom: 17px; color: var(--gold-soft); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;}
.character-story-card p{margin: 0; color: #b4c1b2; font-size: 14px; line-height: 1.75;}
.character-story-relations{display: grid; gap: 0;}
.character-story-relations a{display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); color: var(--text);}
.character-story-relations a:first-child{border-top: 0; padding-top: 0;}
.character-story-relations span{color: var(--muted); font-size: 11px;}
.character-story-relations strong{font: 17px "Arial Narrow", Arial, sans-serif; text-align: right;}
.character-story-note{margin-top: 14px; padding: 22px 24px; border-left: 2px solid #52763d; border-radius: 0 16px 16px 0; background: #102218;}
.character-story-note > span{margin-bottom: 9px;}
.character-story-note p{max-width: 760px; margin: 0; color: #b4c1b2; font-size: 13px; line-height: 1.7;}
.character-dossier{position: sticky; top: 92px; overflow: hidden; border: 1px solid #294330; border-radius: 22px; background: #0c1c13; box-shadow: 0 20px 52px rgba(0,0,0,.16);}
.character-dossier-head{padding: 25px 25px 20px; border-bottom: 1px solid var(--line);}
.character-dossier-head h2{margin: 8px 0 0; font: 31px "Arial Narrow", Arial, sans-serif;}
.character-dossier-role{padding: 22px 25px; border-bottom: 1px solid var(--line);}
.character-dossier-role > span{margin-bottom: 8px;}
.character-dossier-role strong{display: block; overflow-wrap: anywhere; font: 21px/1.28 "Arial Narrow", Arial, sans-serif;}
.character-dossier-list{margin: 0; padding: 5px 25px;}
.character-dossier-list > div{display: grid; grid-template-columns: .9fr 1.1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line);}
.character-dossier-list > div:first-child{border-top: 0;}
.character-dossier-list dt{color: var(--muted); font-size: 11px;}
.character-dossier-list dd{margin: 0; color: var(--text); font-size: 12px; font-weight: 700; text-align: right;}
.character-dossier-metrics{display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.character-dossier-metrics > div{padding: 20px 24px;}
.character-dossier-metrics > div + div{border-left: 1px solid var(--line);}
.character-dossier-metrics strong{display: block; color: var(--gold-soft); font: 34px "Arial Narrow", Arial, sans-serif;}
.character-dossier-metrics span{color: var(--muted); font-size: 10px;}
.character-start-episode{display: block; margin: 18px; padding: 18px; border: 1px solid #294330; border-radius: 16px; background: #102218; transition: border-color .2s, transform .2s, background .2s;}
.character-start-episode:hover{transform: translateY(-2px); border-color: #52763d; background:#13291b;}
.character-start-episode > span{margin-bottom: 8px;}
.character-start-episode strong{display: block; font: 18px/1.3 "Arial Narrow", Arial, sans-serif;}
.character-start-episode p{margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55;}
.character-spoiler-note{margin: 0; padding: 0 20px 20px; color: #94a58f; font-size: 10px; line-height: 1.5; text-align: center;}
.character-evolution-section{position: relative; overflow: hidden; border-bottom: 1px solid #294330; background: #07110d;}
.character-evolution-section::before{content: none;}
.character-evolution-head{position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 440px); gap: 45px; align-items: end; margin-bottom: 52px;}
.character-evolution-head h2{margin: 9px 0 0; font: clamp(40px, 5vw, 62px)/1.02 "Arial Narrow", Arial, sans-serif;}
.character-evolution-head p{margin: 0; color: #b4c1b2; font-size: 14px; line-height: 1.75;}
.character-evolution-timeline{position: relative; display: grid; gap: 18px; max-width: 980px;}
.character-evolution-timeline::before{content: ""; position: absolute; top: 24px; bottom: 24px; left: 24px; width: 1px; background: #294330;}
.character-evolution-step{position: relative; display: grid; grid-template-columns: 49px minmax(0, 1fr); gap: 22px; align-items: start; min-width: 0; color: var(--text);}
.character-evolution-marker{position: relative; z-index: 1; width: 49px; height: 49px; display: grid; place-items: center; margin: 0; border: 1px solid #294330; border-radius: 50%; background: #102218; color: #acd85f; font: 13px "Arial Narrow", Arial, sans-serif; box-shadow: 0 0 0 7px #07110d; transition: border-color .2s, background .2s, transform .2s;}
.character-evolution-card{min-height: 0; display: flex; flex-direction: column; padding: 25px; border: 1px solid #294330; border-radius: 19px; background: #0c1c13; transition: transform .22s, border-color .22s, background .22s;}
.character-evolution-stage{color: var(--gold-soft); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.character-evolution-code{margin-top: 19px; color: #94a58f; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;}
.character-evolution-card strong{margin-top: 8px; font: 24px/1.16 "Arial Narrow", Arial, sans-serif;}
.character-evolution-copy{margin-top: 16px; color: #b4c1b2; font-size: 13px; line-height: 1.68;}
.character-evolution-link{margin-top: auto; padding-top: 23px; color: var(--gold-soft); font-size: 11px; font-weight: 700;}
.character-evolution-step:hover .character-evolution-marker, .character-evolution-step:focus-visible .character-evolution-marker{transform: scale(1.08); border-color: #52763d; background: #13291b;}
.character-evolution-step:hover .character-evolution-card, .character-evolution-step:focus-visible .character-evolution-card{transform: translateY(-4px); border-color: #52763d; background: #13291b;}
.character-related-section{border-bottom: 1px solid var(--line); background: #07110d;}
.character-layout{display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.7fr); gap: 65px;}
.relation-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.relation-card{min-height: 126px; display: flex; flex-direction: column; justify-content: flex-end; padding: 19px; border: 1px solid #294330; border-radius: 16px; background: #0c1c13; transition: transform .2s, border-color .2s, background .2s;}
.relation-card:hover{transform: translateY(-3px); border-color: #52763d; background:#13291b;}
.relation-card span{margin-bottom: 8px; color: var(--gold-soft); font-size: 10px; letter-spacing: .1em; text-transform: uppercase;}
.relation-card strong{font: 23px "Arial Narrow", Arial, sans-serif;}
.key-episode-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.key-episode{min-height: 190px; display: flex; flex-direction: column; padding: 21px; border: 1px solid #294330; border-radius: 17px; background: #0c1c13; transition:transform .2s,border-color .2s,background .2s;}
.key-episode:hover,.key-episode:focus-visible{transform:translateY(-3px);border-color:#52763d;background:#13291b;}
.key-episode > span{color: var(--gold-soft); font-size: 10px; letter-spacing: .14em;}
.key-episode strong{margin: auto 0 8px; font: 25px "Arial Narrow", Arial, sans-serif;}
.key-episode em{margin: 0 0 9px; color: var(--gold-soft); font-size: 11px; font-style: normal; font-weight: 700;}
.key-episode p{margin: 0; color: var(--muted); font-size: 12px;}
.character-actor-section{background: #07110d;}
.character-actor-layout{display: grid; grid-template-columns: minmax(230px,.65fr) minmax(0,1.35fr); gap: clamp(36px,6vw,80px); align-items: start;}
.character-actor-layout h2{margin: 12px 0 0; font: clamp(36px,4vw,54px)/1.08 "Arial Narrow",Arial,sans-serif;}
.character-actor-layout .prose p:first-child{margin-top: 0;}
@media (max-width: 980px){.character-hero-grid{grid-template-columns: 260px 1fr; gap: 42px;}
.character-hero-copy .page-title{font-size: clamp(48px, 7vw, 70px);}
.character-profile-layout{grid-template-columns: 1fr; gap: 42px;}
.character-dossier{position: static;}
.character-layout, .episode-editorial-grid{grid-template-columns: 1fr; gap: 34px;}}
@media (max-width: 680px){.character-monogram{width: 68px;}
.character-hero{padding: 22px 0 62px;}
.character-breadcrumbs{margin-bottom: 24px;}
.character-hero-grid{grid-template-columns: 1fr; gap: 34px;}
.character-portrait-stage{width: min(78vw, 260px); padding: 7px 7px 25px;}
.character-portrait-label{right: -12px; min-width: 82%; padding: 12px 14px;}
.character-hero-copy .page-title{font-size: clamp(46px, 14vw, 67px);}
.character-hero-intro{font-size: 16px;}
.character-hero-meta{grid-template-columns: 1fr;}
.character-subnav{flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px;}
.character-subnav a{white-space: nowrap;}
.character-section-heading{gap: 14px;}
.character-section-heading > span{display: none;}
.character-section-heading h2{font-size: 36px;}
.character-story-lead{font-size: 20px;}
.character-story-grid{grid-template-columns: 1fr;}
.character-story-card{min-height: 0;}
.character-evolution-head{grid-template-columns: 1fr; gap: 18px; margin-bottom: 38px;}
.character-evolution-timeline{grid-template-columns: 1fr; gap: 18px;}
.character-evolution-timeline::before{top: 24px; bottom: 24px; left: 24px; width: 1px; height: auto; background: #294330;}
.character-evolution-step{display: grid; grid-template-columns: 49px minmax(0, 1fr); gap: 18px; align-items: start;}
.character-evolution-marker{margin: 0;}
.character-evolution-card{min-height: 0;}
.character-dossier-list > div{grid-template-columns: 1fr; gap: 5px;}
.character-dossier-list dd{text-align: left;}
.character-dossier-metrics > div{padding: 17px 19px;}
.character-actor-layout{grid-template-columns: 1fr; gap: 24px;}
.relation-grid, .key-episode-grid{grid-template-columns: 1fr;}}
.search-result-card .search-result-portrait .character-monogram,.search-result-card .search-result-portrait .character-photo-image{width:78px;height:auto;aspect-ratio:1;border-radius:50%}
.character-photo-image{width:86px;height:116px;object-fit:cover;object-position:center;border-radius:999px 999px 22px 22px;border:1px solid #294330}
.character-portrait .character-photo-image{width:100%;height:100%;border-radius:inherit}
.character-monogram.small,.character-photo-image.small{width:48px;height:56px}
@media(max-width:760px){.search-result-card .search-result-portrait .character-monogram,.search-result-card .search-result-portrait .character-photo-image{width:58px}}