.mr-entity-modal[hidden] { display: none !important; }
.mr-entity-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: clamp(1rem, 3vw, 2.5rem); }
.mr-entity-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .82); backdrop-filter: blur(8px); animation: mrEntityFade 190ms ease both; }
.mr-entity-modal__dialog { position: relative; width: min(1180px, 96vw); max-height: 92vh; overflow: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; color: #fff; background: linear-gradient(145deg, rgba(18,22,32,.98), rgba(4,7,13,.99)); box-shadow: 0 2rem 7rem rgba(0,0,0,.7); animation: mrEntityZoom 210ms ease both; outline: none; }
.mr-entity-modal__close { position: sticky; z-index: 4; top: .8rem; float: right; width: 2.75rem; height: 2.75rem; margin: .8rem .8rem -3.55rem 0; border: 0; border-radius: 50%; cursor: pointer; color: #05070b; background: #fff; font-size: 1.9rem; line-height: 1; }
.mr-entity-modal__content { min-height: 18rem; }
.mr-entity-modal__loading, .mr-entity-modal__error { display: grid; min-height: 22rem; place-items: center; padding: 3rem; color: rgba(255,255,255,.8); font-size: 1rem; }
.mr-entity-detail { padding: clamp(1.25rem, 3vw, 3rem); }
.mr-entity-detail__intro { display: grid; grid-template-columns: minmax(210px, 320px) minmax(0,1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.mr-entity-detail__portrait { aspect-ratio: 2/3; overflow: hidden; display: grid; place-items: center; border: 3px solid #fff; border-radius: .65rem; background: #111827; box-shadow: 0 1rem 3rem rgba(0,0,0,.45); font-size: 5rem; font-weight: 800; }
.mr-entity-detail__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.mr-entity-detail__eyebrow { margin: 0 0 .4rem; color: rgba(255,255,255,.6); font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.mr-entity-detail__title { margin: 0 0 1.2rem; font-size: clamp(2.1rem, 5vw, 4.6rem); line-height: .98; }
.mr-entity-detail__biography { color: rgba(255,255,255,.86); font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.75; }
.mr-entity-detail__biography p:first-child { margin-top: 0; }
.mr-entity-detail__empty { color: rgba(255,255,255,.62); }
.mr-entity-detail__section { margin-top: clamp(2.2rem, 5vw, 4rem); padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,.13); }
.mr-entity-detail__section h3 { margin: 0 0 1.4rem; font-size: clamp(1.35rem, 2vw, 1.9rem); }
.mr-entity-detail__people { display: flex; flex-wrap: wrap; gap: 1.4rem; }
.mr-entity-person { width: 130px; text-align: center; }
.mr-entity-person__photo { width: 112px; height: 112px; margin: 0 auto; overflow: hidden; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #182030; font-size: 2.4rem; font-weight: 800; box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.36); }
.mr-entity-person__photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.mr-entity-person__name { margin-top: .65rem; font-size: .93rem; font-weight: 650; line-height: 1.25; }
.mr-entity-detail__media { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; }
body.mr-entity-modal-open { overflow: hidden; }
@keyframes mrEntityFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mrEntityZoom { from { opacity: 0; transform: scale(.965) translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 980px) { .mr-entity-detail__media { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 720px) { .mr-entity-modal { padding: 0; } .mr-entity-modal__dialog { width: 100%; max-height: 100vh; height: 100%; border-radius: 0; } .mr-entity-detail__intro { grid-template-columns: 1fr; } .mr-entity-detail__portrait { width: min(280px,75vw); margin: 0 auto; } .mr-entity-detail__media { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.mr-entity-person{appearance:none;border:0;background:none;color:#fff;padding:0;cursor:pointer;font:inherit}
.mr-entity-detail__portrait--person{border-radius:50%;aspect-ratio:1;align-self:start}
.mr-entity-detail__characters{display:flex;flex-wrap:wrap;gap:1.25rem}
.mr-entity-character-mini{appearance:none;border:0;background:none;color:#fff;padding:0;width:130px;cursor:pointer;text-align:center;font:inherit}
.mr-entity-character-mini__photo{display:grid;place-items:center;width:112px;aspect-ratio:2/3;margin:0 auto;overflow:hidden;border:3px solid #fff;border-radius:.55rem;background:#182030;font-size:2rem;font-weight:800}
.mr-entity-character-mini__photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.mr-entity-character-mini__name{display:block;margin-top:.6rem;font-size:.9rem;font-weight:650;line-height:1.25}

/* Person and Character details: keep media posters aligned with compact entity cards. */
.mr-entity-detail--person .mr-entity-detail__media,
.mr-entity-detail--character .mr-entity-detail__media {
	display: grid;
	grid-template-columns: repeat(auto-fill,112px);
	gap: 1.25rem;
	justify-content: start;
}

.mr-entity-detail--person .mr-entity-detail__media .media-card,
.mr-entity-detail--character .mr-entity-detail__media .media-card {
	width: 112px;
	min-width: 112px;
	border-radius: 0.55rem;
}

.mr-entity-detail--person .mr-entity-detail__media .media-card__meta,
.mr-entity-detail--character .mr-entity-detail__media .media-card__meta {
	min-height: 28px;
	padding: 5px 4px 6px;
	font-size: 8px;
}

.mr-entity-detail--person .mr-entity-detail__media .media-card__meta-item:not(:last-child)::after,
.mr-entity-detail--character .mr-entity-detail__media .media-card__meta-item:not(:last-child)::after {
	margin: 0 3px;
}

.mr-entity-detail--person .mr-entity-detail__media .media-card__meta-item--rating,
.mr-entity-detail--character .mr-entity-detail__media .media-card__meta-item--rating {
	padding: 1px 3px;
	font-size: 7px;
}

@media (max-width: 720px) {
	.mr-entity-detail--person .mr-entity-detail__media,
	.mr-entity-detail--character .mr-entity-detail__media {
		display: grid;
		grid-template-columns: repeat(auto-fill,112px);
	}
}

/* Character appearance details by season and episode. */
.mr-entity-detail__appearance{width:112px;min-width:112px}
.mr-entity-detail__appearance .media-card{width:112px;min-width:112px}
.mr-entity-detail__appearance-list{margin:.55rem 0 0;padding:0;list-style:none;color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.45}
.mr-entity-detail__appearance-list li+li{margin-top:.25rem}
.mr-entity-detail__person-credit{width:112px;min-width:112px}.mr-entity-detail__credit-role{margin:.5rem 0 0;color:rgba(255,255,255,.82);font-size:.75rem;line-height:1.35;text-align:center}


.mr-entity-detail__share{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:8px 14px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.mr-entity-detail__share:hover,.mr-entity-detail__share:focus-visible{background:#fff;color:#090c12}
body.single-people .sd-like,body.single-character .sd-like,body.single-people .wpl-likebox,body.single-character .wpl-likebox{display:none!important}

/* 2.31.2 entity sharing and compact details */
.mr-entity-detail__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.mr-entity-detail__title-row .mr-entity-detail__title{margin:0;min-width:0}
.mr-entity-detail__share{flex:0 0 auto;margin-top:.25rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:transparent;color:#fff;padding:.65rem 1rem;cursor:pointer;font:inherit;font-weight:700}
.mr-entity-detail__share:hover,.mr-entity-detail__share:focus-visible{background:#fff;color:#090c12;outline:none}
.mr-entity-detail .mr-favorite-heart,.mr-entity-detail .sd-like,.mr-entity-detail .wpl-likebox,.single-people .sd-like,.single-character .sd-like,.single-people .wpl-likebox,.single-character .wpl-likebox{display:none!important}
.mr-share-toast{position:fixed;left:50%;bottom:1.5rem;z-index:2147483647;transform:translate(-50%,1rem);padding:.85rem 1.15rem;border:1px solid rgba(255,255,255,.25);border-radius:.55rem;background:rgba(8,11,17,.96);color:#fff;box-shadow:0 .8rem 2.5rem rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;font-size:.95rem}
.mr-share-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:720px){.mr-entity-detail__title-row{align-items:center}.mr-entity-detail__share{padding:.55rem .8rem;font-size:.88rem}}

/* 2.54.3: clean entity URLs use the same floating record presentation as Home. */
.mr-entity-document{margin:0;background:#05070b;color:#fff}
.mr-entity-modal--clean .mr-entity-modal__backdrop{display:block;cursor:default;background:rgba(0,0,0,.68);backdrop-filter:blur(5px)}
.mr-entity-modal--clean .mr-entity-modal__close{display:grid;place-items:center;text-decoration:none}

/* 2.54.15: restore the proven Home document background after native block rendering failed on direct entity requests. */
.mr-entity-home-stage{position:fixed;inset:0;z-index:1;width:100%;height:100%;border:0;background:#05070b;pointer-events:none}
.mr-entity-document .mr-entity-modal--clean{z-index:2147483000}

/* 2.54.16: closing a directly loaded entity reuses the already-running Home stage. */
.mr-entity-document.mr-entity-home-stage-active{overflow:hidden}
.mr-entity-home-stage-active .mr-entity-home-stage{z-index:2147483001;pointer-events:auto}
