.challenge-page-shell{width:min(var(--wr-width-article),calc(100% - 32px));margin:32px auto 64px}
.challenge-banner{display:flex;align-items:center;gap:var(--wr-space-6);padding:var(--wr-space-6);margin:var(--wr-space-4) 0 var(--wr-space-2);border:1px solid var(--wr-line);border-radius:var(--wr-radius-card);background:var(--wr-surface);text-decoration:none}
.challenge-banner:hover{border-color:var(--wr-green);background:var(--wr-green-soft)}
.challenge-number{display:grid;place-items:center;width:64px;height:64px;flex:none;background:var(--wr-green-soft);border:1px solid var(--wr-line);border-radius:var(--wr-radius-control);font-size:var(--wr-text-section);font-weight:var(--wr-weight-bold);color:var(--wr-green-dark)}
.challenge-banner-copy{min-width:0;display:grid;gap:var(--wr-space-1)}
.challenge-banner-copy strong{font-size:var(--wr-text-subsection);color:var(--wr-ink)}
.challenge-banner-copy>span{font-size:var(--wr-text-body);color:var(--wr-ink-secondary)}
.challenge-cta{margin-left:auto;white-space:nowrap;font-size:var(--wr-text-body-compact);font-weight:var(--wr-weight-medium)}
.challenge-reference .challenge-entry p{white-space:pre-line;overflow-wrap:anywhere}
.challenge-reference [data-challenge-status]{font-size:var(--wr-text-meta);color:var(--wr-muted)}
@media(max-width:650px){.challenge-banner{gap:var(--wr-space-3);padding:var(--wr-space-4)}.challenge-number{width:48px;height:48px}.challenge-banner-copy strong{font-size:var(--wr-text-body)}.challenge-banner-copy>span{font-size:var(--wr-text-body-compact)}.challenge-cta{display:none}}
.hero .hero-eyebrow{font-size:var(--wr-text-subsection);font-weight:var(--wr-weight-medium);line-height:var(--wr-leading-heading);color:var(--wr-ink-secondary);margin:0}
.hero .hero-date{margin:0}
.hero .hero-keyword{white-space:nowrap}
.hero .hero-description{min-height:0}
.challenge-banner{gap:var(--wr-space-4);padding:var(--wr-space-3) var(--wr-space-4);margin:var(--wr-space-4) 0 0}
.challenge-number{width:40px;height:40px;font-size:var(--wr-text-subsection)}
.challenge-banner-copy strong{font-size:var(--wr-text-body)}
.challenge-banner-copy>span{font-size:var(--wr-text-body-compact)}
main>.challenge-banner+.forecast-block{margin-top:var(--wr-space-8)}
@media(max-width:600px){main>.challenge-banner+.forecast-block{margin-top:var(--wr-space-6)}}
.prob-cell strong{font-size:var(--wr-text-section);font-weight:var(--wr-weight-medium);color:var(--wr-ink-secondary)}
.prob-cell em{font-size:var(--wr-text-body-compact)}

@media(max-width:650px){.hero .hero-eyebrow{font-size:var(--wr-text-body)}.challenge-banner{gap:var(--wr-space-3);padding:var(--wr-space-2) var(--wr-space-3)}.challenge-number{width:32px;height:32px;font-size:var(--wr-text-body)}.challenge-banner-copy>span{font-size:var(--wr-text-meta)}}

.recharge-card{display:flex;flex-direction:column;gap:var(--wr-space-3);padding:var(--wr-space-3);margin:0 0 var(--wr-space-4);background:var(--wr-surface);border:1px solid var(--wr-line);border-radius:var(--wr-radius-control);color:var(--wr-ink)}
.recharge-card h2{margin:0;font-size:var(--wr-text-body);font-weight:var(--wr-weight-semibold);line-height:var(--wr-leading-body)}
.recharge-card .plans{display:grid;gap:var(--wr-space-2);min-width:0;padding:0;margin:0;border:0;list-style:none}
.recharge-card .plans li{position:relative;display:flex;align-items:center;padding:0 32px 0 0;font-size:var(--wr-text-body-compact);line-height:var(--wr-leading-body);white-space:nowrap}
.recharge-card .wechat-entry{position:absolute;right:calc((20px - 32px)/2);top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border:0;background:transparent;color:var(--wr-green-dark);cursor:pointer}
.recharge-card .wechat-entry svg{display:block;width:20px;height:20px}
.recharge-qr-dialog{position:fixed;inset:0;margin:auto;width:min(300px,calc(100% - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:var(--wr-space-6);border:1px solid var(--wr-line);border-radius:var(--wr-radius-card);background:var(--wr-paper);color:var(--wr-ink);text-align:center}
.recharge-qr-dialog::backdrop{background:var(--wr-ink);opacity:.4}
.recharge-qr-dialog .recharge-close{position:absolute;right:var(--wr-space-2);top:var(--wr-space-2);width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--wr-green-dark);font-size:var(--wr-text-section);cursor:pointer}
.recharge-personal-qr{display:block;width:240px;max-width:100%;height:auto;margin:var(--wr-space-4) auto 0}
.recharge-personal-qr[hidden]{display:none}
.recharge-qr-dialog p{margin:var(--wr-space-4) 0 0;font-size:var(--wr-text-body-compact);line-height:var(--wr-leading-body);color:var(--wr-ink-secondary)}
.recharge-qr-dialog [role=status]:empty{display:none}
.recharge-card button:focus-visible,.recharge-qr-dialog button:focus-visible{outline:2px solid var(--wr-focus);outline-offset:4px}

/* R155: one top-up card, with all four plans available at every width. */
body:has(.affiliate-services)>.page{width:min(var(--wr-width-site),calc(100% - 32px));margin-inline:auto}
@media(min-width:1024px){body:has(.affiliate-services)>.page[data-affiliate-reserved]{width:min(var(--wr-width-site),calc(100% - 454px))}}
.affiliate-services{width:100%;box-sizing:border-box;margin:var(--wr-space-6) auto;grid-column:1/-1;text-align:left}
.affiliate-rail{width:272px;max-width:100%}
.affiliate-services .recharge-card{margin:0;box-sizing:border-box}
.affiliate-services .affiliate-toggle{display:none}
.affiliate-services[data-layout="side"]{height:0;margin:0;padding:0}
.affiliate-services[data-layout="side"] .affiliate-rail{position:fixed;left:var(--wr-space-4);bottom:var(--wr-space-4);width:187px;z-index:20}
.affiliate-services[data-layout="mobile"]{position:fixed;left:env(safe-area-inset-left,0px);bottom:calc(var(--wr-space-6) + env(safe-area-inset-bottom,0px));width:auto;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px));margin:0;z-index:30}
.affiliate-services[data-layout="mobile"] .affiliate-toggle{display:block;min-height:44px;padding:var(--wr-space-2) var(--wr-space-3);border:1px solid var(--wr-line);border-radius:0 var(--wr-radius-control) var(--wr-radius-control) 0;background:var(--wr-green-soft);color:var(--wr-green-dark);font:inherit;font-size:var(--wr-text-body-compact);font-weight:var(--wr-weight-semibold);cursor:pointer}
.affiliate-services[data-layout="mobile"] .affiliate-rail{display:none;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px));overflow:auto;margin-top:var(--wr-space-2)}
.affiliate-services[data-layout="mobile"].is-open .affiliate-rail{display:block}
.affiliate-services .plans li{min-height:32px}
.affiliate-toggle:focus-visible{outline:2px solid var(--wr-focus);outline-offset:2px}

/* Content pages never place the top-up card into the content flow. */
.affiliate-services[hidden]{display:none}
