.xeno-hero{padding:65px 0 36px;background:linear-gradient(110deg,rgba(33,37,74,.68),rgba(7,9,20,.3));border-bottom:1px solid var(--line)}
.xeno-breadcrumbs{font-size:13px;color:#b5b3c7;margin-bottom:19px}.xeno-breadcrumbs a{color:#e9dba6}
.xeno-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:38px;align-items:center}
.xeno-hero h1{font-size:clamp(34px,4.7vw,57px);line-height:1.09;letter-spacing:-1.2px;margin:12px 0 16px}
.xeno-dek{font-size:18px;line-height:1.7;color:#d1cedf;max-width:800px}
.xeno-cover{display:block;width:100%;height:auto;max-height:295px;object-fit:contain;filter:drop-shadow(0 12px 25px rgba(0,0,0,.38))}
.xeno-meta{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.xeno-chip{font-size:12px;font-weight:750;color:#efdfad;background:rgba(243,214,124,.075);border:1px solid rgba(243,214,124,.22);padding:5px 11px;border-radius:999px}
.xeno-main{padding:47px 0 82px}.xeno-columns{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:38px;align-items:start}
.xeno-copy{min-width:0;font-size:16px;line-height:1.85;color:#d4d3e2}
.xeno-copy section{scroll-margin-top:110px;padding:0 0 16px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.xeno-copy h2{font-size:clamp(25px,3vw,33px);line-height:1.18;margin:0 0 19px;color:#f7f3ff}
.xeno-copy p{margin:0 0 18px}.xeno-copy ul{padding-left:23px}.xeno-copy li{margin-bottom:12px}
.xeno-aside{position:sticky;top:102px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}
.xeno-aside h2{font-size:18px;margin:0 0 12px}.xeno-toc{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.xeno-toc a{display:block;font-size:12px;line-height:1.45;color:#c7c2d8;padding:6px 0}.xeno-toc a:hover{color:white}
.xeno-spoiler{padding:16px 18px;border-radius:13px;border:1px solid rgba(243,214,124,.42);background:rgba(243,214,124,.085);margin:0 0 35px;color:#f5e5b8}
.xeno-spoiler strong{display:block;font-size:15px;margin-bottom:4px}.xeno-spoiler p{font-size:13px;margin:0}
.xeno-timeline{list-style:none;padding:0!important;margin:5px 0 26px;display:grid;gap:13px}
.xeno-timeline li{margin:0!important;padding:14px 18px;border-left:3px solid #e1c77f;border-radius:0 12px 12px 0;background:rgba(255,255,255,.045)}
.xeno-timeline strong{display:block;color:#f5e6bc;font-size:16px;margin-bottom:6px}.xeno-timeline span{display:block;font-size:15px}
.xeno-reading{margin:35px 0 0;padding:26px;border:1px solid var(--line);background:rgba(21,25,49,.8);border-radius:18px}
.xeno-reading h2{font-size:22px;margin:0 0 12px}.xeno-related{display:grid;gap:10px}
.xeno-related a,.xeno-index-card{display:block;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:16px 18px}
.xeno-related a:hover,.xeno-index-card:hover{border-color:rgba(243,214,124,.4);background:rgba(255,255,255,.07)}
.xeno-related strong{display:block;color:#f6f1ff}.xeno-related small{display:block;color:#aca9bd;margin-top:4px}

.xeno-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 10px}
.xeno-index-card h2{font-size:24px;margin:8px 0}.xeno-index-card p{color:#c4c1d3;margin:0 0 10px}.xeno-index-card span{font-size:12px;color:#ebd9aa;font-weight:800}
@media(max-width:900px){.xeno-columns{grid-template-columns:1fr}.xeno-aside{position:static;order:-1}.xeno-toc{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}}
@media(max-width:620px){.xeno-hero-grid{grid-template-columns:1fr}.xeno-cover{width:150px;max-height:220px;margin:auto}.xeno-grid{grid-template-columns:1fr}.xeno-toc{grid-template-columns:1fr}.xeno-copy{font-size:15px}.xeno-hero{padding-top:34px}}

/* Kingdom Hearts editorial reading-room additions */
.kh-series-sigil{min-height:230px;border:1px solid rgba(243,214,124,.2);border-radius:24px;background:radial-gradient(circle at 45% 30%,rgba(243,214,124,.18),transparent 65%),linear-gradient(150deg,rgba(25,42,89,.7),rgba(7,9,20,.4));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#f0d99b}
.kh-series-sigil span{font-size:91px;line-height:1;text-shadow:0 0 30px rgba(243,214,124,.3)}
.kh-series-sigil small{font-size:11px;letter-spacing:.19em;font-weight:800}
.kh-toc{max-height:calc(100vh - 124px);overflow-y:auto;overscroll-behavior:contain}
.kh-lore-game{padding:12px 4px;border-bottom:1px solid var(--line)}
.kh-lore-game:last-child{border-bottom:0}
.kh-lore-game strong{display:block;margin:0 0 7px;color:#f7f2df}
.kh-lore-game div{display:flex;flex-wrap:wrap;gap:8px 22px}
.kh-lore-game a{font-size:13px;color:#b7d7ff;text-decoration:underline;text-underline-offset:3px}
.kh-game-editorial{scroll-margin-top:95px}

/* Editorial figures, original illustrated character portraits and accessible diagrams */
.ed-figure{margin:18px 0 32px;overflow:hidden;border:1px solid rgba(209,213,234,.16);border-radius:17px;background:#12182b}
.ed-figure img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#12182b}
.ed-figure-hero img{max-height:380px;object-fit:cover}
.ed-figure figcaption{font-size:12px;line-height:1.55;color:#bbb9cd;padding:11px 15px;text-align:center}
.ed-figure-spoiler{color:#dfc785;font-weight:700}
.ed-timeline{margin:20px 0 34px}
.ed-timeline-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0!important;margin:20px 0!important}
.ed-timeline-list li{border:1px solid rgba(209,213,234,.16);background:linear-gradient(165deg,rgba(35,43,73,.9),rgba(17,21,38,.85));padding:14px!important;margin:0!important;display:flex;gap:10px;align-items:start;border-radius:13px;min-width:0}
.ed-timeline-list li.current{border-color:#c8ac75;background:rgba(113,88,45,.21)}
.ed-timeline-marker{flex:none;width:11px;height:11px;border:2px solid #d6bd83;border-radius:50%;margin-top:8px}
.ed-timeline-info{min-width:0}.ed-timeline-info strong,.ed-timeline-info a{font-size:14px;font-weight:750;line-height:1.3;color:#f4eee4;text-decoration:none}
.ed-timeline-info a:hover{text-decoration:underline}
.ed-timeline-info small{display:block;color:#c1bfd0;font-size:11px;line-height:1.4;margin-top:5px}
.ed-character-intro{color:#bdbbce;font-size:13px!important}
.ed-character-group{color:#dfcc93;font-size:21px;margin:32px 0 15px}
.ed-characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 26px}
.ed-character-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:15px;padding:13px;background:rgba(255,255,255,.038);border:1px solid rgba(209,213,234,.16);border-radius:15px;align-items:start}
.ed-portrait{width:100%;aspect-ratio:12/13;align-self:start;overflow:hidden;border-radius:11px;background:#11172a}
.ed-portrait-svg{display:block;width:100%;height:100%}
.ed-character-copy{min-width:0}.ed-character-copy h4{font-size:16px;line-height:1.23;color:#f4f0ff;margin:0 0 4px}
.ed-character-role{font-size:11px;color:#e0c98a;line-height:1.35;font-weight:700;display:block;margin-bottom:8px}
.ed-character-copy p{font-size:12px;line-height:1.6;color:#c8c7d4;margin:0}
.ed-relation-panel{padding:22px;margin:14px 0 24px;border-radius:16px;border:1px solid rgba(209,213,234,.18);background:linear-gradient(110deg,rgba(34,45,77,.68),rgba(17,21,36,.7))}
.ed-relation-panel h3{font-size:17px;color:#f3e6c5;margin:0 0 17px}
.ed-relation-center{border:1px solid rgba(242,209,128,.42);background:rgba(242,209,128,.085);padding:11px 18px;border-radius:12px;font-size:16px;font-weight:850;text-align:center;color:#ffe8b5;max-width:440px;margin:auto}
.ed-relation-edges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.ed-relation-edge{border:1px solid rgba(209,213,234,.15);background:#1c243c;border-radius:10px;padding:12px 14px;position:relative}
.ed-relation-edge:before{content:"";width:1px;height:16px;position:absolute;top:-19px;left:50%;background:rgba(242,209,128,.5)}
.ed-relation-edge span{font-size:13px;font-weight:800;color:#f1eef7;display:block}
.ed-relation-edge small{display:block;color:#c5c5d4;font-size:11px;line-height:1.45;margin-top:6px}
.ed-relation-note{font-size:12px!important;line-height:1.6;color:#e1d2ac;margin:16px 0 0!important}
.ed-graphic-divider{border:1px solid rgba(222,197,133,.22);background:radial-gradient(ellipse at top left,rgba(102,78,146,.22),transparent 65%),linear-gradient(120deg,#1b2542,#13192b);border-radius:16px;padding:26px 28px;display:flex;gap:24px;align-items:center;margin:28px 0}
.ed-graphic-glyph{font-size:38px;color:#e2c584;display:flex;align-items:center;gap:13px;line-height:1}
.ed-graphic-glyph span:last-child{font-size:20px;color:#a5a6bd;font-weight:700}
.ed-graphic-divider figcaption{display:flex;flex-direction:column;gap:7px}
.ed-graphic-divider strong{font-size:19px;color:#f6f0df}.ed-graphic-divider small{font-size:12px;color:#c7c4da}
@media(max-width:1050px){.ed-characters{grid-template-columns:1fr}.ed-timeline-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ed-character-card{grid-template-columns:86px minmax(0,1fr);gap:12px}.ed-timeline-list{grid-template-columns:1fr}.ed-relation-edges{grid-template-columns:1fr}.ed-graphic-divider{padding:18px;gap:15px}.ed-graphic-divider strong{font-size:16px}}

@media(max-width:900px){.kh-toc{max-height:360px}}
@media(max-width:620px){.kh-series-sigil{min-height:160px;max-width:220px;margin:0 auto}.kh-lore-game div{gap:8px 15px}}

