/* Character introductions, namecards, and opt-in spoilers. */
.roster-hint{max-width:820px;color:#a8aebc;font-size:14px;line-height:1.9;margin:-12px 0 30px}
.person-label .person-summary{color:#adb2bf;font-size:12px;line-height:1.8;margin:10px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.person-label .person-more{display:block;color:#d6a1aa;font-size:11px;margin-top:10px}
.profile-dialog{width:min(1160px,calc(100vw - 48px));max-height:calc(100svh - 48px);background:linear-gradient(140deg,#181720,#0d1018 72%);overflow:auto;overscroll-behavior:contain}
.profile-dialog[open]{display:block;grid-template-columns:none}
.profile-close{position:sticky;float:right;top:12px;margin:12px 12px 0 0;border:1px solid #ffffff30;border-radius:50%;background:#0d1018e8;right:auto}
.profile-heading{padding:44px 46px 25px;border-bottom:1px solid var(--line);margin:0 0 32px;clear:none}
.profile-heading .eyebrow{margin:0;color:#c38895}
.profile-heading h2{font-family:var(--serif);font-size:38px;font-weight:600;letter-spacing:-.045em;line-height:1.5;margin:10px 42px 12px 0}
.profile-style{color:#a5adbc;font-size:13px;line-height:1.8;margin:0}
.profile-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding:0 46px 46px;align-items:start;clear:both}
.profile-copy,.profile-card{min-width:0}
.profile-intro{color:#d2d6df;font-size:16px;line-height:2;margin:0 0 30px;word-break:keep-all;overflow-wrap:anywhere}
.profile-section{margin:0 0 27px}
.profile-section h3,.spoiler-content h3{font-size:16px;font-weight:500;color:#f0e4e8;line-height:1.6;margin:0 0 10px}
.profile-section h3{display:flex;align-items:center;gap:9px}
.profile-section h3::before{content:'';width:4px;height:4px;background:#c38895;flex:none}
.profile-section p,.spoiler-content p{color:#adb5c4;font-size:14px;line-height:2;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.profile-card{position:sticky;top:30px}
.profile-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px}
.profile-card-heading h3{font-size:14px;font-weight:500;color:#e3e5ec;margin:0}
.profile-card-heading>span{font-size:11px;color:#939bab}
.profile-namecard{display:block;width:100%;padding:0;background:#090b10;border:1px solid #ffffff25;text-align:left;overflow:hidden}
.profile-namecard img{display:block;width:100%;height:auto}
.profile-namecard>span{display:block;color:#d9b4bd;font-size:12px;line-height:1.6;padding:13px 16px;border-top:1px solid #ffffff12}
.profile-namecard:hover{border-color:#c38895}.profile-namecard:hover>span{color:#fff}
.profile-card-error{font-size:13px;color:#d4b0b8;line-height:1.8}
.spoiler-details{border:1px solid #9e46594a;background:#501e2b10}
.spoiler-details>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:19px 21px;cursor:pointer;color:#e0d0d6;line-height:1.7}
.spoiler-details>summary::-webkit-details-marker{display:none}
.spoiler-details>summary:hover{background:#a84e6510}
.spoiler-badge{display:inline-block;color:#e5a8b8;border:1px solid #bf68804a;background:#b8597110;padding:3px 8px;font-size:10px;letter-spacing:.03em;flex:none}
.spoiler-label{flex:1;min-width:0;font-size:14px;font-weight:500}
.spoiler-label small{font-size:10px;color:#a67b89;letter-spacing:.1em;display:inline-block;margin-right:12px}
.spoiler-indicator{flex:none;width:14px;text-align:center;color:#d68da1;font-size:20px;font-weight:300}
.spoiler-indicator::after{content:'+'}.spoiler-details[open]>summary .spoiler-indicator::after{content:'−'}
.spoiler-content{border-top:1px solid #bf688029;padding:23px 24px 26px}
.spoiler-content section+section{margin-top:25px}
.spoiler-content .spoiler-notice{font-size:12px;color:#c993a3;margin:0 0 22px}
.spoiler-content .spoiler-footnote{font-size:12px;color:#8f94a3;margin:22px 0 0;border-top:1px solid #ffffff12;padding-top:16px}
.world-secrets{border-top:1px solid var(--line);margin-top:76px;padding-top:55px;scroll-margin-top:105px}
.world-secrets .archive-heading{margin-bottom:25px}
.secret-reader-note{color:#919baa;font-size:13px;line-height:1.9;max-width:760px;margin:0 0 27px}
.secret-archive{display:grid;gap:12px}
.secret-canon .secret-intro{color:#e2c1cc;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #ffffff13}
.secret-canon p+p,.secret-canon p+ul,.secret-canon ul+p{margin-top:20px}
.secret-canon ul{margin:0;padding-left:20px;color:#adb5c4;font-size:14px;line-height:2;overflow-wrap:anywhere}
.secret-canon li+li{margin-top:10px}.secret-canon strong{color:#d6dae3;font-weight:500}
.person-spoiler{margin-top:32px}
@media(max-width:800px){.profile-dialog{width:calc(100vw - 28px);max-height:calc(100svh - 28px)}.profile-heading{padding:34px 27px 23px;margin-bottom:25px}.profile-heading h2{font-size:30px}.profile-grid{display:flex;flex-direction:column;gap:27px;padding:0 27px 30px}.profile-copy{display:contents}.profile-card{order:1;position:static;max-width:490px;width:100%;margin:0 auto}.profile-intro{order:0;font-size:15px;margin:0}.profile-section p,.spoiler-content p{font-size:14px}.profile-section{order:2;width:100%;margin:0}.person-spoiler{order:3;width:100%;margin:0}.world-secrets{margin-top:52px;padding-top:38px}.spoiler-details>summary{padding:17px 16px;gap:10px}.spoiler-content{padding:20px 18px 23px}}
@media(max-width:420px){.profile-dialog{width:calc(100vw - 16px);max-height:calc(100svh - 16px)}.profile-heading{padding:30px 20px 22px}.profile-heading h2{font-size:27px}.profile-grid{padding:0 20px 26px}.profile-close{top:8px;margin:8px 8px 0 0;width:38px;height:38px}.spoiler-badge{font-size:9px;padding:3px 6px}.spoiler-label{font-size:13px}.spoiler-label small{display:none}.person-label .person-summary{font-size:11px}}

.secret-topic{max-width:920px}.secret-topic h4{color:#e3c7d1;font-size:15px;font-weight:500;line-height:1.8;margin:0 0 11px}.secret-topic+.secret-topic{margin-top:27px}.secret-topic p+p{margin-top:13px}

.profile-extra{border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;margin-top:29px}.profile-extra>summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:18px 0;color:#cad2df;font-size:14px;line-height:1.7}.profile-extra>summary::-webkit-details-marker{display:none}.profile-extra>summary::after{content:"+";color:#c38895}.profile-extra[open]>summary::after{content:"−"}.profile-extra-copy{padding:7px 0 22px}.profile-extra-copy section+section{margin-top:23px}.profile-extra-copy h3{font-size:15px;font-weight:500;color:#e2d8df;line-height:1.8;margin:0 0 9px}.profile-extra-copy p{color:#adb5c4;font-size:14px;line-height:2;margin:0;word-break:keep-all;overflow-wrap:anywhere}@media(max-width:800px){.profile-extra{order:2;width:100%;margin-top:0}}
