/* PDF palette, plus the user-authorized variation across every chapter. */
:root{--nav-bg:#edf2ef;--nav-ink:#24222b;--nav-accent:#404d62}
.site-header,.site-header.scrolled,.site-header.dark{color:var(--nav-ink);background:linear-gradient(var(--nav-bg) 70%,transparent);transition:none}
.site-header nav a[aria-current]{color:var(--nav-accent);border-color:currentColor}
.site-header .brand span{color:inherit}.site-header button{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.chapter{scroll-margin-top:76px}
.opening:after{content:'';position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#404d62,#998ea2,#ddbeca);pointer-events:none}
.hero-definition,.hero-bottom .next-link{background:linear-gradient(115deg,#edf2efef,#e7d6e1f2);color:#24222b;border-color:#404d62}

.identity{--identity-color:#404d62;--identity-edge:#4b576a;--identity-ink:#f8f2ec}
.identity-stage{background:radial-gradient(ellipse at 4% 85%,var(--identity-edge),transparent 65%),var(--identity-color);color:var(--identity-ink)}
.identity-stage:before{background:none;border:1px solid currentColor;opacity:.15}
.identity .type-wall{color:inherit;opacity:.07}.identity .trait-en{color:inherit;opacity:.42}
.trait h3,.trait p,.trait-number,.trait h3 span,.identity .section-top{color:inherit}
.trait-index button{color:inherit;border-color:currentColor}.trait-index button[aria-pressed=true]{background:transparent;color:inherit;text-decoration:underline;text-underline-offset:7px}
.identity-cast,.identity-cast .actor-shell{mix-blend-mode:normal}
.identity-cast .actor-shell{background:#fff;padding:18px;box-shadow:14px 16px 0 #24222b18;border:1px solid #ffffff80}
.identity-cast .actor-shell:has(.sprite-reference){background:transparent;padding:0;border:0;box-shadow:none}
.identity-cast .cast-sprite{margin:auto;max-height:40vh}
.identity-cast-label{margin-top:20px;color:inherit}
.sprite-reference,.sprite-collection{aspect-ratio:auto!important;overflow:visible;clip-path:none!important}
.sprite-reference img,.sprite-collection img{position:static!important;width:100%!important;height:auto!important;display:block;object-fit:contain!important}
.identity-cast .sprite-reference{max-width:360px}.identity-cast .sprite-reference img{max-height:38vh;width:auto!important;margin:auto}.identity .story-thread{border-color:currentColor;opacity:.45}.identity .story-thread i{background:currentColor}

/* Interest chapter is owned by narrative.css. */

.voice-stage{background:radial-gradient(ellipse at 94% 16%,#40364f,transparent 64%),radial-gradient(ellipse at 82% 90%,#28465b,transparent 65%),#142e40;color:#f8f2ec}
.voice h2{color:#d7c8f5}.voice h2>span,.voice-turn,.voice-corner{color:#f8f2ec}.voice-rings{color:#7b98c6;opacity:.3}
.voice-cast span{background:#28465b;color:#f8f2ec}.voice-transcript,.voice-bottom{color:#f8f2ec}.wave-muted{stroke:#7b98c6}.wave-drawn{stroke:#d7c8f5}
.voice-stage:after{content:'';position:absolute;bottom:0;left:0;right:0;height:7vh;background:linear-gradient(transparent,#121212);pointer-events:none}
body[data-edition=intro] .voice-stage:after{height:4px;background:linear-gradient(90deg,#40364f,#a37070,#f3e8dc)}

.candidacy{background:radial-gradient(ellipse at 94% 18%,#2b1c25,#121212 65%);color:#f3e8dc;min-height:100vh}
.candidacy .section-top h2,.position-lines p{color:#e89aae}.position-lines p span{color:#c6b9bf}.chapter-link{color:#f3e8dc}
.evidence-line{color:#f3e8dc;border-color:#68505d;margin-left:32vw;margin-top:7vh;display:block;line-height:2}
.evidence-line span{display:block}
.feedback-print{margin:0;mix-blend-mode:normal;opacity:1}
.feedback-print img{display:block;width:100%;height:auto;object-fit:contain}
.election-cast{top:35vh;left:7vw;width:min(23vw,35vh);mix-blend-mode:normal}
.candidacy:after{content:'';position:absolute;bottom:0;left:6vw;width:20vw;height:4px;background:#e5d5de}

.resources{background:radial-gradient(ellipse at 0% 20%,#e5d5de,transparent 58%),radial-gradient(ellipse at 100% 85%,#dce5ee,transparent 60%),#edf2ef;color:#24222b}
.resource-heading h2{color:#404d62}.resource-heading>p{color:#24222b}
.resource-cast{mix-blend-mode:normal;background:#fff;border-radius:50% 50% 0 0;padding:10px;bottom:25px}
.archive,.archive-entry{color:#24222b}.archive-spine{color:#404d62;background:linear-gradient(95deg,#e5d5de88,#dce5ee88);padding-left:16px;border-color:#9c91a0}
.archive-entry{padding-left:16px;border-color:#afa5af}.archive-entry[aria-expanded=true]{background:#fbf7f1;border-left:3px solid #6e5b9a;padding-left:13px}
.archive-entry:hover{background:#fbf7f1b3}.archive-detail{background:linear-gradient(110deg,#fbf7f1,#edf2ef);color:#24222b;border-color:#afa5af}
.archive-detail>span,.archive-detail>p{color:#24222b}.archive-footnote{color:#404d62}.tem-index{color:#404d6230}

.talks{background:radial-gradient(ellipse at 94% 24%,#1b2938,#121212 65%);color:#e4ebf5;min-height:100vh}
.talks h2{color:#7b98c6}.talk-copy,.talk-copy .talk-closing{color:#e4ebf5}.talk-copy li{border-color:#53647b}.talk-copy li span{color:#7b98c6}
.talk-cast{left:9vw;bottom:7vh;width:min(22vw,29vh);mix-blend-mode:normal}.talk-path{color:#7b98c633}
.talks:after{content:'';position:absolute;bottom:0;right:6vw;width:20vw;height:4px;background:#f3e8dc}
.finale{background:radial-gradient(ellipse at 95% 85%,#e8d8cf,transparent 66%),linear-gradient(125deg,#fbf7f1,#f3e8dc 55%);color:#7c5151}
.finale:before{border-color:#a37070;opacity:.22}.finale blockquote{color:#a37070}.finale-lead,.finale-bottom{color:#7c5151}.finale-bottom{border-color:#a3707070}
.curtain-cast{width:19vw;max-width:310px;right:5vw;bottom:17vh;mix-blend-mode:normal;background:#fff;padding:10px;transform:rotate(5deg);box-shadow:8px 10px 0 #a370701a}
.page-footer{color:#7c5151;background:linear-gradient(95deg,#f3e8dc,#e8d8cf)}
dialog{color:var(--nav-ink);background:var(--nav-bg);border:1px solid #998ea260}dialog::backdrop{background:#161322d9}
.art-dialog-body figure{background:#211b22}.art-dialog-body figure img{mix-blend-mode:normal}.art-dialog-body figcaption{color:#f8f2ec}
.art-info{color:var(--nav-ink)}.art-choices button{color:inherit}.art-choices button[aria-pressed=true]{color:var(--nav-accent);border-color:currentColor}.art-hint{color:inherit;opacity:1}
@media(min-width:901px){
 .low-motion .identity-stage{background:linear-gradient(150deg,#404d62,#998ea2 55%,#ddbeca);color:#f8f2ec}
 .low-motion .trait{color:#24222b;background:#f8f2ec;padding:35px;margin-bottom:28px}
 .low-motion .identity-cast{top:35vh}.low-motion .identity-cast .actor-shell{position:static}
}
@media(max-height:850px) and (min-width:901px){
 .candidacy .evidence-line{font-size:17px}.curtain-cast{width:16vw}
}
@media(max-width:900px){
 .room-photo{background-image:linear-gradient(145deg,#e0f0fa,#edf2ef 42%,#e7d6e1);background-size:auto 66%,cover;background-position:65% bottom,center}
 .identity-stage,.low-motion .identity-stage{background:linear-gradient(155deg,#404d62,#998ea2 57%,#ddbeca);color:#f8f2ec}
 .identity-cast .actor-shell{padding:12px}.identity-cast .cast-sprite{max-height:none}.identity-cast-label{margin-top:16px}
 .identity .traits{margin-top:60px}.identity .trait{color:#24222b;background:#f8f2ec;padding:25px 18px;margin-bottom:28px;min-height:220px}
 .identity .trait-en{display:none}.identity .trait h3{font-size:40px}.identity .trait h3 span{font-size:30px}
 .voice h2{font-size:34vw}.voice-cast{opacity:1}.voice-cast span{color:#f8f2ec;background:#28465b}
 .candidacy{padding-top:310px;min-height:1180px}.position-lines p{font-size:35px;line-height:2.2}.position-lines span{width:24vw;font-size:12px}
 .election-cast{top:505px;left:24vw;width:52vw;max-width:270px}.evidence-line{margin-left:0;margin-top:380px;font-size:16px;line-height:2}
 .resource-cast{bottom:auto;padding:12px}.archive{margin-top:35px}.archive-detail{height:180px}.archive-entry{padding-right:10px}
 .talks{min-height:1370px}.talks h2{font-size:82px}.talk-copy{font-size:20px}.talk-copy li{font-size:18px}.talk-cast{left:24vw;bottom:65px;width:52vw;max-width:270px}
 .finale{min-height:940px}.finale blockquote{margin:85px 0 330px}.finale blockquote strong{font-size:31px;white-space:normal}.finale blockquote span{font-size:22px}
 .curtain-cast{right:10vw;bottom:175px;width:50vw;max-width:240px}.finale-bottom{position:absolute;left:6vw;right:6vw;bottom:45px}.page-footer{gap:14px}
}
