/* Character dossiers use one dialog, with a fixed close control and one scroll area. */
#modal.character-expanded{width:min(1320px,calc(100vw - 48px));max-width:calc(100vw - 48px);height:min(1050px,92svh);max-height:92svh;overflow:hidden;background:#1b1127;border-color:#ff91be33}
.character-expanded #modal-content{height:100%;min-height:0}.character-expanded #modal-close{top:7px;right:12px;width:42px;height:42px}
.character-dossier,.character-photo-view{display:flex;flex-direction:column;height:100%;min-height:0}
.character-dialog-bar{height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 78px 0 28px;border-bottom:1px solid #fff2d91c;background:#1c1228;font:600 10px/1.3 var(--body);letter-spacing:2px;text-transform:uppercase}
.character-file{color:#c5accc;letter-spacing:1px;white-space:nowrap}.character-profile-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#a95887 #21152d}
.character-cover{display:grid;grid-template-columns:1.08fr 1fr;min-height:320px;background:radial-gradient(ellipse at 100% 0,#7c35543b,transparent 75%),#21132d}
.character-cover-image{position:relative;min-width:0;padding:0;overflow:hidden;background:#110b1c;min-height:320px}.character-cover-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:40% 45%;transition:transform .7s}
.character-cover-image:hover>img{transform:scale(1.025)}.character-cover-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#160d2370,transparent 55%)}
.character-cover-image>span{position:absolute;bottom:18px;left:22px;z-index:1;display:flex;align-items:center;gap:9px;font-size:11px;text-shadow:0 1px 10px #000}.character-cover-image svg{width:16px;height:16px}
.character-cover-copy{padding:35px 38px;align-self:center}.character-cover-copy .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:20px}
.character-cover-copy h2{font:800 clamp(54px,5.7vw,86px)/.83 var(--head);letter-spacing:-.8px;font-style:italic;margin:0 0 20px}.character-cover-copy h2>span{display:block;color:var(--pink);margin-top:5px}
.character-cover-copy>p:last-child{max-width:320px;color:#d1bfd6;font-size:15px;line-height:1.5}
.character-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 38px;margin:0;border-block:1px solid #fff2d91b;background:#25183050}.character-facts>div+div{border-left:1px solid #fff2d91b;padding-left:25px}
.character-facts dt{font:500 9px/1.4 var(--body);letter-spacing:1.8px;text-transform:uppercase;color:#bb9dc7;margin-bottom:6px}.character-facts dd{font:600 19px/1.2 var(--head);margin:0;color:var(--cream)}
.character-dossier-body{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;padding:38px}.character-story>.eyebrow{margin-bottom:25px}
.character-story>section{display:flex;gap:18px;margin-bottom:26px}.character-chapter{color:#d46b9b;font:600 11px var(--body);letter-spacing:1px;padding-top:5px}.character-story h3,.character-gallery h3{font:600 27px/1.1 var(--head);margin:0 0 10px;color:#fff2d9}.character-story p{font:400 14px/1.75 var(--body);color:#c7b8d1;margin:0}
.character-story>.character-connections{display:block;border-top:1px solid #ffffff1c;padding-top:24px;margin-top:32px;margin-bottom:0}.character-connections>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.character-connections h4{font:600 17px var(--head);margin:8px 0;color:#ffb3d4}.character-connections p{font-size:12px;line-height:1.7}
.character-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.character-gallery-heading>span{font:500 9px/1.4 var(--body);letter-spacing:1px;color:#d590b2;text-align:right;text-transform:uppercase}.character-gallery>p{font-size:12px;line-height:1.6;color:#bda9c8;margin:2px 0 18px}
.character-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-photo-grid>button{min-width:0;padding:0;position:relative;overflow:hidden;background:#0d0816;aspect-ratio:1.45;text-align:left}
.character-photo-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.character-photo-grid button:hover img{transform:scale(1.05)}.character-photo-grid button>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:28px 12px 11px;background:linear-gradient(transparent,#10091ce8);font-size:9px;letter-spacing:.4px}.character-photo-grid svg{width:14px;height:14px}
.character-media-source{margin-top:22px;font-size:11px}
.character-dossier-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:28px 38px;border-top:1px solid #fff2d91c;background:linear-gradient(110deg,#321b36,#1d132b)}
.character-dossier-footer p{font-size:11px;color:#d0b9d7;line-height:1.6}.character-dossier-footer small{display:block;font-size:10px;color:#a88db5;margin:4px 0 12px}.character-dossier-footer .inline-link{font-size:11px;color:#ff96c6}
#character-switch{display:grid;grid-template-columns:1fr auto;gap:4px 25px;text-align:left;border:1px solid #ff9fc336;padding:17px 20px;min-width:230px;transition:background .2s}#character-switch:hover{background:#ff519e15}#character-switch>span{font:500 9px var(--body);letter-spacing:1.5px;text-transform:uppercase;color:#d1a1bd}#character-switch strong{font:600 27px/1 var(--head);white-space:nowrap}#character-switch svg{grid-column:2;grid-row:1 / 3;align-self:center;color:#ff88bc}
.character-back{display:flex;align-items:center;gap:10px;font:600 11px var(--body);padding:10px 0}.character-back svg{width:17px;height:17px;transform:rotate(180deg)}.character-back:hover{color:var(--pink)}
.character-photo-stage{flex:1;min-height:0;display:grid;place-items:center;padding:12px;background:#0c0812}.character-photo-stage>img{width:100%;height:100%;min-height:0;object-fit:contain;max-height:100%;display:block}
.character-photo-caption{padding:16px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #fff2d91c;background:#21152d}.character-photo-caption strong{font:600 18px var(--head)}.character-photo-caption small{display:block;font-size:9px;color:#a98eb5;margin-top:4px}.character-photo-controls{display:flex;align-items:center;gap:8px}.character-photo-controls>span{font:500 10px var(--body);letter-spacing:1px;margin-right:10px;white-space:nowrap;color:#d0abc1}.character-photo-controls>button,.character-photo-controls>a{width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff2d933;border-radius:50%}.character-photo-controls svg{width:17px;height:17px}.character-photo-controls>button:hover,.character-photo-controls>a:hover{background:#ff519e22}
.character-sr-only{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:900px){.character-cover-copy{padding:28px}.character-dossier-body{gap:28px;padding:30px}.character-facts{padding:22px 28px}.character-facts>div+div{padding-left:16px}.character-dossier-footer{padding:26px 30px}.character-photo-grid>button{aspect-ratio:1.2}}
@media(max-width:650px){#modal.character-expanded{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100svh - 16px);max-height:calc(100svh - 16px);margin:auto}.character-dialog-bar{height:56px;padding-left:18px;padding-right:66px;font-size:8px;letter-spacing:1.2px;gap:10px}.character-file{font-size:8px;letter-spacing:.5px}.character-expanded #modal-close{width:40px;height:40px;top:7px;right:10px}.character-cover{grid-template-columns:1fr;min-height:0}.character-cover-image{min-height:0;aspect-ratio:1.85}.character-cover-copy{padding:24px}.character-cover-copy .eyebrow{font-size:8px;margin-bottom:16px}.character-cover-copy h2{font-size:68px;line-height:.85;margin-bottom:16px}.character-cover-copy>p:last-child{font-size:13px;max-width:260px}.character-cover-image>span{font-size:10px;bottom:13px;left:17px}.character-facts{grid-template-columns:1fr 1fr;gap:18px;padding:21px 24px}.character-facts>div+div{padding-left:0;border-left:0}.character-facts dt{font-size:8px;letter-spacing:1px}.character-facts dd{font-size:18px}.character-dossier-body{grid-template-columns:1fr;gap:35px;padding:28px 24px}.character-story p{font-size:13px}.character-story>section{gap:13px}.character-story h3,.character-gallery h3{font-size:25px}.character-connections>div{gap:16px}.character-connections p{font-size:11px}.character-gallery-heading>span{font-size:8px}.character-photo-grid>button{aspect-ratio:1.45}.character-dossier-footer{display:block;padding:25px 24px}#character-switch{width:100%;margin-top:25px;padding:16px}.character-photo-caption{padding:14px 16px;display:block}.character-photo-controls{margin-top:14px;justify-content:space-between}.character-photo-controls>span{margin-right:auto}.character-photo-caption strong{font-size:18px}.character-photo-stage{padding:5px}.character-back{font-size:10px;gap:7px}}
@media(prefers-reduced-motion:reduce){.character-cover-image>img,.character-photo-grid img{transition:none!important;transform:none!important}}
.motion-paused .character-cover-image>img,.motion-paused .character-photo-grid img{transition:none;transform:none!important}
