/* PPP first-class navigation */
.main-nav .ppp-nav{border-left:1px solid #574566;padding-left:clamp(16px,2.7vw,36px);color:var(--ppp-nav-colour,var(--lilac));transition:color 180ms ease}
.main-nav .ppp-nav[aria-current=page]{color:var(--ppp-nav-colour,var(--lilac))}

/* Larger character cards with a soft echo of the portrait behind the copy. */
.ppp-archive{grid-template-columns:minmax(320px,410px) minmax(0,1fr)}
.ppp-characters{padding:0;overflow:hidden;border-color:#302636;background:#120f15;color:#fff}
.ppp-character-tabs{position:relative;z-index:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:11px;background:#120f15;border-bottom:1px solid #302636}
.ppp-character-tabs button{display:grid;justify-items:center;gap:7px;padding:7px 4px 9px;border:0;background:transparent;color:#d8d0dc;font-size:.82rem;transition:transform .18s ease,background .18s ease,color .18s ease}
.ppp-character-tabs button:is(:hover,:focus-visible){transform:translateY(-2px);outline:none;background:#211a26;color:#fff}
.ppp-character-tabs button[aria-selected=true]{background:#2d2135;border:0;color:#d7b5ee}
.ppp-character-tabs img{width:clamp(88px,8vw,108px);height:clamp(88px,8vw,108px);border-radius:13px;object-fit:cover;box-shadow:0 7px 18px #34203f22}
.ppp-character-copy{position:relative;margin:0;padding:0;border:0}
.ppp-character-copy article{position:relative;isolation:isolate;min-height:310px;overflow:hidden;display:flex;align-items:flex-end;background:#16101b;color:#fff}
.ppp-character-copy article[hidden]{display:none!important}
.ppp-character-backdrop{position:absolute;z-index:-2;inset:-18px;background-image:var(--character-image);background-size:cover;background-position:center;filter:blur(8px) saturate(.95);opacity:.78;transform:scale(1.07)}
.ppp-character-copy article:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#100b12c9 0%,#100b1294 52%,#100b1238 100%),linear-gradient(0deg,#100b12c7 0%,transparent 70%);pointer-events:none}
.ppp-character-details{width:100%;padding:28px 26px 29px}
.ppp-character-details h3{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}
.ppp-character-details>strong{display:block;margin:7px 0 0;color:#d6b8eb}
.ppp-character-details>p{margin-top:12px;color:#eee7f1;font-size:.93rem;line-height:1.55}
.ppp-traits{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 0;padding:0;list-style:none}
.ppp-traits li{border:1px solid #bb9bcf88;border-radius:999px;background:#160f1f99;padding:5px 10px;color:#f5edf8;font-size:.72rem;font-weight:800}

/* Homepage comic stack */
.home-ppp-promo{--footer-offset:0px;position:fixed;z-index:30;right:clamp(18px,2vw,30px);bottom:calc(22px + var(--footer-offset));display:block;width:clamp(230px,19vw,290px);height:clamp(255px,22vw,325px);color:var(--lilac);opacity:0;transform:translateY(12px);transition:opacity .38s ease,transform .38s ease,bottom .22s ease}
.home-ppp-promo.is-ready{opacity:1;transform:none}
.home-ppp-covers{position:absolute;inset:0 0 48px 0}
.home-ppp-cover{position:absolute;right:0;bottom:0;width:49%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 15px 28px #000b;transform-origin:bottom right;transition:transform .22s ease,box-shadow .22s ease}
.home-ppp-cover:nth-child(1){z-index:3;transform:rotate(1deg)}
.home-ppp-cover:nth-child(2){z-index:2;right:26%;bottom:9%;transform:rotate(-5deg) scale(.96)}
.home-ppp-cover:nth-child(3){z-index:1;right:49%;bottom:17%;transform:rotate(6deg) scale(.91)}
.home-ppp-brand{position:absolute;z-index:4;right:-2px;bottom:14px;display:grid;justify-items:end;gap:2px;width:76%}
.home-ppp-brand img{display:block;max-width:100%;max-height:72px;object-fit:contain;filter:drop-shadow(0 2px 6px #000)}
.home-ppp-brand span{font-size:.78rem;font-weight:900;text-shadow:0 1px 4px #000;transition:color 180ms ease}
.home-ppp-promo:is(:hover,:focus-visible){text-decoration:none;outline:none}
.home-ppp-promo:focus-visible .home-ppp-brand span{text-decoration:underline;text-underline-offset:4px}
.home-ppp-promo:is(:hover,:focus-visible) .home-ppp-cover:nth-child(1){transform:translate(-2px,-5px) rotate(2deg)}
.home-ppp-promo:is(:hover,:focus-visible) .home-ppp-cover:nth-child(2){transform:translate(-8px,-8px) rotate(-7deg) scale(.96)}
.home-ppp-promo:is(:hover,:focus-visible) .home-ppp-cover:nth-child(3){transform:translate(-12px,-13px) rotate(8deg) scale(.91)}
.home-ppp-promo:is(:hover,:focus-visible) .home-ppp-brand span{color:#c5a2f2}
@media(max-width:800px){.main-nav .ppp-nav{border-left:0;border-top:1px solid #574566;padding:11px 11px 9px}.home-ppp-promo{position:relative;right:auto;bottom:auto;width:100%;height:150px;margin:22px 0 0;display:grid;grid-template-columns:180px 1fr;align-items:center;border-top:1px solid #392b44;border-bottom:1px solid #392b44;transform:none}.home-ppp-covers{position:relative;inset:auto;width:170px;height:142px}.home-ppp-cover{width:70px}.home-ppp-cover:nth-child(1){right:8px}.home-ppp-cover:nth-child(2){right:55px;bottom:8px}.home-ppp-cover:nth-child(3){right:98px;bottom:14px}.home-ppp-brand{position:relative;right:auto;bottom:auto;width:100%;justify-items:start;padding-left:5px}.home-ppp-brand img{max-height:58px}}
@media(max-width:650px){.ppp-archive{display:block}.ppp-characters{margin-bottom:34px}.ppp-character-copy article{min-height:300px}.ppp-character-tabs img{width:clamp(76px,24vw,96px);height:clamp(76px,24vw,96px)}.ppp-character-details{padding:24px 21px 26px}}
@media(prefers-reduced-motion:reduce){.home-ppp-promo,.home-ppp-cover,.home-ppp-brand span{transition:none}.home-ppp-promo{transform:none}}

/* Growing archive: thirteen issues per volume, with intentional placeholders. */
.ppp-index{display:grid!important;gap:8px}
.ppp-index-volume{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px;min-width:max-content}
.ppp-index-volume>small{color:#746b77;font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.ppp-index-volume>div{display:flex;align-items:center;gap:9px}
.ppp-volume+.ppp-volume{margin-top:42px;padding-top:30px;border-top:1px solid #302a34}
.ppp-volume-heading{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 15px;color:#eee8f1}
.ppp-volume-heading>span{font-size:1.05rem;font-weight:900}.ppp-volume-heading>small{color:#8f8792}
.ppp-coming-cover{position:relative;isolation:isolate;display:block;width:100%;aspect-ratio:2178/3072;overflow:hidden;border:1px solid #493757;border-radius:9px;background:#151019}
.ppp-coming-cover:before{content:'';position:absolute;z-index:-2;inset:-18px;background-image:var(--coming-image);background-size:cover;background-position:center;filter:blur(18px);opacity:.42;transform:scale(1.12)}
.ppp-coming-cover:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(#0b080d80,#0b080dcc)}
.ppp-viewer-image img.is-coming{filter:blur(12px) brightness(.55);transform:scale(1.03);cursor:default}.ppp-viewer-image img.is-coming:hover{transform:scale(1.03)}
.ppp-download{position:relative;isolation:isolate;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;padding:0!important;background:#120d16!important}
.ppp-download-backdrop{position:absolute;z-index:-2;inset:-24px;background-image:var(--download-image);background-size:cover;background-position:center;filter:blur(15px);opacity:.56;transform:scale(1.08)}
.ppp-download:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0b080ded 0%,#0b080db8 58%,#0b080d52 100%)}
.ppp-download-copy{width:min(100%,720px);padding:clamp(26px,5vw,52px)}
.ppp-download-copy h2{margin:.18em 0 .28em;text-transform:none}.ppp-download-copy>p:not(.ppp-label){color:#eee8f1!important}
.ppp-character-copy article{border-bottom:2px solid #120f15;transform:translateZ(0)}
@media(max-width:650px){.ppp-index{justify-content:flex-start!important;overflow-x:auto}.ppp-index-volume{grid-template-columns:58px minmax(0,1fr)}.ppp-volume+.ppp-volume{margin-top:32px;padding-top:24px}.ppp-download{min-height:320px}.ppp-download:after{background:linear-gradient(0deg,#0b080df2,#0b080d70)}.ppp-download-copy{padding:25px 21px}.ppp-characters{border-bottom-color:#120f15}}

/* One continuous collection with a compact 25/75 character rail. */
.ppp-archive{grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:clamp(18px,2.5vw,34px)}
.ppp-index{display:grid!important;gap:8px;overflow-x:auto}
.ppp-index>div{display:flex;align-items:center;justify-content:center;gap:9px;min-width:max-content}
.ppp-index-empty{color:#3e3941;font-weight:800;padding:5px 2px}
.ppp-download{min-height:270px;margin:16px;border:1px solid #493757;border-radius:14px;padding:0!important;background:#120d16!important}
.ppp-download-backdrop{filter:blur(10px);opacity:.58}
.ppp-download:after{background:linear-gradient(0deg,#0b080df0,#0b080d78)}
.ppp-download-copy{width:100%;padding:22px 18px}
.ppp-download-copy h2{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.05}
.ppp-download-copy>p{font-size:.82rem!important;line-height:1.45}
.ppp-download .ppp-gallery-meta{margin:13px 0 8px}
.ppp-download .ppp-gallery-meta span{padding:5px 8px;font-size:.7rem}
.ppp-download a{display:inline!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;color:#d6b8eb!important;font-size:.82rem;font-weight:900;text-decoration:none}
.ppp-download a:is(:hover,:focus-visible){color:#fff!important;text-decoration:underline;text-underline-offset:4px}
@media (min-width:481px) and (max-width:650px){.ppp-archive{display:grid}.ppp-character-tabs img{width:clamp(42px,7vw,58px);height:clamp(42px,7vw,58px)}.ppp-character-tabs span{font-size:.68rem}.ppp-character-details{padding:20px 16px 22px}.ppp-character-details h3{font-size:1.55rem}.ppp-character-details>p{font-size:.82rem}.ppp-download{margin:12px;min-height:240px}.ppp-download-copy{padding:18px 14px}}
@media(max-width:480px){.ppp-archive{display:block}.ppp-characters{margin-bottom:34px}.ppp-download{min-height:250px}.ppp-index>div{justify-content:flex-start}}
