/* Runner pages. Shares tokens, header, buttons, strip and footer with site.css. No inline styles: the host CSP forbids them. */
.runner-page main,.runner-index main{display:block}
.rp-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(32px,5vw,80px);align-items:center;min-height:min(92vh,860px);padding:150px var(--edge) 72px;background:radial-gradient(120% 90% at 85% 20%,#0f3f82 0%,var(--navy) 48%,var(--night) 100%);overflow:hidden}
.rp-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 118px,#ffffff08 118px 119px);pointer-events:none}
.rp-hero h1{font:900 clamp(64px,11vw,168px)/.86 var(--display);letter-spacing:-.01em;color:var(--cream);text-shadow:0 8px 0 #041426}
.rp-hero h1 em{font-style:normal;color:var(--gold)}
.rp-hero .hero-line{margin-top:18px;font:900 clamp(26px,3.4vw,44px)/1 var(--display);color:var(--cream)}
.rp-hero .hero-line em{font-style:normal;color:var(--red)}
.rp-lede{max-width:52ch;margin-top:22px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--muted)}
.rp-hero .actions{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-top:34px}
.rp-partner{margin-top:26px;font:700 11px/1.6 var(--mono);letter-spacing:.1em;color:var(--muted)}
.rp-partner a{color:var(--gold);border-bottom:1px solid currentColor}
.rp-stage{position:relative;justify-self:center;display:grid;place-items:center;width:min(100%,420px);aspect-ratio:1;background:radial-gradient(closest-side,#1c5bb8 0%,#0f3f82 45%,transparent 72%)}
.rp-sprite{position:relative;z-index:2;width:min(60%,240px)}
.rp-sprite img,.rp-card-sprite img,.rp-crew-sprite img{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 18px 14px #02091780)}
.rp-stage .runner-shadow{position:absolute;bottom:14%;width:46%;height:22px;background:#020a1a;border-radius:50%;filter:blur(10px);opacity:.75}
.rp-stage-tag{position:absolute;bottom:0;right:0;font:700 10px/1 var(--mono);letter-spacing:.14em;color:var(--muted);padding:10px 12px;border:1px solid #ffffff22}
.rp-stage-trio{grid-template-columns:repeat(3,1fr);align-items:end;width:min(100%,520px);aspect-ratio:1.3}
.rp-stage-trio .rp-sprite{width:88%}
.rp-stage-trio .rp-sprite:nth-child(2){width:100%;transform:translateY(-10%)}
.rp-stage-trio .runner-shadow{grid-column:1/-1;width:80%;bottom:8%;justify-self:center}
.section{padding:clamp(72px,9vw,128px) var(--edge)}
.rp-loot,.rp-howto,.rp-more{background:var(--cream);color:var(--navy)}
.rp-challenge,.rp-faqs,.rp-crew{background:var(--navy);color:var(--cream)}
.runner-index .rp-faqs{background:var(--cream);color:var(--navy)}
.runner-index .rp-roster{background:var(--cream);color:var(--navy)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.section-heading h2{font:900 clamp(44px,7vw,104px)/.9 var(--display);letter-spacing:-.01em}
.section-heading h2 span{display:block;color:var(--red)}
.section-heading h2 em{display:block;font-style:normal;color:var(--gold)}
.section-heading>p{font-size:clamp(15px,1.2vw,18px);line-height:1.65;max-width:46ch}
.rp-loot .section-heading>p{color:#3a4c63}
.rp-challenge .section-heading>p,.rp-faqs .section-heading>p,.rp-crew .section-heading>p{color:var(--muted)}
.rp-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:#09295122;border:1px solid #09295122}
.rp-items li{display:grid;justify-items:center;gap:10px;padding:28px 16px 22px;background:var(--cream);text-align:center;transition:background .18s,transform .18s}
.rp-items li:hover{background:#fff;transform:translateY(-3px)}
.rp-items img{width:96px;height:96px;filter:drop-shadow(0 10px 8px #09295133)}
.rp-items strong{font:900 20px/1 var(--display);letter-spacing:.02em}
.rp-items span{font:700 11px/1 var(--mono);letter-spacing:.12em;color:var(--red)}
.rp-goals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.rp-goals li{position:relative;display:grid;gap:12px;align-content:start;padding:30px 28px 26px;background:#0b315f;border:1px solid #ffffff14;box-shadow:inset 0 0 0 1px #ffffff08,0 18px 40px #02091740;transition:transform .2s,border-color .2s}
.rp-goals li:hover{transform:translateY(-4px);border-color:var(--gold)}
.rp-goals li span{font:700 11px/1 var(--mono);letter-spacing:.14em;color:var(--gold)}
.rp-goals strong{font:900 36px/.95 var(--display);letter-spacing:.01em}
.rp-goals p{color:var(--muted);line-height:1.55;min-height:3.1em}
.rp-goals b{display:inline-block;justify-self:start;padding:10px 14px;background:var(--gold);color:var(--night);font:900 22px/1 var(--display);box-shadow:0 4px 0 #d08813}
.rp-rule{margin-top:36px;padding-top:22px;border-top:1px solid #ffffff22;font:700 11px/1.7 var(--mono);letter-spacing:.1em;color:var(--muted);max-width:80ch}
.rp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:2px solid var(--navy)}
.rp-steps li{display:grid;gap:12px;align-content:start;padding:28px 24px 32px 0;border-bottom:1px solid #09295133}
.rp-steps li b{font:700 12px/1 var(--mono);letter-spacing:.14em;color:var(--red)}
.rp-steps strong{font:900 28px/1 var(--display)}
.rp-steps p{color:#3a4c63;line-height:1.55}
.rp-howto .actions{margin-top:48px}
.rp-faq-list{display:grid;gap:2px;max-width:900px}
.rp-faq{background:#0b315f;border:1px solid #ffffff14}
.runner-index .rp-faq{background:#fff;border-color:#09295122}
.rp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 26px;font:900 clamp(19px,1.6vw,24px)/1.1 var(--display);letter-spacing:.01em}
.rp-faq summary::-webkit-details-marker{display:none}
.rp-faq summary::after{content:'+';flex:none;font:900 28px/1 var(--display);color:var(--gold)}
.rp-faq[open] summary::after{content:'–'}
.runner-index .rp-faq summary::after{color:var(--red)}
.rp-faq summary:hover{color:var(--gold)}
.runner-index .rp-faq summary:hover{color:var(--red)}
.rp-faq p{padding:0 26px 26px;line-height:1.65;color:var(--muted);max-width:70ch}
.runner-index .rp-faq p{color:#3a4c63}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px;background:#09295122;border:1px solid #09295122}
.rp-card{position:relative;display:grid;gap:4px;justify-items:center;padding:30px 18px 24px;background:var(--cream);text-align:center;transition:background .18s,transform .18s}
.rp-card:hover{background:#fff;transform:translateY(-4px)}
.rp-card:hover strong{color:var(--red)}
.rp-card-sprite{width:88px;margin-bottom:8px}
.rp-card-id{position:absolute;top:12px;left:14px;font:700 10px/1 var(--mono);letter-spacing:.12em;color:#725736}
.rp-card strong{font:900 26px/1 var(--display);letter-spacing:.01em;transition:color .18s}
.rp-card-loot{font:700 10px/1.4 var(--mono);letter-spacing:.1em;color:var(--red)}
.rp-card-brand{font-size:12px;color:#3a4c63}
.rp-crew-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:18px 8px}
.rp-crew-list li{display:grid;justify-items:center;gap:8px;text-align:center}
.rp-crew-sprite{width:56px}
.rp-crew-list strong{font:900 15px/1 var(--display);letter-spacing:.03em;color:var(--muted)}
@media(max-width:900px){.rp-stage-tag{display:none}.rp-hero{grid-template-columns:1fr;padding-top:130px;min-height:0}.rp-stage{width:min(100%,320px);order:-1}.rp-stage-trio{aspect-ratio:1.4}.section-heading{grid-template-columns:1fr;align-items:start}}
@media(max-width:600px){.rp-hero{padding-top:120px}.rp-hero h1{font-size:clamp(56px,19vw,84px)}.rp-items{grid-template-columns:repeat(2,1fr)}.rp-steps li{padding-right:0}.rp-grid{grid-template-columns:repeat(2,1fr)}.rp-card{padding:24px 10px 20px}.rp-card strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.rp-items li,.rp-goals li,.rp-card{transition:none}.rp-items li:hover,.rp-goals li:hover,.rp-card:hover{transform:none}}
.rp-hero-index h1{font-size:clamp(56px,8.6vw,128px)}
