:root{--act-ink:#21172f;--act-purple:#7042e8;--act-purple-dark:#34205c;--act-lime:#dfff2f;--act-coral:#ff7465;--act-paper:#faf8f3;--act-line:rgba(47,27,84,.13)}

/* One visual language for every activity. */
body.choice-hub-page,body.mission-page,body.game-page{background:radial-gradient(circle at 8% 15%,rgba(223,255,47,.2),transparent 25%),radial-gradient(circle at 94% 12%,rgba(112,66,232,.14),transparent 28%),linear-gradient(180deg,#fbfaf6,#f3efe7)!important;color:var(--act-ink)!important}
body.choice-hub-page:before,body.mission-page:before,body.game-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 0 68%,rgba(112,66,232,.035) 68% 69%,transparent 69%)}

/* Activities landing: recognizable as one collection, with richer hover motion. */
.page-intro-play{position:relative!important;overflow:hidden!important}
.page-intro-play:after{content:"";position:absolute;right:clamp(-90px,-5vw,-30px);bottom:-120px;width:310px;height:310px;border:38px solid var(--act-lime);border-left-color:var(--act-purple);border-radius:50%;opacity:.62;transform:rotate(-18deg);pointer-events:none}
.page-intro-play>*{position:relative;z-index:1}
.experience{position:relative!important;overflow:hidden!important;transition:transform .28s cubic-bezier(.22,.75,.22,1),box-shadow .28s ease!important}
.experience:hover{transform:translateY(-7px)!important;box-shadow:0 28px 65px rgba(47,27,84,.14)!important}
.experience .experience-go{transition:transform .22s ease!important}
.experience:hover .experience-go{transform:translateX(5px)!important}

/* Missions hub */
.choice-hub-page .choice-hub-main{padding-top:clamp(96px,11vw,132px)!important}
.choice-hub-page .mission-intro{max-width:780px!important}
.choice-hub-page .mission-intro h2{color:var(--act-ink)!important;letter-spacing:-.055em!important}
.choice-hub-page .mission-category-tab{transition:color .2s ease,background .2s ease,transform .2s ease!important}
.choice-hub-page .mission-category-tab:hover{transform:translateY(-2px)}
.choice-hub-page .mission-card{overflow:hidden!important;transition:transform .24s cubic-bezier(.22,.75,.22,1),box-shadow .24s ease,border-color .2s ease!important}
.choice-hub-page .mission-card:after{content:"";position:absolute;inset:auto -35% -70% 35%;height:110%;background:radial-gradient(circle,rgba(223,255,47,.3),transparent 62%);opacity:0;transition:opacity .25s ease;pointer-events:none}
.choice-hub-page .mission-card:hover,.choice-hub-page .mission-card.is-active{transform:translateY(-4px)!important;box-shadow:0 22px 44px rgba(47,27,84,.13)!important}
.choice-hub-page .mission-card:hover:after,.choice-hub-page .mission-card.is-active:after{opacity:1}
.choice-hub-page .mission-preview{border-radius:30px!important;box-shadow:0 28px 70px rgba(47,27,84,.17)!important;overflow:hidden!important}
.choice-hub-page .mission-preview.is-switching>*{animation:activitySwap .34s cubic-bezier(.22,.75,.22,1) both}

/* Mission: no repeated sales card; the task is immediately visible. */
.mission-page .mission-shell{width:min(1120px,calc(100% - 32px))!important;padding:104px 0 76px!important}
.mission-page .mission-back{margin-bottom:22px!important;padding:9px 13px!important;border:1px solid var(--act-line)!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important}
.mission-page .mission-head{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr)!important;margin-bottom:22px!important;padding:clamp(22px,4vw,42px)!important;border:1px solid var(--act-line)!important;border-radius:32px!important;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(246,240,255,.82))!important;box-shadow:0 22px 65px rgba(47,27,84,.1)!important;overflow:hidden!important;position:relative!important}
.mission-page .mission-head:after{content:"";position:absolute;right:-45px;bottom:-65px;width:190px;height:190px;border:28px solid var(--act-lime);border-left-color:var(--act-purple);border-radius:50%;opacity:.72;transform:rotate(-20deg)}
.mission-page .mission-head>*,.mission-page .mission-head h1{position:relative;z-index:1}
.mission-page .mission-head h1{max-width:11ch!important;font-size:clamp(2.55rem,7vw,5.9rem)!important;color:var(--act-ink)!important}
.mission-page .mission-lead{padding-right:45px!important;color:rgba(33,23,47,.7)!important}
.mission-page .mission-board{grid-template-columns:minmax(0,1fr) 230px!important;align-items:start!important}
.mission-page .question-card{border-radius:30px!important;padding:clamp(18px,3vw,32px)!important;box-shadow:0 24px 65px rgba(47,27,84,.1)!important;animation:activityRise .55s cubic-bezier(.22,.75,.22,1) both}
.mission-page .mission-side{position:sticky!important;top:92px!important;border-radius:24px!important;padding:22px!important;background:var(--act-purple-dark)!important;color:#fff!important;box-shadow:10px 12px 0 rgba(112,66,232,.14)!important}
.mission-page .mission-side h3,.mission-page .mission-side>p:not(.side-label){display:none!important}
.mission-page .mission-side .side-label{color:var(--act-lime)!important}
.mission-page .mission-side ul{margin:12px 0 0!important;padding:0!important;list-style:none!important;color:rgba(255,255,255,.78)!important}
.mission-page .mission-side li{padding:10px 0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;font-size:.9rem!important}
.mission-page .mission-side li:last-child{border-bottom:0!important}
.mission-page .scene{background:linear-gradient(145deg,#eee6ff,#fbfaf7 55%,#edffc2)!important;border:0!important;border-radius:24px!important;box-shadow:inset 0 0 0 1px rgba(47,27,84,.09)!important}
.mission-page .scene svg{animation:activityScene .42s ease-out both}
.mission-page .mission-scene-svg .scene-actors{transform-origin:center;animation:missionActorsIn .32s cubic-bezier(.22,.75,.22,1) both}
.mission-page .answer{min-height:58px!important;background:#fff!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(47,27,84,.05)!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important}
.mission-page .answer:hover{transform:translateY(-2px)!important;box-shadow:0 13px 28px rgba(47,27,84,.1)!important}

/* Road game: remove duplicate navigation and turn the controls into one focused cockpit. */
body.game-page .interactive-main{width:min(1040px,calc(100% - 32px))!important;margin:auto!important;padding:104px 0 72px!important}
body.game-page .game-top{display:none!important}
body.game-page .site-back-link{display:inline-flex!important;margin:0 0 22px!important;padding:9px 13px!important;background:rgba(255,255,255,.72)!important;border:1px solid var(--act-line)!important;border-radius:999px!important;color:var(--act-purple-dark)!important;text-decoration:none!important}
body.game-page .hero{position:relative!important;margin:0 0 18px!important;padding:clamp(25px,5vw,52px)!important;border:1px solid var(--act-line)!important;border-radius:32px!important;background:linear-gradient(135deg,var(--act-purple-dark),#17111f)!important;text-align:left!important;overflow:hidden!important;box-shadow:0 28px 70px rgba(47,27,84,.19)!important}
body.game-page .hero:after{content:"";position:absolute;right:-42px;bottom:-78px;width:230px;height:230px;border:32px solid var(--act-lime);border-left-color:var(--act-purple);border-radius:50%;opacity:.8;transform:rotate(-18deg)}
body.game-page .hero>*{position:relative;z-index:1}
body.game-page .hero h1{max-width:760px!important;margin:0 0 18px!important;color:#fff!important;font:800 clamp(2.45rem,7vw,5.7rem)/.92 'Space Grotesk',Manrope,sans-serif!important;letter-spacing:-.06em!important}
body.game-page .hero p{max-width:650px!important;margin:0 0 24px!important;color:rgba(255,255,255,.7)!important;font-size:clamp(1rem,2vw,1.18rem)!important}
body.game-page .mode-row{justify-content:flex-start!important;margin:0!important}
body.game-page .mode-btn{min-height:54px!important;padding:13px 22px!important;border-radius:15px!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.2)!important}
body.game-page .mode-btn.active,body.game-page .mode-btn:hover{background:var(--act-lime)!important;color:var(--act-ink)!important;border-color:var(--act-lime)!important;transform:translateY(-2px)}
body.game-page .control-row.show{display:grid!important;grid-template-columns:1.4fr 1fr 1fr!important;gap:10px!important;margin:14px 0!important}
body.game-page .control-row .control-btn{min-height:52px!important;border-radius:15px!important}
body.game-page #changeBtnTop{display:none!important}
body.game-page .scene{border:0!important;border-radius:28px!important;box-shadow:0 28px 70px rgba(47,27,84,.2)!important}
body.game-page .scene.playing .road3d:after{animation-duration:1.15s!important;animation-timing-function:linear!important}
body.game-page .scene.playing:not(.driver) .player{animation-duration:1.05s!important;animation-timing-function:ease-in-out!important}
body.game-page .scene.playing.driver .player{animation:activityDrive 1.15s ease-in-out infinite!important}
body.game-page .hazard.run{transition-duration:2.8s!important;transition-timing-function:cubic-bezier(.18,.62,.3,1)!important}
body.game-page .question{border:1px solid var(--act-line)!important;background:rgba(255,255,255,.96)!important;color:var(--act-ink)!important;border-radius:26px!important;box-shadow:0 22px 55px rgba(47,27,84,.12)!important}
body.game-page .answer{min-height:56px!important;background:#faf8f4!important;color:var(--act-ink)!important;border-color:var(--act-line)!important;border-radius:15px!important}
body.game-page .feedback{color:var(--act-ink)!important;background:#f2edf9!important}
body.game-page .result{background:#fff!important;color:var(--act-ink)!important;border-color:var(--act-line)!important}

@keyframes activityRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes activitySwap{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes activityScene{from{opacity:.55;transform:scale(.988)}to{opacity:1;transform:none}}
@keyframes activityDrive{0%,100%{transform:translateX(-50%) translate3d(0,0,0) rotate(-.25deg)}50%{transform:translateX(-50%) translate3d(2px,-2px,0) rotate(.25deg)}}

@media(max-width:820px){
  .choice-hub-page .choice-hub-main{padding-top:88px!important}
  .choice-hub-page .mission-preview{border-radius:24px!important}
  .mission-page .mission-shell{width:min(100% - 20px,680px)!important;padding-top:88px!important}
  .mission-page .mission-head{grid-template-columns:1fr!important;padding:24px 22px!important;border-radius:26px!important}
  .mission-page .mission-head h1{font-size:clamp(2.5rem,13vw,4.3rem)!important}
  .mission-page .mission-lead{padding:0 38px 0 0!important;font-size:.98rem!important}
  .mission-page .mission-board{grid-template-columns:1fr!important}
  .mission-page .mission-side{position:static!important;order:0!important;display:flex!important;align-items:center!important;gap:12px!important;padding:13px 16px!important;border-radius:18px!important;box-shadow:none!important}
  .mission-page .mission-side .side-label{margin:0!important;white-space:nowrap!important}
  .mission-page .mission-side ul{display:flex!important;gap:8px!important;margin:0!important;overflow:auto!important}
  .mission-page .mission-side li{border:0!important;padding:0!important;white-space:nowrap!important;font-size:.78rem!important}
  .mission-page .mission-side li:nth-child(n+2){display:none!important}
  body.game-page .interactive-main{width:min(100% - 20px,680px)!important;padding-top:88px!important}
  body.game-page .hero{padding:25px 20px!important;border-radius:26px!important}
  body.game-page .hero h1{font-size:clamp(2.5rem,13vw,4.1rem)!important}
  body.game-page .mode-row{display:grid!important;grid-template-columns:1fr 1fr!important}
  body.game-page .control-row.show{grid-template-columns:1.35fr 1fr 1fr!important}
  body.game-page .control-btn{padding:10px 6px!important;font-size:.86rem!important}
  body.game-page .scene{height:310px!important;border-radius:22px!important}
}
@media(prefers-reduced-motion:reduce){.choice-hub-page *,.mission-page *,.game-page *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* V2 — rebuilt activity experiences */
body.choice-hub-page,body.mission-page,body.game-page{background:#f7f5ef!important}

/* World selector: the selected world is the stage, cards are the controller. */
.choice-hub-page .mission-hub{padding-bottom:80px!important}
.choice-hub-page .mission-intro{margin-bottom:28px!important}
.choice-hub-page .mission-intro h2{max-width:11ch!important;font-size:clamp(3rem,8vw,7rem)!important;line-height:.86!important}
.choice-hub-page .mission-console{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)!important;gap:18px!important;align-items:start!important}
.choice-hub-page .mission-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.choice-hub-page .mission-card{min-height:190px!important;padding:22px!important;border-radius:24px!important;background:#fff!important;border:1px solid var(--act-line)!important;color:var(--act-ink)!important;box-shadow:none!important}
.choice-hub-page .mission-card:nth-child(3n+1){background:#f0eaff!important}
.choice-hub-page .mission-card:nth-child(3n+2){background:#edffc2!important}
.choice-hub-page .mission-card:nth-child(3n){background:#fff0ed!important}
.choice-hub-page .mission-card.is-active{background:var(--act-purple-dark)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 24px 54px rgba(47,27,84,.2)!important}
.choice-hub-page .mission-card .mission-id{font-size:.68rem!important;letter-spacing:.16em!important}
.choice-hub-page .mission-card strong{font-size:clamp(1.35rem,2.5vw,2rem)!important;line-height:1!important;letter-spacing:-.04em!important}
.choice-hub-page .mission-card small{opacity:.7!important}
.choice-hub-page .mission-preview{position:sticky!important;top:92px!important;min-height:560px!important;padding:clamp(28px,4vw,54px)!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;background:radial-gradient(circle at 78% 18%,rgba(223,255,47,.95) 0 7%,transparent 7.3%),radial-gradient(circle at 78% 18%,rgba(223,255,47,.17) 0 25%,transparent 25.5%),linear-gradient(145deg,#7245eb,#2f1b54 62%,#17111f)!important;color:#fff!important;border:0!important}
.choice-hub-page .mission-preview .mission-kicker{color:var(--act-lime)!important}
.choice-hub-page .mission-preview h3{max-width:9ch!important;font-size:clamp(2.8rem,6vw,5.9rem)!important;line-height:.86!important;letter-spacing:-.065em!important}
.choice-hub-page .mission-preview p{color:rgba(255,255,255,.72)!important}
.choice-hub-page .mission-meta,.choice-hub-page .mission-steps{display:none!important}
.choice-hub-page .mission-start{margin-top:24px!important;min-height:62px!important;border-radius:16px!important;background:var(--act-lime)!important;color:var(--act-ink)!important;box-shadow:0 15px 34px rgba(0,0,0,.2)!important}

/* Mission stage: one title, one scene, one decision. */
body.mission-page .mission-shell{width:min(980px,calc(100% - 28px))!important;padding-top:92px!important}
body.mission-page .mission-back{margin-bottom:14px!important}
body.mission-page .mission-experience{position:relative!important;border-radius:34px!important;background:#17121d!important;color:#fff!important;overflow:hidden!important;box-shadow:0 35px 90px rgba(47,27,84,.23)!important}
body.mission-page .mission-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr)!important;gap:26px!important;align-items:end!important;margin:0!important;padding:clamp(25px,4vw,44px)!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at 87% 15%,rgba(223,255,47,.24),transparent 22%),linear-gradient(135deg,#7447e8,#35205d 66%,#17121d)!important;box-shadow:none!important}
body.mission-page .mission-head:after{width:155px!important;height:155px!important;right:-65px!important;bottom:-80px!important;border-width:22px!important;opacity:.85!important}
body.mission-page .mission-head h1{max-width:none!important;margin-top:8px!important;color:#fff!important;font-size:clamp(2.5rem,7vw,5.2rem)!important;line-height:.88!important}
body.mission-page .mission-eyebrow{color:var(--act-lime)!important}
body.mission-page .mission-lead{color:rgba(255,255,255,.7)!important;padding:0!important;font-size:1rem!important;line-height:1.5!important}
body.mission-page .question-card{margin:0!important;padding:clamp(18px,4vw,38px)!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--act-ink)!important;box-shadow:none!important;animation:activityRise .34s cubic-bezier(.22,.75,.22,1) both!important}
body.mission-page .mission-progress{margin-bottom:11px!important;font-size:.9rem!important}
body.mission-page .mission-bar{height:5px!important;margin-bottom:20px!important;background:#eeeaf3!important}
body.mission-page .mission-bar span{background:linear-gradient(90deg,var(--act-purple),var(--act-lime))!important;transition-duration:.18s!important}
body.mission-page .scene{min-height:230px!important;margin-bottom:22px!important;border-radius:22px!important}
body.mission-page .question-card h2{margin-bottom:16px!important;font-size:clamp(1.45rem,4vw,2.55rem)!important}
body.mission-page .answers{grid-template-columns:1fr 1fr!important;gap:10px!important}
body.mission-page .answer{min-height:66px!important;padding:15px 17px!important;transition-duration:.12s!important}
body.mission-page .next-btn{margin-top:13px!important;background:var(--act-purple-dark)!important;border-radius:14px!important}

/* Reaction game: compact arcade cockpit, no dead space. */
body.game-page .interactive-main{width:min(960px,calc(100% - 24px))!important;padding-top:92px!important}
body.game-page .hero{margin-bottom:10px!important;padding:clamp(24px,5vw,46px)!important;border-radius:30px!important;background:radial-gradient(circle at 84% 24%,rgba(223,255,47,.28),transparent 24%),linear-gradient(135deg,#7546eb,#35205c 64%,#17121d)!important}
body.game-page .game-kicker{margin:0 0 13px!important;color:var(--act-lime)!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.17em!important}
body.game-page .hero.is-compact{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;padding:18px 22px!important}
body.game-page .hero.is-compact .game-kicker,body.game-page .hero.is-compact>p:not(.game-kicker){display:none!important}
body.game-page .hero.is-compact h1{font-size:clamp(1.35rem,4vw,2.2rem)!important;margin:0!important;line-height:1!important}
body.game-page .hero.is-compact .mode-row{display:flex!important}
body.game-page .hero.is-compact .mode-btn{min-height:42px!important;padding:9px 13px!important;font-size:.78rem!important}
body.game-page .control-row.show{margin:8px 0!important}
body.game-page .hud{margin:8px auto!important}
body.game-page .hud span{background:#fff!important;color:var(--act-ink)!important;border:1px solid var(--act-line)!important;box-shadow:0 7px 20px rgba(47,27,84,.07)!important}
body.game-page .scene{height:390px!important;background:linear-gradient(180deg,#292044 0 29%,#278263 29% 100%)!important}
body.game-page .scene:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 28%),repeating-linear-gradient(180deg,transparent 0 7px,rgba(255,255,255,.018) 7px 8px);mix-blend-mode:screen}
body.game-page .scene .tree{display:none!important}
body.game-page .hazard{display:grid!important;place-items:center!important;width:58px!important;height:58px!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important;font-size:2rem!important}
body.game-page .traffic{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border-radius:14px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 12px 28px rgba(0,0,0,.25)!important;font-size:1.7rem!important}
body.game-page .scene.playing .road3d:after{animation-duration:.48s!important}
body.game-page .scene.playing:not(.driver) .player{animation-duration:.52s!important}
body.game-page .scene.playing.driver .player{animation-duration:.62s!important}
body.game-page .hazard.run{transition-duration:1.25s!important}
body.game-page .hazard.run.left,body.game-page .hazard.run.right{animation-duration:1.25s!important}
body.game-page .question.active{animation:activityRise .24s ease-out both!important}
body.game-page .answer.correct{background:#dff8e9!important;border-color:#289963!important}body.game-page .answer.wrong{background:#fff0ed!important;border-color:#d95b4c!important}

@media(max-width:820px){
  .choice-hub-page .mission-intro h2{font-size:clamp(2.8rem,14vw,4.8rem)!important}
  .choice-hub-page .mission-console{display:flex!important;flex-direction:column!important}
  .choice-hub-page .mission-preview{order:0!important;position:relative!important;top:auto!important;min-height:410px!important;padding:28px 23px!important}
  .choice-hub-page .mission-list{order:1!important;display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:4px 2px 18px!important}
  .choice-hub-page .mission-card{flex:0 0 78vw!important;min-height:160px!important;scroll-snap-align:center!important}
  body.mission-page .mission-experience{border-radius:25px!important}
  body.mission-page .mission-head{grid-template-columns:1fr!important;gap:12px!important;padding:22px 20px!important}
  body.mission-page .mission-head h1{font-size:clamp(2.45rem,13vw,4rem)!important}
  body.mission-page .mission-lead{font-size:.9rem!important;line-height:1.4!important}
  body.mission-page .scene{min-height:205px!important}
  body.mission-page .answers{grid-template-columns:1fr!important}
  body.game-page .hero.is-compact{grid-template-columns:1fr!important;padding:16px!important}
  body.game-page .hero.is-compact .mode-row{display:grid!important}
  body.game-page .scene{height:330px!important}
}

/* V3 — keep the original mission cards; improve their action and state. */
.choice-hub-page .mission-console{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)!important;gap:18px!important}
.choice-hub-page .mission-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important}
.choice-hub-page .mission-card{min-height:190px!important;padding:20px!important;border-radius:0!important;background:rgba(255,255,255,.58)!important;border:1px solid rgba(23,19,31,.18)!important;color:#17131f!important;box-shadow:none!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto auto!important;gap:12px!important}
.choice-hub-page .mission-card:nth-child(n){background:rgba(255,255,255,.58)!important}
.choice-hub-page .mission-card.is-active{background:#17131f!important;color:#fff!important;border-color:#17131f!important;box-shadow:8px 8px 0 #7657ff!important}
.choice-hub-page .mission-card:after,.choice-hub-page .mission-card.is-completed:after{content:none!important;display:none!important}
.choice-hub-page .mission-card strong,.choice-hub-page .mission-card small,.choice-hub-page .mission-card-cta{grid-column:1/-1!important}
.choice-hub-page .mission-card-cta{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:42px!important;margin-top:2px!important;padding:10px 12px!important;background:#dfff2f!important;color:#17131f!important;border:1px solid #17131f!important;font-size:.74rem!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.choice-hub-page .mission-card-cta:after{content:'→';font-size:1rem;transition:transform .16s ease}
.choice-hub-page .mission-card:hover .mission-card-cta:after{transform:translateX(4px)}
.choice-hub-page .mission-card.is-completed .mission-card-cta{background:#8edcc7!important;color:#17131f!important}
.choice-hub-page .mission-card.is-category-hidden{display:none!important}
.choice-hub-page .mission-preview{position:sticky!important;top:96px!important;min-height:100%!important;padding:30px!important;border-radius:0!important;background:#7657ff!important;color:#fff!important;display:flex!important;flex-direction:column!important;justify-content:initial!important;box-shadow:none!important}
.choice-hub-page .mission-preview[data-theme="acid"]{background:#d9ff61!important;color:#17131f!important}.choice-hub-page .mission-preview[data-theme="coral"]{background:#ff7866!important;color:#17131f!important}.choice-hub-page .mission-preview[data-theme="paper"]{background:#fffaf0!important;color:#17131f!important;border:1px solid #17131f!important}.choice-hub-page .mission-preview[data-theme="mint"]{background:#8edcc7!important;color:#17131f!important}.choice-hub-page .mission-preview[data-theme="dark"]{background:#17131f!important;color:#fff!important}
.choice-hub-page .mission-preview h3{font-size:clamp(2.3rem,4vw,4.6rem)!important;line-height:.9!important}
.choice-hub-page .mission-preview .mission-meta{display:grid!important}.choice-hub-page .mission-preview .mission-steps{display:grid!important}
.choice-hub-page .mission-preview .mission-start{margin-top:auto!important;border-radius:0!important}

/* Comic reader: the story fills the first screen like a modern reading app. */
body.comic-reader-page{background:radial-gradient(circle at 88% 8%,rgba(223,255,47,.13),transparent 25%),linear-gradient(180deg,#21172f,#0e0b12)!important;color:#fff!important}
body.comic-reader-page .comic-reader-next{padding-top:88px!important}
body.comic-reader-page .comic-reader-intro{width:min(1100px,calc(100% - 32px))!important;margin:0 auto!important;padding:22px 0 20px!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:18px!important}
body.comic-reader-page .comic-reader-intro .kicker,body.comic-reader-page .comic-reader-intro>p:not(.kicker){display:none!important}
body.comic-reader-page .comic-reader-intro h1{margin:0!important;color:#fff!important;font-size:clamp(2.3rem,6vw,5rem)!important;line-height:.88!important;letter-spacing:-.06em!important}
body.comic-reader-page .comic-reader-intro h1 em{color:#dfff2f!important}
body.comic-reader-page .comic-reader-intro .text-link{margin:0!important;color:#fff!important;border-color:#dfff2f!important}
body.comic-reader-page .comic-reader{width:min(1100px,calc(100% - 32px))!important;margin:0 auto 56px!important;padding:16px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:28px!important;background:rgba(9,7,12,.74)!important;box-shadow:0 36px 90px rgba(0,0,0,.42)!important;backdrop-filter:blur(18px)!important}
body.comic-reader-page .comic-topline{padding:5px 5px 10px!important;color:#fff!important}
body.comic-reader-page .comic-title-menu{margin:0!important;padding:0 0 12px!important}
body.comic-reader-page .comic-title-menu button{min-height:40px!important;border-radius:13px!important;transition:transform .15s ease,background .15s ease!important}
body.comic-reader-page .comic-title-menu button:hover{transform:translateY(-2px)}
body.comic-reader-page .comic-stage{position:relative!important;min-height:360px!important;border-radius:19px!important;background:#050407!important;overflow:hidden!important}
body.comic-reader-page .comic-stage:after{content:'Докосни за цял екран';position:absolute;right:12px;bottom:12px;padding:8px 11px;border-radius:999px;background:rgba(17,12,24,.82);color:#fff;font-size:.72rem;font-weight:850;backdrop-filter:blur(8px);pointer-events:none}
body.comic-reader-page .comic-image{max-height:74vh!important;background:#050407!important}
body.comic-reader-page .comic-actions .btn{min-height:50px!important;border-radius:14px!important}
body.comic-reader-page .comic-reader-end{display:none!important}
body.comic-reader-page .comic-fullscreen{background:#08060c!important}
body.comic-reader-page .comic-fullscreen-image{transition:none!important}
body.comic-reader-page .comic-soft-out,body.comic-reader-page .comic-soft-out-left{animation:comicSnapOut .09s ease-in both!important}
body.comic-reader-page .comic-soft-in,body.comic-reader-page .comic-soft-in-left{animation:comicSnapIn .2s cubic-bezier(.22,.75,.22,1) both!important}
@keyframes comicSnapOut{to{opacity:0;transform:scale(.99)}}
@keyframes comicSnapIn{from{opacity:0;transform:translateX(18px) scale(.99)}to{opacity:1;transform:none}}

/* V4 — mission details open directly below the chosen card on mobile. */
@media(max-width:820px){
  .choice-hub-page .mission-console{display:block!important}
  .choice-hub-page .mission-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;padding:0!important}
  .choice-hub-page .mission-card{width:100%!important;min-height:164px!important;scroll-snap-align:none!important}
  .choice-hub-page .mission-preview{width:calc(100% - 12px)!important;min-height:0!important;margin:8px 0 18px 12px!important;padding:22px 20px!important;border-radius:0!important;box-shadow:-7px 7px 0 #17131f!important;animation:missionDetailIn .24s cubic-bezier(.2,.75,.2,1) both!important}
  .choice-hub-page .mission-preview h3{margin:7px 0 12px!important;font-size:clamp(2rem,11vw,3.3rem)!important}
  .choice-hub-page .mission-preview>p:not(.mission-kicker){margin-bottom:16px!important;font-size:.98rem!important}
  .choice-hub-page .mission-preview .mission-meta{grid-template-columns:repeat(3,1fr)!important;margin:4px 0 15px!important}
  .choice-hub-page .mission-preview .mission-meta span{padding:10px 5px!important;font-size:.7rem!important}
  .choice-hub-page .mission-preview .mission-meta b{font-size:1.35rem!important}
  .choice-hub-page .mission-preview .mission-steps{display:none!important}
  .choice-hub-page .mission-preview .mission-start{min-height:52px!important;margin-top:4px!important}
}
@keyframes missionDetailIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* V5 — React in time: high-contrast controls and a new kinetic focus scene. */
body.game-page .game-top .back{width:50px!important;height:50px!important;padding:0!important;display:grid!important;place-items:center!important;border:2px solid #17131f!important;border-radius:15px!important;background:#fff!important;color:#17131f!important;font-size:1.6rem!important;line-height:1!important;box-shadow:5px 5px 0 #dfff2f!important}
body.game-page .control-row{display:none!important;grid-template-columns:1.35fr 1fr 1fr auto!important;gap:9px!important;width:min(820px,100%)!important;margin:14px auto!important}
body.game-page .control-row.show{display:grid!important}
body.game-page .control-btn{min-height:54px!important;padding:12px 16px!important;border:2px solid #17131f!important;border-radius:14px!important;background:#fff!important;color:#17131f!important;font-size:.92rem!important;box-shadow:0 8px 20px rgba(23,19,31,.1)!important;opacity:1!important}
body.game-page .control-btn.primary{background:#dfff2f!important;color:#17131f!important;box-shadow:5px 5px 0 #17131f!important}
body.game-page #stopBtn:not(:disabled){background:#ff7866!important}
body.game-page .control-btn:disabled{background:#e7e2eb!important;color:#77717d!important;border-color:#c7c0cb!important;box-shadow:none!important}
body.game-page #changeBtnTop{background:#17131f!important;color:#fff!important;border-color:#17131f!important}
body.game-page .scene{isolation:isolate!important;height:430px!important;border:0!important;border-radius:30px!important;background:radial-gradient(circle at 50% 43%,rgba(118,87,255,.42),transparent 25%),linear-gradient(180deg,#15101f 0%,#211735 58%,#100c18 100%)!important;box-shadow:0 30px 80px rgba(23,19,31,.34),inset 0 0 0 1px rgba(255,255,255,.12)!important}
body.game-page .scene .horizon{height:100%!important;background:linear-gradient(180deg,rgba(223,255,47,.07),transparent 28%,rgba(118,87,255,.08))!important}
body.game-page .scene-grid{position:absolute;z-index:0;inset:43% -20% -28%;transform:perspective(420px) rotateX(62deg);transform-origin:center top;background-image:linear-gradient(rgba(223,255,47,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(223,255,47,.16) 1px,transparent 1px);background-size:42px 34px;mask-image:linear-gradient(to bottom,transparent,#000 17%,#000 70%,transparent)}
body.game-page .scene.playing .scene-grid{animation:gameGridRush .48s linear infinite}
body.game-page .speed-lines{position:absolute;z-index:1;inset:0;background:repeating-linear-gradient(105deg,transparent 0 48px,rgba(255,255,255,.09) 49px 51px,transparent 52px 96px);opacity:0;transform:translateX(-12%)}
body.game-page .scene.playing .speed-lines{opacity:.5;animation:speedSweep .5s linear infinite}
body.game-page .reaction-ring{position:absolute;z-index:2;left:50%;top:43%;width:150px;height:150px;transform:translate(-50%,-50%);border:1px solid rgba(223,255,47,.45);border-radius:50%;box-shadow:0 0 0 28px rgba(118,87,255,.08),0 0 50px rgba(223,255,47,.12)}
body.game-page .reaction-ring:before,body.game-page .reaction-ring:after{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.2);border-radius:50%}body.game-page .reaction-ring:after{inset:51%;background:#dfff2f;border:0;box-shadow:0 0 22px #dfff2f}
body.game-page .scene.playing .reaction-ring{animation:focusPulse .82s ease-in-out infinite alternate}
body.game-page .scene-status{position:absolute;z-index:8;left:18px;top:18px;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(12,9,17,.7);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.11em;backdrop-filter:blur(12px)}
body.game-page .scene-status i{width:8px;height:8px;border-radius:50%;background:#dfff2f;box-shadow:0 0 14px #dfff2f}
body.game-page .scene .sun,body.game-page .scene .traffic,body.game-page .scene .cross3d{display:none!important}
body.game-page .scene .sidewalk3d{opacity:.16!important;filter:hue-rotate(80deg)}
body.game-page .scene .road3d{z-index:1!important;width:72%!important;height:67%!important;bottom:-9%!important;background:linear-gradient(90deg,#16111f,#2d2340 50%,#16111f)!important;border:0!important;filter:drop-shadow(0 0 24px rgba(118,87,255,.28))}
body.game-page .scene .road3d:after{width:4px!important;background:repeating-linear-gradient(180deg,#dfff2f 0 18px,transparent 18px 42px)!important;box-shadow:0 0 15px rgba(223,255,47,.65)!important}
body.game-page .hazard{z-index:7!important;width:94px!important;height:94px!important;display:flex!important;flex-direction:column!important;gap:2px!important;border-radius:26px!important;background:rgba(255,255,255,.96)!important;border:3px solid #dfff2f!important;color:#17131f!important;box-shadow:0 0 0 9px rgba(223,255,47,.12),0 20px 44px rgba(0,0,0,.42)!important;font-size:2.5rem!important}
body.game-page .hazard small{display:block;font-size:.58rem;font-weight:950;letter-spacing:.13em;color:#17131f}
body.game-page .hazard.run,body.game-page .hazard.run.left,body.game-page .hazard.run.right{animation-duration:1.4s!important}
body.game-page .player{z-index:6!important;filter:drop-shadow(0 0 18px rgba(223,255,47,.3)) drop-shadow(0 15px 14px rgba(0,0,0,.5))!important}
body.game-page .paused-badge{background:rgba(12,8,18,.76)!important;backdrop-filter:blur(10px)!important;color:#fff!important}
@keyframes gameGridRush{to{background-position:0 34px,42px 34px}}
@keyframes speedSweep{to{transform:translateX(12%)}}
@keyframes focusPulse{to{transform:translate(-50%,-50%) scale(1.12);opacity:.72}}
@media(max-width:640px){
 body.game-page .control-row{grid-template-columns:1.3fr 1fr 1fr!important}
 body.game-page #changeBtnTop{grid-column:1/-1!important}
 body.game-page .control-btn{min-height:52px!important;padding:10px 7px!important;font-size:.82rem!important}
 body.game-page .scene{height:390px!important;border-radius:26px!important}
 body.game-page .scene-status{left:13px;top:13px;font-size:.6rem!important}
 body.game-page .hazard{width:82px!important;height:82px!important;border-radius:22px!important}
}

/* V8 — rebuilt start screen: editorial, light and game-first. */
body.game-page .game-shell{width:min(920px,calc(100% - 28px))!important;padding-top:112px!important;padding-bottom:54px!important}
body.game-page .game-top{position:relative!important;z-index:10!important;display:flex!important;margin:0 0 22px!important}
body.game-page .game-top .back{display:grid!important;visibility:visible!important;opacity:1!important;background:#17131f!important;color:#fff!important;border-color:#17131f!important;box-shadow:5px 5px 0 #dfff2f!important}
body.game-page .hero,body.game-page .hero:not(.is-compact){padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body.game-page .hero:after{display:none!important}
body.game-page .hero .game-kicker{margin:0 0 13px!important;color:#6f39e8!important;font-size:.72rem!important}
body.game-page .hero h1{max-width:690px!important;margin:0 0 14px!important;color:#17131f!important;font-size:clamp(3rem,7vw,5.5rem)!important;line-height:.88!important;text-shadow:none!important}
body.game-page .hero>p:not(.game-kicker){max-width:560px!important;margin:0 0 28px!important;color:#625d67!important;font-size:1.04rem!important;line-height:1.5!important}
body.game-page .hero:not(.is-compact) .mode-row{gap:14px!important;margin:0!important}
body.game-page .mode-btn{min-height:154px!important;padding:22px!important;border:2px solid #17131f!important;border-radius:0!important;transition:transform .18s ease,box-shadow .18s ease!important}
body.game-page .mode-btn:first-child{background:#7657ff!important;color:#fff!important;box-shadow:8px 8px 0 #17131f!important}
body.game-page .mode-btn:last-child{background:#dfff2f!important;color:#17131f!important;box-shadow:8px 8px 0 #17131f!important}
body.game-page .mode-btn:first-child .mode-symbol{background:#fff!important;color:#17131f!important}body.game-page .mode-btn:last-child .mode-symbol{background:#17131f!important;color:#fff!important}
body.game-page .mode-btn small{opacity:.82!important;font-size:.78rem!important}
body.game-page .mode-btn:hover,body.game-page .mode-btn.active{transform:translate(-3px,-3px)!important;box-shadow:11px 11px 0 #17131f!important}
body.game-page .hero.is-compact{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-bottom:12px!important;padding:18px!important;background:#17131f!important;border-radius:18px!important;box-shadow:5px 5px 0 #dfff2f!important}
body.game-page .hero.is-compact .mode-row{width:100%!important}.game-page .hero.is-compact .mode-btn{min-height:60px!important;border-color:rgba(255,255,255,.3)!important;box-shadow:none!important}.game-page .hero.is-compact .mode-btn.active{border-color:#dfff2f!important;box-shadow:0 0 0 3px rgba(223,255,47,.25)!important}
@media(max-width:640px){
 body.game-page .game-shell{width:calc(100% - 28px)!important;padding-top:102px!important}
 body.game-page .game-top{margin-bottom:25px!important}
 body.game-page .game-top .brand{display:none!important}
 body.game-page .hero h1{max-width:310px!important;margin-bottom:13px!important;font-size:clamp(2.55rem,12vw,3.35rem)!important;line-height:.9!important}
 body.game-page .hero>p:not(.game-kicker){max-width:320px!important;margin-bottom:23px!important;font-size:.93rem!important}
 body.game-page .hero:not(.is-compact) .mode-row{gap:10px!important}
 body.game-page .mode-btn{min-height:132px!important;padding:15px 13px!important}
 body.game-page .mode-btn strong{font-size:.95rem!important}.game-page .mode-btn small{font-size:.7rem!important}
 body.game-page .mode-btn:first-child,.game-page .mode-btn:last-child{box-shadow:5px 5px 0 #17131f!important}
 body.game-page .hero.is-compact{padding:11px!important}
 body.game-page .hero.is-compact .mode-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.game-page .hero.is-compact .mode-btn{min-height:55px!important;padding:9px 10px!important}
}

/* V6 — role cards, always side by side, with clean state switching. */
body.game-page .hero:not(.is-compact) .mode-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:min(820px,100%)!important;margin:22px auto 4px!important}
body.game-page .mode-btn{position:relative!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:13px!important;min-width:0!important;min-height:116px!important;padding:18px!important;text-align:left!important;border:1px solid rgba(23,19,31,.2)!important;border-radius:0!important;background:rgba(255,255,255,.76)!important;color:#17131f!important;box-shadow:none!important;overflow:hidden!important}
body.game-page .mode-btn:first-child{box-shadow:7px 7px 0 #7657ff!important}body.game-page .mode-btn:last-child{box-shadow:7px 7px 0 #dfff2f!important}
body.game-page .mode-btn.active{background:#17131f!important;color:#fff!important;border-color:#17131f!important}
body.game-page .mode-btn .mode-symbol{display:grid;width:47px;height:47px;place-items:center;border:1px solid currentColor;background:#dfff2f;color:#17131f;font-size:1.35rem;font-weight:950}
body.game-page .mode-btn strong,body.game-page .mode-btn small{display:block!important}body.game-page .mode-btn strong{font-size:1.05rem!important;line-height:1.1!important}body.game-page .mode-btn small{margin-top:6px!important;color:currentColor!important;opacity:.68!important;font-size:.73rem!important;line-height:1.25!important}body.game-page .mode-btn>b{font-size:1.25rem!important}
body.game-page .hero.is-compact .mode-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.game-page .hero.is-compact .mode-btn{min-height:64px!important;padding:9px 11px!important}.game-page .hero.is-compact .mode-btn .mode-symbol{width:34px;height:34px;font-size:1rem}.game-page .hero.is-compact .mode-btn small{display:none!important}
@media(max-width:640px){body.game-page .hero:not(.is-compact) .mode-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}body.game-page .mode-btn{grid-template-columns:1fr auto!important;min-height:112px!important;padding:13px!important}.game-page .mode-btn .mode-symbol{grid-column:1/-1!important;width:38px;height:38px}.game-page .mode-btn strong{font-size:.92rem!important}.game-page .mode-btn small{font-size:.65rem!important}.game-page .hero.is-compact .mode-btn{grid-template-columns:1fr auto!important;min-height:54px!important}.game-page .hero.is-compact .mode-symbol{display:none!important}}

/* V7 — calmer, tighter role-selection composition. */
body.game-page .game-shell{width:min(920px,calc(100% - 28px))!important;padding-top:24px!important}
body.game-page .game-top{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 16px!important}
body.game-page .game-top .brand{color:#17131f!important;text-shadow:none!important;font-size:.88rem!important;letter-spacing:.09em!important;text-transform:uppercase!important}
body.game-page .game-top .lang-switch{background:#fff!important;color:#17131f!important;border:1px solid rgba(23,19,31,.22)!important}
body.game-page .hero{padding:34px!important;border-radius:26px!important;background:#281a45!important;box-shadow:9px 9px 0 #dfff2f!important}
body.game-page .hero:after{right:-95px!important;bottom:-145px!important;width:300px!important;height:300px!important;border-width:24px!important;opacity:.28!important}
body.game-page .hero h1{max-width:620px!important;margin-bottom:12px!important;font-size:clamp(2.6rem,7vw,4.7rem)!important;line-height:.88!important}
body.game-page .hero>p:not(.game-kicker){max-width:570px!important;margin-bottom:18px!important;font-size:1rem!important;line-height:1.45!important}
body.game-page .hero:not(.is-compact) .mode-row{margin-top:16px!important}
body.game-page .mode-btn{min-height:104px!important;background:#fff!important;border:2px solid #17131f!important}
body.game-page .mode-btn:first-child,body.game-page .mode-btn:last-child{box-shadow:none!important}
body.game-page .mode-btn:first-child .mode-symbol{background:#e5d9ff!important}body.game-page .mode-btn:last-child .mode-symbol{background:#dfff2f!important}
body.game-page .mode-btn:hover,body.game-page .mode-btn.active{transform:translateY(-3px)!important;box-shadow:5px 5px 0 #dfff2f!important}
@media(max-width:640px){
 body.game-page .game-shell{width:calc(100% - 24px)!important;padding-top:16px!important}
 body.game-page .game-top .back{width:44px!important;height:44px!important;border-radius:12px!important;font-size:1.35rem!important;box-shadow:4px 4px 0 #dfff2f!important}
 body.game-page .hero{padding:24px 18px 21px!important;border-radius:22px!important;box-shadow:6px 6px 0 #dfff2f!important}
 body.game-page .hero .game-kicker{margin-bottom:10px!important;font-size:.66rem!important}
 body.game-page .hero h1{max-width:290px!important;margin-bottom:12px!important;font-size:clamp(2.35rem,11.5vw,3.2rem)!important;line-height:.9!important}
 body.game-page .hero>p:not(.game-kicker){max-width:300px!important;margin-bottom:15px!important;font-size:.88rem!important;line-height:1.4!important}
 body.game-page .hero:not(.is-compact) .mode-row{gap:9px!important;margin-top:12px!important}
 body.game-page .mode-btn{grid-template-columns:1fr auto!important;min-height:96px!important;padding:12px 11px!important;border-width:1px!important}
 body.game-page .mode-btn .mode-symbol{grid-column:auto!important;width:35px!important;height:35px!important;margin-bottom:6px!important}
 body.game-page .mode-btn>span:nth-child(2){grid-column:1/-1!important}
 body.game-page .mode-btn>b{position:absolute!important;right:11px!important;top:18px!important}
 body.game-page .mode-btn strong{font-size:.9rem!important;white-space:nowrap!important}
 body.game-page .mode-btn small{margin-top:4px!important;font-size:.66rem!important;line-height:1.2!important}
 body.game-page .hero.is-compact{padding:13px!important;box-shadow:5px 5px 0 #dfff2f!important}
 body.game-page .hero.is-compact h1{display:none!important}
}
@keyframes missionActorsIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .choice-hub-page .mission-console{grid-template-columns:1fr!important}
  .choice-hub-page .mission-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;order:0!important;overflow:visible!important}
  .choice-hub-page .mission-card{min-height:180px!important;flex:auto!important}
  .choice-hub-page .mission-preview{order:1!important;position:relative!important;top:auto!important;min-height:430px!important}
}
@media(max-width:620px){
  .choice-hub-page .mission-list{grid-template-columns:1fr!important}
  .choice-hub-page .mission-card{min-height:180px!important}
  body.comic-reader-page .comic-reader-next{padding-top:74px!important}
  body.comic-reader-page .comic-reader-intro{grid-template-columns:1fr!important;padding:18px 0 14px!important}
  body.comic-reader-page .comic-reader-intro h1{font-size:clamp(2.3rem,11vw,3.8rem)!important}
  body.comic-reader-page .comic-reader{width:calc(100% - 18px)!important;padding:9px!important;border-radius:20px!important}
  body.comic-reader-page .comic-stage{min-height:260px!important;border-radius:14px!important}
}

/* V9 — definitive start-screen rules, kept last to avoid legacy overrides. */
body.game-page .game-shell{width:min(920px,calc(100% - 28px))!important;padding-top:112px!important;padding-bottom:54px!important}
body.game-page .game-top{position:relative!important;z-index:10!important;display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 22px!important}
body.game-page .game-top .back{display:grid!important;visibility:visible!important;opacity:1!important;width:48px!important;height:48px!important;padding:0!important;place-items:center!important;background:#17131f!important;color:#fff!important;border:2px solid #17131f!important;border-radius:13px!important;box-shadow:5px 5px 0 #dfff2f!important;font-size:1.45rem!important}
body.game-page .hero,body.game-page .hero:not(.is-compact){padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body.game-page .hero:after{display:none!important}
body.game-page .hero .game-kicker{margin:0 0 13px!important;color:#6f39e8!important;font-size:.72rem!important}
body.game-page .hero h1{max-width:690px!important;margin:0 0 14px!important;color:#17131f!important;font-size:clamp(3rem,7vw,5.5rem)!important;line-height:.88!important;text-shadow:none!important}
body.game-page .hero>p:not(.game-kicker){max-width:560px!important;margin:0 0 28px!important;color:#625d67!important;font-size:1.04rem!important;line-height:1.5!important}
body.game-page .hero:not(.is-compact) .mode-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:min(820px,100%)!important;margin:0!important}
body.game-page .mode-btn{min-height:150px!important;padding:22px!important;border:2px solid #17131f!important;border-radius:0!important;color:#17131f!important;box-shadow:8px 8px 0 #17131f!important}
body.game-page .mode-btn:first-child{background:#7657ff!important;color:#fff!important}body.game-page .mode-btn:last-child{background:#dfff2f!important;color:#17131f!important}
body.game-page .mode-btn:first-child .mode-symbol{background:#fff!important;color:#17131f!important}body.game-page .mode-btn:last-child .mode-symbol{background:#17131f!important;color:#fff!important}
body.game-page .mode-btn:hover,body.game-page .mode-btn.active{transform:translate(-3px,-3px)!important;box-shadow:11px 11px 0 #17131f!important}
body.game-page .hero.is-compact{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-bottom:12px!important;padding:18px!important;background:#17131f!important;border-radius:18px!important;box-shadow:5px 5px 0 #dfff2f!important}
body.game-page .hero.is-compact .mode-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.game-page .hero.is-compact .mode-btn{min-height:60px!important;padding:9px 11px!important;box-shadow:none!important}.game-page .hero.is-compact .mode-btn.active{border-color:#fff!important;box-shadow:0 0 0 3px rgba(223,255,47,.25)!important}
@media(max-width:640px){body.game-page .game-shell{width:calc(100% - 28px)!important;padding-top:102px!important}body.game-page .game-top{margin-bottom:25px!important}body.game-page .game-top .brand{display:none!important}body.game-page .hero h1{max-width:310px!important;margin-bottom:13px!important;font-size:clamp(2.55rem,12vw,3.35rem)!important}body.game-page .hero>p:not(.game-kicker){max-width:320px!important;margin-bottom:23px!important;font-size:.93rem!important}body.game-page .hero:not(.is-compact) .mode-row{gap:10px!important}body.game-page .mode-btn{grid-template-columns:1fr auto!important;min-height:132px!important;padding:15px 13px!important}body.game-page .mode-btn .mode-symbol{grid-column:auto!important;width:36px!important;height:36px!important}body.game-page .mode-btn>span:nth-child(2){grid-column:1/-1!important}body.game-page .mode-btn>b{position:absolute!important;right:12px!important;top:18px!important}body.game-page .mode-btn strong{font-size:.95rem!important;white-space:nowrap!important}body.game-page .mode-btn small{font-size:.7rem!important}body.game-page .hero.is-compact{padding:11px!important}body.game-page .hero.is-compact h1{display:none!important}body.game-page .hero.is-compact .mode-btn{min-height:55px!important;padding:9px!important}}

/* Inline comics — one tap from cover to reading. */
.inline-comic-open{overflow:hidden!important}.inline-comic-reader{position:fixed;inset:0;z-index:200;display:none;grid-template-rows:auto 1fr auto auto;background:#09070d;color:#fff;padding:max(14px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));opacity:0}.inline-comic-reader.show{display:grid;animation:inlineReaderIn .2s ease-out forwards}.inline-comic-top{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;max-width:1100px;width:100%;margin:0 auto 12px}.inline-comic-top button{width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#fff;color:#17131f;font-size:1.8rem;line-height:1;cursor:pointer}.inline-comic-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.inline-comic-top span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.78rem;font-weight:850}.inline-comic-stage{position:relative;display:grid;place-items:center;min-height:0;max-width:1100px;width:100%;margin:0 auto;overflow:hidden;border-radius:18px;background:#000}.inline-comic-stage>img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;user-select:none}.inline-comic-stage>img.go-next{animation:inlinePageNext .2s ease-out}.inline-comic-stage>img.go-prev{animation:inlinePagePrev .2s ease-out}.inline-comic-zone{position:absolute;z-index:2;top:0;bottom:0;width:28%;border:0;background:transparent;color:transparent;font-size:0;cursor:pointer}.inline-comic-prev{left:0}.inline-comic-next{right:0}.inline-comic-end{position:absolute;z-index:4;inset:0;display:none;place-items:center;align-content:center;gap:22px;padding:30px;text-align:center;background:rgba(9,7,13,.9);backdrop-filter:blur(12px)}.inline-comic-end.show{display:grid}.inline-comic-end strong{max-width:600px;color:#fff;font-size:clamp(1.5rem,5vw,2.7rem);line-height:1.1}.inline-comic-end button{min-height:52px;padding:12px 18px;border:2px solid #17131f;background:#dfff2f;color:#17131f;font-weight:900;cursor:pointer}.inline-comic-progress{height:4px;max-width:1100px;width:100%;margin:12px auto 0;background:rgba(255,255,255,.14);overflow:hidden}.inline-comic-progress i{display:block;height:100%;width:16.67%;background:linear-gradient(90deg,#7657ff,#dfff2f);transition:width .2s ease}.inline-comic-hint{margin:9px 0 0;text-align:center;color:rgba(255,255,255,.58);font-size:.72rem}.story-cover[data-comic-story],.story-card[data-comic-story]{cursor:pointer}@keyframes inlineReaderIn{to{opacity:1}}@keyframes inlinePageNext{from{opacity:0;transform:translateX(28px)}}@keyframes inlinePagePrev{from{opacity:0;transform:translateX(-28px)}}@media(max-width:640px){.inline-comic-reader{padding-left:8px;padding-right:8px}.inline-comic-top{grid-template-columns:44px 1fr auto}.inline-comic-top strong{font-size:.82rem}.inline-comic-stage{border-radius:10px}.inline-comic-stage>img{max-height:calc(100vh - 140px)}.inline-comic-hint{font-size:.68rem}}

/* Compact comic shelf — covers are previews, not full pages. */
body:has(#inlineComicReader) .story-shelf{padding:clamp(34px,5vw,70px) max(6vw,24px)}
body:has(#inlineComicReader) .story-featured{grid-template-columns:minmax(210px,.72fr) 1.28fr;min-height:300px;max-width:1120px;margin:0 auto}
body:has(#inlineComicReader) .story-featured img{height:300px;min-height:0;object-position:center 18%}
body:has(#inlineComicReader) .story-cover-copy{padding:clamp(24px,4vw,48px)}
body:has(#inlineComicReader) .story-cover-copy h2{font-size:clamp(2rem,3.7vw,3.7rem);margin:13px 0}
body:has(#inlineComicReader) .story-cover-copy p{font-size:.98rem}
body:has(#inlineComicReader) .story-cover-copy b{margin-top:20px}
body:has(#inlineComicReader) .story-grid{max-width:1120px;margin:16px auto 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:transparent;border:0}
body:has(#inlineComicReader) .story-card{position:relative;display:grid;grid-template-rows:150px auto auto;min-width:0;padding:0 26px 18px 0;border:1px solid #171717;overflow:hidden}
body:has(#inlineComicReader) .story-card img{height:150px;aspect-ratio:auto;object-position:center 18%}
body:has(#inlineComicReader) .story-card span,body:has(#inlineComicReader) .story-card h3{margin-left:16px;margin-right:16px}
body:has(#inlineComicReader) .story-card span{margin-top:15px;font-size:.68rem}
body:has(#inlineComicReader) .story-card h3{margin-top:7px;font-size:1.08rem}
body:has(#inlineComicReader) .story-card::after{content:'↗';position:absolute;right:12px;bottom:12px;font-weight:900}
@media(max-width:760px){body:has(#inlineComicReader) .page-intro{min-height:auto;padding-top:118px;padding-bottom:52px}body:has(#inlineComicReader) .story-featured{grid-template-columns:140px 1fr;min-height:188px}body:has(#inlineComicReader) .story-featured img{height:188px;border-right:1px solid #171717;border-bottom:0}body:has(#inlineComicReader) .story-cover-copy{padding:18px}body:has(#inlineComicReader) .story-cover-copy h2{font-size:1.45rem}body:has(#inlineComicReader) .story-cover-copy p{display:none}body:has(#inlineComicReader) .story-cover-copy b{margin-top:13px;font-size:.78rem}body:has(#inlineComicReader) .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body:has(#inlineComicReader) .story-card{grid-template-rows:116px auto auto;min-height:205px}body:has(#inlineComicReader) .story-card img{height:116px}body:has(#inlineComicReader) .story-card span,body:has(#inlineComicReader) .story-card h3{margin-left:12px;margin-right:12px}body:has(#inlineComicReader) .story-card span{margin-top:12px}body:has(#inlineComicReader) .story-card h3{font-size:.94rem}}
@media(max-width:380px){body:has(#inlineComicReader) .story-featured{grid-template-columns:115px 1fr}body:has(#inlineComicReader) .story-cover-copy h2{font-size:1.25rem}body:has(#inlineComicReader) .story-grid{gap:8px}body:has(#inlineComicReader) .story-card h3{font-size:.86rem}}

/* Compact intro and stable comic paging on phones. */
body:has(#inlineComicReader) .page-intro{min-height:44vh;padding-top:clamp(112px,13vw,145px);padding-bottom:clamp(38px,6vw,64px)}
.inline-comic-stage>img.go-next,.inline-comic-stage>img.go-prev{animation-duration:.14s}
@keyframes inlinePageNext{from{opacity:.25;transform:none}}
@keyframes inlinePagePrev{from{opacity:.25;transform:none}}
@media(max-width:760px){body:has(#inlineComicReader) .page-intro{min-height:0;padding:100px 20px 32px}body:has(#inlineComicReader) .page-intro h1{max-width:330px;margin:12px 0 16px;font-size:clamp(2.45rem,12vw,3.3rem);line-height:.92}body:has(#inlineComicReader) .page-intro>p:last-child{max-width:330px;margin:0;font-size:.93rem;line-height:1.45}body:has(#inlineComicReader) .page-intro .kicker{font-size:.68rem}.inline-comic-stage{height:calc(100svh - 136px)}.inline-comic-stage>img{width:100%;height:100%;max-height:none;object-fit:contain}}

/* Page changes are intentionally instant: no jump, slide or double-looking frame. */
.inline-comic-stage>img.go-next,.inline-comic-stage>img.go-prev{animation:none!important;transform:none!important;transition:none!important}

.useful-grid-more{margin-top:1px}
[data-filter="home"],[data-filter="school"],[data-category="home"],[data-category="school"]{display:none!important}

.volunteer-presentation{padding:clamp(40px,5vw,60px) max(6vw,24px);background:#f6f2e9;border-top:1px solid #171717}.volunteer-presentation-head{display:grid;grid-template-columns:.55fr 1fr;gap:12px 28px;align-items:end;max-width:640px;margin:0 auto 20px}.volunteer-presentation-head .section-tag{align-self:start}.volunteer-presentation-head h2{margin:0;font:700 clamp(1.9rem,3.5vw,3.25rem)/.94 "Space Grotesk";letter-spacing:-.055em}.volunteer-presentation-head p:last-child{grid-column:2;max-width:390px;margin:0;font-size:.92rem;line-height:1.5}.volunteer-presentation-frame{max-width:640px;height:min(43svh,360px);margin:0 auto 18px;border:1px solid #171717;background:#151515;box-shadow:6px 6px 0 #7146ff;overflow:hidden}.volunteer-presentation-frame iframe{display:block;width:100%;height:100%;border:0}.volunteer-presentation>.action{display:flex;width:max-content;margin:0 auto}.volunteer-presentation-note{margin:16px auto 0;text-align:center;font-size:.9rem;color:#5e5966}@media(max-width:700px){.volunteer-presentation{padding:34px 18px 40px}.volunteer-presentation-head{grid-template-columns:1fr;gap:8px;margin-bottom:16px}.volunteer-presentation-head p:last-child{grid-column:auto}.volunteer-presentation-head h2{font-size:2rem}.volunteer-presentation-frame{height:34svh;min-height:230px;max-height:290px;box-shadow:4px 4px 0 #7146ff}.volunteer-presentation>.action{font-size:.8rem;padding:11px 14px}.volunteer-presentation-note{font-size:.82rem;margin-top:14px}}

/* V18 — unified page openings. */

:root{
  --uniform-content-width:1180px;
  --uniform-gutter:max(24px,calc((100vw - var(--uniform-content-width))/2));
  --uniform-hero-top:clamp(118px,10vw,146px);
  --uniform-hero-bottom:clamp(62px,6vw,84px);
}

/* Every editorial page now starts from the same canvas and the same left line. */
body .next-page{padding-top:0!important}
body .next-page>.page-intro.page-intro-play,
body .next-page>.page-intro.page-intro-stories,
body .next-page>.page-intro.page-intro-useful,
body .next-page>.page-intro.page-intro-activities,
body.page-contact .next-page>.page-intro.join-intro,
body .challenge-page>.challenge-hero,
body .why-page>.why-hero,
body.page-partners main.wrap>.page-hero,
html body.adventure-page main.interactive-main>section.adventure-page-hero,
body.choice-hub-page .mission-hub>.mission-intro,
body.module-next main.module-next>.module-next-hero{
  position:relative!important;
  isolation:isolate!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:none!important;
  min-height:clamp(430px,42vw,550px)!important;
  height:auto!important;
  margin:0!important;
  padding:var(--uniform-hero-top) var(--uniform-gutter) var(--uniform-hero-bottom)!important;
  overflow:hidden!important;
  text-align:left!important;
  color:#17131f!important;
  border:0!important;
  border-bottom:1px solid rgba(23,19,31,.18)!important;
  border-radius:0!important;
  background-color:#f6f2e9!important;
  background-image:
    linear-gradient(104deg,transparent 0 66%,rgba(111,53,237,.055) 66.15% 66.45%,transparent 66.65%),
    linear-gradient(104deg,transparent 0 72%,rgba(223,255,47,.16) 72.15% 72.5%,transparent 72.72%),
    linear-gradient(135deg,#fbf8f1 0%,#f2ede4 100%)!important;
  box-shadow:none!important;
  transform:none!important;
}

body .next-page>.page-intro::before,
body .challenge-page>.challenge-hero::before,
body .why-page>.why-hero::before,
body.page-partners main.wrap>.page-hero::before,
html body.adventure-page main.interactive-main>section.adventure-page-hero::before,
body.choice-hub-page .mission-hub>.mission-intro::before,
body.module-next main.module-next>.module-next-hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-2!important;
  left:auto!important;
  right:clamp(-115px,-5vw,-42px)!important;
  top:50%!important;
  width:clamp(270px,35vw,480px)!important;
  height:auto!important;
  aspect-ratio:1!important;
  border:0!important;
  border-radius:50%!important;
  background:conic-gradient(from 22deg,transparent 0 8%,#6f35ed 12% 34%,#a855f7 38% 50%,#dfff2f 57% 73%,transparent 82% 100%)!important;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 11px))!important;
  mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 11px))!important;
  opacity:.55!important;
  filter:none!important;
  box-shadow:none!important;
  transform:translateY(-50%) rotate(-18deg)!important;
  animation:none!important;
  pointer-events:none!important;
}

body .next-page>.page-intro::after,
body .challenge-page>.challenge-hero::after,
body .why-page>.why-hero::after,
body.page-partners main.wrap>.page-hero::after,
html body.adventure-page main.interactive-main>section.adventure-page-hero::after,
body.choice-hub-page .mission-hub>.mission-intro::after,
body.module-next main.module-next>.module-next-hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  left:auto!important;
  right:clamp(34px,8vw,118px)!important;
  top:clamp(105px,13vw,170px)!important;
  width:clamp(72px,9vw,112px)!important;
  height:clamp(72px,9vw,112px)!important;
  border:0!important;
  border-radius:50%!important;
  clip-path:none!important;
  background:radial-gradient(circle,rgba(255,255,255,.96) 0 4%,#dfff2f 5% 12%,rgba(223,255,47,.22) 13% 31%,transparent 32%)!important;
  opacity:.9!important;
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  pointer-events:none!important;
}

body .next-page>.page-intro>*,
body .challenge-page>.challenge-hero>*,
body .why-page>.why-hero>*,
body.page-partners main.wrap>.page-hero>*,
html body.adventure-page main.interactive-main>section.adventure-page-hero>*,
body.choice-hub-page .mission-hub>.mission-intro>*,
body.module-next main.module-next>.module-next-hero>*{
  position:relative;
  z-index:1;
}

body .next-page>.page-intro h1,
body .challenge-page>.challenge-hero h1,
body .why-page>.why-hero h1,
body.page-partners main.wrap>.page-hero h1,
html body.adventure-page main.interactive-main>section.adventure-page-hero h1,
body.choice-hub-page .mission-hub>.mission-intro h2,
body.module-next main.module-next>.module-next-hero h1{
  width:auto!important;
  max-width:860px!important;
  margin:clamp(14px,2vw,20px) 0 0!important;
  padding:0!important;
  color:#17131f!important;
  -webkit-text-fill-color:#17131f!important;
  font:700 clamp(3.25rem,6.15vw,6.25rem)/.92 "Space Grotesk",Manrope,sans-serif!important;
  letter-spacing:-.062em!important;
  text-align:left!important;
  text-transform:none!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-shadow:none!important;
  animation:none!important;
  transform:none!important;
}

body .next-page>.page-intro h1 em,
body .challenge-page>.challenge-hero h1 em,
body.page-contact .next-page>.page-intro h1 em{
  color:#6f35ed!important;
  -webkit-text-fill-color:#6f35ed!important;
  font-style:normal!important;
}

body .next-page>.page-intro :is(.kicker,.section-tag),
body .challenge-page>.challenge-hero :is(.section-tag,.eyebrow),
body .why-page>.why-hero :is(.section-tag,.eyebrow),
body.page-partners main.wrap>.page-hero .eyebrow,
html body.adventure-page main.interactive-main>section.adventure-page-hero .eyebrow,
body.choice-hub-page .mission-hub>.mission-intro .section-tag,
body.module-next main.module-next>.module-next-hero .module-kicker{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:.56rem .78rem!important;
  color:#2f1b54!important;
  -webkit-text-fill-color:#2f1b54!important;
  border:1px solid rgba(23,19,31,.24)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:6px 6px 0 #dfff2f!important;
  font:800 clamp(.68rem,1vw,.78rem)/1.1 Manrope,sans-serif!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  animation:none!important;
  transform:none!important;
}

body .next-page>.page-intro :is(.kicker,.section-tag)::before,
body .challenge-page>.challenge-hero :is(.section-tag,.eyebrow)::before,
body .why-page>.why-hero :is(.section-tag,.eyebrow)::before,
body.page-partners main.wrap>.page-hero .eyebrow::before,
html body.adventure-page main.interactive-main>section.adventure-page-hero .eyebrow::before,
body.choice-hub-page .mission-hub>.mission-intro .section-tag::before,
body.module-next main.module-next>.module-next-hero .module-kicker::before{
  content:none!important;
  display:none!important;
}

body .next-page>.page-intro>p:last-of-type,
body .challenge-page>.challenge-hero>p:last-of-type,
body .why-page>.why-hero>p:not(.section-tag),
body.page-partners main.wrap>.page-hero .page-head>p,
html body.adventure-page main.interactive-main>section.adventure-page-hero .adventure-intro,
body.choice-hub-page .mission-hub>.mission-intro>p,
body.module-next main.module-next>.module-next-hero .module-lead{
  display:block!important;
  width:auto!important;
  max-width:680px!important;
  margin:clamp(22px,2.5vw,30px) 0 0!important;
  padding:0!important;
  align-self:flex-start!important;
  color:rgba(23,19,31,.72)!important;
  -webkit-text-fill-color:rgba(23,19,31,.72)!important;
  font:600 clamp(.98rem,1.35vw,1.15rem)/1.62 Manrope,sans-serif!important;
  text-align:left!important;
  animation:none!important;
  transform:none!important;
}

body .next-page>.page-intro>p:last-of-type::after,
body .challenge-page>.challenge-hero>p:last-of-type::after{
  content:""!important;
  display:block!important;
  width:112px!important;
  height:4px!important;
  margin-top:28px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#6f35ed 0 52%,#dfff2f 52% 78%,#ff7465 78%)!important;
}

body .why-page>.why-hero .why-scroll{
  position:static!important;
  display:inline-flex!important;
  width:max-content!important;
  margin:28px 0 0!important;
  color:#17131f!important;
  text-align:left!important;
}
body .why-page>.why-hero .why-scroll::after{content:none!important;display:none!important}

body.page-partners main.wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 90px!important;
}
body.page-partners main.wrap>.page-hero .page-head,
html body.adventure-page main.interactive-main>section.adventure-page-hero .page-head{
  width:100%!important;
  max-width:860px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
html body.adventure-page main.interactive-main>section.adventure-page-hero .page-head::before{
  content:none!important;
  display:none!important;
}
body.page-partners main.wrap>.join{
  width:min(var(--uniform-content-width),calc(100% - 48px))!important;
  margin:56px auto 0!important;
}

/* Choice and gamebook keep their controls compact, while their openings become full-width. */
body.choice-hub-page .mission-hub{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 clamp(64px,8vw,108px)!important;
}
body.choice-hub-page .mission-hub>.mission-intro{gap:0!important;margin-bottom:34px!important}
body.choice-hub-page .mission-hub>.mission-intro>div{width:100%!important;max-width:860px!important}
body.choice-hub-page .mission-category-tabs,
body.choice-hub-page .mission-console{
  width:min(var(--uniform-content-width),calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html body.adventure-page main.interactive-main{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 78px!important;
}
html body.adventure-page main.interactive-main>.site-back-link{
  position:absolute!important;
  z-index:4!important;
  top:86px!important;
  left:var(--uniform-gutter)!important;
  margin:0!important;
}
html body.adventure-page main.interactive-main>.book{
  width:min(960px,calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.module-next main.module-next>.module-next-hero .module-next-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.module-next main.module-next>.module-next-hero .module-back{margin:0 0 32px!important}
body.module-next main.module-next>.module-next-hero .module-title-row{display:block!important}
body.module-next main.module-next>.module-next-hero .module-sign{display:none!important}
body.module-next main.module-next>.module-next-hero .module-meta{margin-top:28px!important}

/* Reserve one consistent desktop column for the brand mark. */
@media(min-width:981px){
  body :is(.next-page>.page-intro,.challenge-page>.challenge-hero,.why-page>.why-hero).page-brand-host,
  body.page-partners main.wrap>.page-hero.page-brand-host,
  html body.adventure-page main.interactive-main>section.adventure-page-hero.page-brand-host,
  body.choice-hub-page .mission-hub>.mission-intro.page-brand-host,
  body.module-next main.module-next>.module-next-hero.page-brand-host{
    padding-right:clamp(350px,31vw,500px)!important;
  }
  body .page-brand-host>.page-brand-watermark{
    right:clamp(42px,7vw,120px)!important;
    top:50%!important;
    width:clamp(245px,24vw,365px)!important;
    margin:0!important;
    opacity:.17!important;
    transform:translateY(-50%)!important;
  }
}

/* Remove accidental empty grid columns and right-aligned text blocks. */
body .manifesto-index,
body .why-number{display:none!important}
body .manifesto{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(72px,8vw,112px) var(--uniform-gutter)!important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
  align-items:start!important;
  gap:clamp(32px,6vw,84px)!important;
}
body .manifesto-copy,
body .manifesto-side{grid-column:auto!important;align-self:start!important;text-align:left!important}
body .why-quotes,
body .why-block,
body .why-statement,
body .why-mission,
body .why-finale{padding-left:var(--uniform-gutter)!important;padding-right:var(--uniform-gutter)!important}
body .why-quotes p{max-width:100%!important;text-align:left!important}
body .why-block{
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
  align-items:start!important;
}
body .why-block>div,
body .why-block>ul{grid-column:auto!important;align-self:start!important;text-align:left!important}
body .why-statement{grid-template-columns:1fr!important}
body .why-statement>*{grid-column:auto!important;margin-left:0!important;text-align:left!important}
body .why-mission{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
}
body .why-mission>*{grid-column:auto!important;text-align:left!important}

/* Volunteers: preserve all four restored colours, but top-align every text row. */
body .page-intro-activities+.activities-audience .activity-card>div{
  align-items:start!important;
}
body .page-intro-activities+.activities-audience .activity-card h2,
body .page-intro-activities+.activities-audience .activity-card p{
  align-self:start!important;
  text-align:left!important;
}

body .volunteer-presentation{
  padding:clamp(54px,7vw,86px) 0!important;
}
body .volunteer-presentation-head,
body .volunteer-presentation-frame,
body .volunteer-presentation-note{
  width:min(var(--uniform-content-width),calc(100% - 48px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .volunteer-presentation-head{
  display:block!important;
  margin-bottom:26px!important;
  text-align:left!important;
}
body .volunteer-presentation-head h2{max-width:780px!important;margin:14px 0 18px!important}
body .volunteer-presentation-head p:last-child{max-width:680px!important;margin:0!important;text-align:left!important}
body .volunteer-presentation-frame{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/9!important;
  margin-bottom:22px!important;
}
body .volunteer-presentation>.action{
  display:flex!important;
  width:max-content!important;
  margin:0 0 0 var(--uniform-gutter)!important;
}
body .volunteer-presentation-note{text-align:left!important}

/* Mobile uses the same rhythm at a smaller scale, not a separate composition. */
@media(max-width:900px){
  body .manifesto{grid-template-columns:1fr!important}
  body .why-block,
  body .why-mission{grid-template-columns:1fr!important}
  body .why-mission .action{grid-column:auto!important}
}

@media(max-width:760px){
  :root{
    --uniform-gutter:20px;
    --uniform-hero-top:102px;
    --uniform-hero-bottom:52px;
  }
  body .next-page>.page-intro.page-intro-play,
  body .next-page>.page-intro.page-intro-stories,
  body .next-page>.page-intro.page-intro-useful,
  body .next-page>.page-intro.page-intro-activities,
  body.page-contact .next-page>.page-intro.join-intro,
  body .challenge-page>.challenge-hero,
  body .why-page>.why-hero,
  body.page-partners main.wrap>.page-hero,
  html body.adventure-page main.interactive-main>section.adventure-page-hero,
  body.choice-hub-page .mission-hub>.mission-intro,
  body.module-next main.module-next>.module-next-hero{
    min-height:0!important;
    padding:var(--uniform-hero-top) var(--uniform-gutter) var(--uniform-hero-bottom)!important;
  }
  body .next-page>.page-intro h1,
  body .challenge-page>.challenge-hero h1,
  body .why-page>.why-hero h1,
  body.page-partners main.wrap>.page-hero h1,
  html body.adventure-page main.interactive-main>section.adventure-page-hero h1,
  body.choice-hub-page .mission-hub>.mission-intro h2,
  body.module-next main.module-next>.module-next-hero h1{
    max-width:12ch!important;
    font-size:clamp(2.65rem,12vw,4rem)!important;
    line-height:.93!important;
  }
  body .next-page>.page-intro::before,
  body .challenge-page>.challenge-hero::before,
  body .why-page>.why-hero::before,
  body.page-partners main.wrap>.page-hero::before,
  html body.adventure-page main.interactive-main>section.adventure-page-hero::before,
  body.choice-hub-page .mission-hub>.mission-intro::before,
  body.module-next main.module-next>.module-next-hero::before{
    right:-185px!important;
    width:360px!important;
    opacity:.36!important;
  }
  body .next-page>.page-intro::after,
  body .challenge-page>.challenge-hero::after,
  body .why-page>.why-hero::after,
  body.page-partners main.wrap>.page-hero::after,
  html body.adventure-page main.interactive-main>section.adventure-page-hero::after,
  body.choice-hub-page .mission-hub>.mission-intro::after,
  body.module-next main.module-next>.module-next-hero::after{
    right:14px!important;
    top:96px!important;
  }
  body.choice-hub-page .mission-category-tabs,
  body.choice-hub-page .mission-console,
  html body.adventure-page main.interactive-main>.book,
  body .volunteer-presentation-head,
  body .volunteer-presentation-frame,
  body .volunteer-presentation-note{
    width:calc(100% - 40px)!important;
  }
  html body.adventure-page main.interactive-main>.site-back-link{
    top:74px!important;
    left:20px!important;
  }
  body .manifesto,
  body .why-quotes,
  body .why-block,
  body .why-statement,
  body .why-mission,
  body .why-finale{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  body .page-intro-activities+.activities-audience .activity-card>div{
    width:calc(100% - 40px)!important;
    gap:20px!important;
  }
  body .volunteer-presentation{padding:48px 0!important}
  body .volunteer-presentation-frame{aspect-ratio:16/9!important}
  body .volunteer-presentation>.action{margin-left:20px!important}
}

/* v20 — desktop alignment, lighter volunteer page and reliable content rendering */
@media(min-width:981px){
  /* The logo belongs beside the page title on desktop, not in a separate screen. */
  body:not(.home-page) .brand-reveal{display:none!important}
  body :is(.next-page>.page-intro,.challenge-page>.challenge-hero,.why-page>.why-hero).page-brand-host,
  body.page-contact .next-page>.page-intro.join-intro.page-brand-host{
    min-height:0!important;
    padding-top:clamp(104px,8vw,124px)!important;
    padding-right:clamp(340px,30vw,470px)!important;
    padding-bottom:clamp(62px,5.5vw,78px)!important;
  }
  body .page-brand-host>.page-brand-watermark{
    position:absolute!important;
    z-index:0!important;
    right:clamp(44px,7vw,112px)!important;
    top:50%!important;
    width:clamp(250px,24vw,350px)!important;
    opacity:.26!important;
    transform:translateY(-50%)!important;
  }

  /* Homepage: the two neighbouring actions share one right edge and one size. */
  body.home-page .choice-gateway,
  body.home-page .daily-example{
    padding-left:var(--uniform-gutter)!important;
    padding-right:var(--uniform-gutter)!important;
  }
  body.home-page .choice-gateway{
    align-items:center!important;
  }
  body.home-page .daily-example{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:clamp(28px,5vw,64px)!important;
  }
  body.home-page .choice-gateway .action,
  body.home-page .daily-button{
    box-sizing:border-box!important;
    width:220px!important;
    min-width:220px!important;
    min-height:54px!important;
    padding:15px 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    justify-self:end!important;
  }

  /* The plus becomes a small marker; the heading starts on the common left line. */
  body.home-page .join-panel{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    padding:clamp(116px,10vw,146px) var(--uniform-gutter) clamp(72px,8vw,108px)!important;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
    gap:clamp(36px,6vw,88px)!important;
    align-items:start!important;
  }
  body.home-page .join-symbol{
    position:absolute!important;
    left:var(--uniform-gutter)!important;
    top:clamp(34px,4vw,52px)!important;
    width:58px!important;
    height:58px!important;
    font-size:2.7rem!important;
  }
  body.home-page .join-panel>div:not(.join-symbol),
  body.home-page .join-side{grid-column:auto!important}

  /* Compact one-line ending instead of a second oversized hero. */
  body.home-page .finale{
    min-height:0!important;
    padding:clamp(64px,7vw,92px) var(--uniform-gutter)!important;
  }
  body.home-page .finale h2{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:.18em!important;
    max-width:none!important;
    margin:18px 0 0!important;
    font-size:clamp(3rem,5.3vw,5.9rem)!important;
    line-height:.95!important;
    letter-spacing:-.055em!important;
  }
  body.home-page .finale-divider{
    color:rgba(255,255,255,.4)!important;
    font-weight:400!important;
  }

  /* Why: every belief begins on the same left line as the mission below it. */
  body .why-prevention .belief-card{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding-left:var(--uniform-gutter)!important;
    padding-right:var(--uniform-gutter)!important;
    text-align:left!important;
  }
  body .why-prevention .belief-card::before{display:none!important}
  body .why-prevention .belief-card h3,
  body .why-prevention .belief-card p{
    grid-column:1!important;
    margin-left:0!important;
    text-align:left!important;
  }
  body .why-mission{align-items:center!important}
  body .why-mission .action{align-self:center!important}
  body .why-page>.challenge-gateway{
    padding-left:var(--uniform-gutter)!important;
    padding-right:var(--uniform-gutter)!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  body .why-page>.challenge-gateway>div{max-width:920px!important}
  body .why-page>.challenge-gateway .action{align-self:center!important}

  /* Volunteers: long headings get a protected column and can never overlap. */
  body .page-intro-activities+.activities-audience .activity-card>div{
    grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)!important;
    gap:clamp(42px,6vw,82px)!important;
    align-items:start!important;
  }
  body .page-intro-activities+.activities-audience .activity-card h2{
    min-width:0!important;
    font-size:clamp(2.35rem,3.7vw,4.45rem)!important;
    line-height:.98!important;
    overflow-wrap:break-word!important;
  }
  body .activity-offer-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    width:min(var(--uniform-content-width),100%)!important;
    margin:0 auto 56px!important;
    text-align:center!important;
  }
  body .activity-offer-head .section-tag{margin-bottom:22px!important}
  body .activity-offer-head h2{
    width:100%!important;
    max-width:1120px!important;
    margin:0 auto!important;
    text-align:center!important;
    text-wrap:balance!important;
  }
  body .next-page>.challenge-gateway{
    display:block!important;
    padding:clamp(70px,9vw,126px) var(--uniform-gutter)!important;
    text-align:left!important;
  }
  body .next-page>.challenge-gateway>div{max-width:1060px!important}
  body .next-page>.challenge-gateway h2{max-width:1050px!important}
  body .next-page>.challenge-gateway p:not(.section-tag){max-width:740px!important}
  body .next-page>.challenge-gateway .action{
    width:max-content!important;
    min-width:240px!important;
    margin-top:34px!important;
    background:#f4ff6a!important;
    color:#171717!important;
  }
}

/* The presentation is now a small launcher; its 4.3 MB page loads only after a click. */
body .volunteer-presentation{
  padding:clamp(42px,6vw,72px) var(--uniform-gutter)!important;
  background:#f6f2e9!important;
}
body .volunteer-presentation-card{
  width:min(var(--uniform-content-width),100%)!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,34px)!important;
  display:grid!important;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr) auto!important;
  gap:clamp(24px,4vw,54px)!important;
  align-items:center!important;
  border:1px solid #171717!important;
  background:#fff!important;
  box-shadow:8px 8px 0 #7146ff!important;
}
body .volunteer-presentation-mark{
  aspect-ratio:1.35/1!important;
  padding:20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:#171717!important;
  color:#fff!important;
  font:800 clamp(1.15rem,2vw,1.7rem)/.94 "Space Grotesk",sans-serif!important;
  letter-spacing:-.04em!important;
  text-transform:uppercase!important;
}
body .volunteer-presentation-mark span:last-child{color:#dfff2f!important}
body .volunteer-presentation-card .volunteer-presentation-head{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
body .volunteer-presentation-card .volunteer-presentation-head .section-tag{margin:0 0 10px!important}
body .volunteer-presentation-card .volunteer-presentation-head h2{
  max-width:none!important;
  margin:0!important;
  font-size:clamp(2rem,3.5vw,3.8rem)!important;
  line-height:.94!important;
}
body .volunteer-presentation-card .action{
  width:max-content!important;
  min-width:220px!important;
  margin:0!important;
  background:#171717!important;
  color:#fff!important;
}

/* Useful: cards grow with their content and keep their full bottom edge visible. */
body .useful-library,
body .useful-grid,
body .useful-article{overflow:visible!important}
body .useful-grid{align-items:stretch!important;padding-bottom:2px!important}
body .useful-article{height:auto!important;min-height:0!important}
body .useful-article summary{
  box-sizing:border-box!important;
  height:auto!important;
  min-height:310px!important;
  padding-bottom:clamp(30px,4vw,48px)!important;
}
body .useful-article .article-open{padding-bottom:3px!important}

@media(max-width:980px){
  body.home-page .finale h2{display:block!important}
  body.home-page .finale h2>*{display:block!important}
  body.home-page .finale-divider{display:none!important}
  body .volunteer-presentation-card{
    grid-template-columns:150px minmax(0,1fr)!important;
  }
  body .volunteer-presentation-card .action{
    grid-column:1/-1!important;
    min-width:0!important;
  }
}

@media(max-width:620px){
  body .volunteer-presentation{padding-left:20px!important;padding-right:20px!important}
  body .volunteer-presentation-card{
    grid-template-columns:1fr!important;
    padding:20px!important;
    gap:20px!important;
    box-shadow:5px 5px 0 #7146ff!important;
  }
  body .volunteer-presentation-mark{width:min(190px,100%)!important}
  body .volunteer-presentation-card .action{grid-column:auto!important;width:100%!important}
}

/* Audit follow-up: empty legacy number cells must never create visual indentation. */
body .program-link>.program-no:empty,
body .experience>.experience-no:empty,
body .activity-offer-row>span:empty{display:none!important}
body .program-link{
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 60px!important;
}
body .activity-offer-row{
  grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr)!important;
  align-items:start!important;
}
body .activity-offer-row>h3,
body .activity-offer-row>p{
  grid-column:auto!important;
  text-align:left!important;
}
@media(max-width:980px){
  body .program-link{grid-template-columns:minmax(0,1fr) 50px!important}
  body .program-link>.program-desc{display:none!important}
}
@media(max-width:620px){
  body .activity-offer-row{grid-template-columns:1fr!important;gap:12px!important}
  body .activity-offer-row>p{grid-column:auto!important}
}

/* V19 — homepage order: one reading rhythm, existing visual language. */
body.home-page{
  --home-content-width:1180px;
  --home-gutter:max(24px,calc((100vw - var(--home-content-width))/2));
  --home-section-y:clamp(66px,7vw,92px);
}

body.home-page main>.opening,
body.home-page main>.manifesto,
body.home-page main>.contrast,
body.home-page main>.choice-gateway,
body.home-page main>.daily-example,
body.home-page main>.programs,
body.home-page main>.stories-preview,
body.home-page main>.join-panel,
body.home-page main>.finale{
  box-sizing:border-box!important;
  padding-left:var(--home-gutter)!important;
  padding-right:var(--home-gutter)!important;
}

body.home-page main>section .section-tag,
body.home-page main>.opening .kicker{
  margin-top:0!important;
  margin-bottom:14px!important;
}

/* Opening: keep the logo and message, but give the copy a clear internal order. */
body.home-page main>.opening{
  min-height:0!important;
  padding-top:clamp(106px,11vw,138px)!important;
  padding-bottom:clamp(58px,6vw,78px)!important;
  gap:clamp(34px,5vw,68px)!important;
}
body.home-page .opening-copy{
  width:100%!important;
  max-width:660px!important;
  padding-right:0!important;
  align-self:center!important;
}
body.home-page .opening h1{
  max-width:10ch!important;
  margin:0!important;
  font-size:clamp(4rem,7vw,6.6rem)!important;
  line-height:.84!important;
}
body.home-page .opening-lead{
  max-width:540px!important;
  margin:28px 0 0!important;
  line-height:1.62!important;
}
body.home-page .opening-actions{
  margin-top:22px!important;
}
body.home-page .opening-actions .text-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}

/* Why and contrast: title first, supporting copy immediately after it. */
body.home-page main>.manifesto{
  min-height:0!important;
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
  align-items:start!important;
}
body.home-page .manifesto-copy{max-width:860px!important}
body.home-page .manifesto-side{
  max-width:680px!important;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.7!important;
}
body.home-page .manifesto-side p{margin:0!important}
body.home-page .manifesto-side a{margin-top:18px!important}

body.home-page main>.contrast{
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
}
body.home-page .contrast-head{
  display:block!important;
  max-width:980px!important;
  margin:0 0 clamp(32px,4vw,48px)!important;
}
body.home-page .contrast-head h2{margin:0!important}

/* Activities: the action belongs to the copy instead of floating on its own. */
body.home-page main>.choice-gateway{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:24px!important;
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
}
body.home-page .choice-gateway-copy{max-width:850px!important}
body.home-page .choice-gateway h2{margin:0 0 18px!important}
body.home-page .choice-gateway .action{
  justify-self:start!important;
  width:auto!important;
  min-width:210px!important;
  min-height:52px!important;
  margin:0!important;
}

/* Daily example: TODAY and its section label are one unit, not separate columns. */
body.home-page main>.daily-example{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:clamp(28px,5vw,72px)!important;
  padding-top:clamp(54px,6vw,76px)!important;
  padding-bottom:clamp(54px,6vw,76px)!important;
}
body.home-page .daily-example-copy{
  width:100%!important;
  max-width:900px!important;
}
body.home-page .daily-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px 18px!important;
  margin:0 0 16px!important;
}
body.home-page .daily-meta .daily-index,
body.home-page .daily-meta .section-tag{
  margin:0!important;
}
body.home-page .daily-meta .daily-index{
  padding-right:18px!important;
  border-right:1px solid rgba(23,19,31,.36)!important;
}
body.home-page .daily-example h2{
  max-width:850px!important;
  font-size:clamp(2.55rem,5vw,5.4rem)!important;
  line-height:.95!important;
}
body.home-page .daily-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  min-width:190px!important;
  min-height:52px!important;
  padding:15px 18px!important;
  white-space:nowrap!important;
}

/* Resources: label, heading and description share one column before the links. */
body.home-page main>.programs{
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
}
body.home-page .programs-head{
  display:block!important;
  max-width:940px!important;
  margin:0 0 clamp(34px,4vw,48px)!important;
}
body.home-page .programs-head h2{margin:0!important}
body.home-page .programs-head .learn-intro{
  max-width:680px!important;
  margin:20px 0 0!important;
}
body.home-page .program-link{
  min-height:84px!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
}

/* Stories retain their visual panel; the text column follows the same CTA rhythm. */
body.home-page main>.stories-preview{
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
  align-items:center!important;
  gap:clamp(38px,6vw,76px)!important;
}
body.home-page .stories-copy{max-width:560px!important}
body.home-page .stories-copy h2{margin:0 0 18px!important}
body.home-page .stories-copy p:not(.section-tag){margin:0!important}
body.home-page .stories-copy .action,
body.home-page .join-side .action{
  width:auto!important;
  min-width:210px!important;
  min-height:52px!important;
  margin-top:24px!important;
}

/* Join: symbol, headline, explanation and action form one intentional block. */
body.home-page main>.join-panel{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:var(--home-section-y)!important;
  padding-bottom:var(--home-section-y)!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-areas:"symbol heading" "symbol side"!important;
  align-items:start!important;
  gap:20px 28px!important;
}
body.home-page .join-symbol{
  grid-area:symbol!important;
  width:68px!important;
  height:68px!important;
  font-size:3.1rem!important;
}
body.home-page .join-panel>div:nth-child(2){
  grid-area:heading!important;
  width:100%!important;
  max-width:940px!important;
}
body.home-page .join-panel h2{margin:0!important}
body.home-page .join-side{
  grid-area:side!important;
  width:100%!important;
  max-width:680px!important;
  margin:0!important;
}
body.home-page .join-side p{margin:0!important}

/* All promotional actions keep their colours, but share one physical footprint. */
body.home-page :is(.choice-gateway,.stories-copy,.join-side)>.action{
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:15px 18px!important;
}

@media(min-width:840px){
  /* Chrome's “Desktop site” viewport is often around 980px: treat it as desktop. */
  body.home-page main>.opening{
    grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;
  }
  body.home-page .opening-stage{
    justify-self:end!important;
    width:100%!important;
    max-width:560px!important;
  }
  body.home-page .contrast-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.home-page main>.stories-preview{
    grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr)!important;
  }
}

@media(min-width:761px) and (max-width:1100px){
  body.home-page main>.manifesto{
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  body.home-page .manifesto-side{grid-column:auto!important}
}

@media(max-width:839px){
  body.home-page main>.daily-example{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
  }
  body.home-page .daily-button{justify-self:start!important}
}

@media(max-width:760px){
  body.home-page{
    --home-gutter:20px;
    --home-section-y:52px;
  }
  body.home-page main>.opening{
    padding-top:92px!important;
    padding-bottom:48px!important;
  }
  body.home-page .opening h1{
    font-size:clamp(3.7rem,17vw,5.8rem)!important;
  }
  body.home-page main>.manifesto{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.home-page main>.join-panel{
    grid-template-columns:1fr!important;
    grid-template-areas:"symbol" "heading" "side"!important;
    gap:18px!important;
  }
  body.home-page .join-symbol{
    width:62px!important;
    height:62px!important;
    font-size:2.8rem!important;
  }
  body.home-page .daily-meta{
    gap:8px 12px!important;
    margin-bottom:14px!important;
  }
  body.home-page .daily-meta .daily-index{
    padding-right:12px!important;
  }
  body.home-page .daily-example h2{
    font-size:clamp(2.35rem,11vw,3.6rem)!important;
  }
}

/* v21 — final desktop placement after the homepage rhythm rules */
@media(min-width:981px){
  body.home-page main>.choice-gateway{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(28px,5vw,64px)!important;
  }
  body.home-page .choice-gateway .action,
  body.home-page .daily-button{
    width:220px!important;
    min-width:220px!important;
    min-height:54px!important;
    justify-self:end!important;
  }
  body.home-page main>.join-panel{
    position:relative!important;
    padding-top:clamp(116px,10vw,146px)!important;
    padding-bottom:clamp(72px,8vw,108px)!important;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
    grid-template-areas:"heading side"!important;
    gap:clamp(36px,6vw,88px)!important;
  }
  body.home-page .join-symbol{
    position:absolute!important;
    left:var(--home-gutter)!important;
    top:clamp(34px,4vw,52px)!important;
    width:58px!important;
    height:58px!important;
    font-size:2.7rem!important;
  }
  body.home-page .join-panel>div:nth-child(2){grid-area:heading!important}
  body.home-page .join-side{grid-area:side!important;max-width:none!important}
}

/* v24 — final desktop refinement and lightweight motion. */

/* The homepage reveal is allowed once per session; inner pages never own one. */
html.gotinoe-intro-seen body.home-page .brand-reveal{display:none!important}
html.gotinoe-intro-seen body.home-page.gotinoe-intro-active{overflow:auto!important}
html.gotinoe-intro-seen body.home-page.gotinoe-intro-active :is(.masthead,main,footer){
  opacity:1!important;
  transform:none!important;
}
@media(min-width:981px){
  body.home-page .brand-reveal:not(.gotinoe-hidden){display:grid!important}
}

/* One benchmark for every inner-page desktop opening: the Activities header. */
@media(min-width:981px){
  body.inner-page .unified-inner-hero{
    position:relative!important;
    isolation:isolate!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:none!important;
    min-height:clamp(455px,38vw,515px)!important;
    height:auto!important;
    margin:0!important;
    padding:clamp(112px,8.5vw,128px) clamp(350px,31vw,500px) clamp(62px,5.5vw,78px) var(--uniform-gutter)!important;
    overflow:hidden!important;
    color:#17131f!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid rgba(23,19,31,.18)!important;
    border-radius:0!important;
    background-color:#f6f2e9!important;
    background-image:
      linear-gradient(104deg,transparent 0 66%,rgba(111,53,237,.055) 66.15% 66.45%,transparent 66.65%),
      linear-gradient(104deg,transparent 0 72%,rgba(223,255,47,.16) 72.15% 72.5%,transparent 72.72%),
      linear-gradient(135deg,#fbf8f1 0%,#f2ede4 100%)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.inner-page .unified-inner-hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:-2!important;
    left:auto!important;
    right:clamp(-115px,-5vw,-42px)!important;
    top:50%!important;
    width:clamp(270px,35vw,480px)!important;
    height:auto!important;
    aspect-ratio:1!important;
    border:0!important;
    border-radius:50%!important;
    background:conic-gradient(from 22deg,transparent 0 8%,#6f35ed 12% 34%,#a855f7 38% 50%,#dfff2f 57% 73%,transparent 82% 100%)!important;
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 11px))!important;
    mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 calc(100% - 11px))!important;
    opacity:.52!important;
    filter:none!important;
    transform:translateY(-50%) rotate(-18deg)!important;
    animation:none!important;
    pointer-events:none!important;
  }
  body.inner-page .unified-inner-hero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:-1!important;
    left:auto!important;
    right:clamp(34px,8vw,118px)!important;
    top:clamp(105px,13vw,170px)!important;
    width:clamp(72px,9vw,112px)!important;
    height:clamp(72px,9vw,112px)!important;
    border:0!important;
    border-radius:50%!important;
    clip-path:none!important;
    background:radial-gradient(circle,rgba(255,255,255,.96) 0 4%,#dfff2f 5% 12%,rgba(223,255,47,.22) 13% 31%,transparent 32%)!important;
    opacity:.9!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
    pointer-events:none!important;
  }
  body.inner-page .unified-inner-hero>.page-brand-watermark{
    position:absolute!important;
    z-index:0!important;
    right:clamp(44px,7vw,112px)!important;
    top:50%!important;
    width:clamp(250px,24vw,350px)!important;
    margin:0!important;
    opacity:.24!important;
    transform:translateY(-50%)!important;
  }
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark){
    position:relative!important;
    z-index:1!important;
  }
  body.inner-page .unified-inner-hero :is(.page-head,.module-next-inner){
    width:100%!important;
    max-width:860px!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.inner-page .unified-inner-hero :is(h1,h2){
    width:auto!important;
    max-width:860px!important;
    margin:clamp(14px,2vw,20px) 0 0!important;
    padding:0!important;
    color:#17131f!important;
    -webkit-text-fill-color:#17131f!important;
    font:700 clamp(3.25rem,6.15vw,6.25rem)/.92 "Space Grotesk",Manrope,sans-serif!important;
    letter-spacing:-.062em!important;
    text-align:left!important;
    text-transform:none!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    text-shadow:none!important;
    animation:none!important;
    transform:none!important;
  }
  body.inner-page .unified-inner-hero :is(h1,h2) em{
    color:#6f35ed!important;
    -webkit-text-fill-color:#6f35ed!important;
    font-style:normal!important;
  }
  body.inner-page .unified-inner-hero :is(.kicker,.section-tag,.eyebrow,.module-kicker,.game-kicker,.mission-eyebrow){
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:.56rem .78rem!important;
    color:#2f1b54!important;
    -webkit-text-fill-color:#2f1b54!important;
    border:1px solid rgba(23,19,31,.24)!important;
    border-radius:0!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:6px 6px 0 #dfff2f!important;
    font:800 clamp(.68rem,1vw,.78rem)/1.1 Manrope,sans-serif!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    animation:none!important;
    transform:none!important;
  }
  body.inner-page .unified-inner-hero :is(.kicker,.section-tag,.eyebrow,.module-kicker,.game-kicker,.mission-eyebrow)::before{
    content:none!important;
    display:none!important;
  }
  body.inner-page .unified-inner-hero>p:last-of-type,
  body.inner-page .unified-inner-hero .page-head>p:last-of-type,
  body.inner-page .unified-inner-hero .module-lead,
  body.inner-page .unified-inner-hero .adventure-intro{
    display:block!important;
    width:auto!important;
    max-width:680px!important;
    margin:clamp(22px,2.5vw,30px) 0 0!important;
    padding:0!important;
    color:rgba(23,19,31,.72)!important;
    -webkit-text-fill-color:rgba(23,19,31,.72)!important;
    font:600 clamp(.98rem,1.35vw,1.15rem)/1.62 Manrope,sans-serif!important;
    text-align:left!important;
    animation:none!important;
    transform:none!important;
  }
  body.inner-page .unified-inner-hero>p:last-of-type::after,
  body.inner-page .unified-inner-hero .page-head>p:last-of-type::after,
  body.inner-page .unified-inner-hero .module-lead::after,
  body.inner-page .unified-inner-hero .adventure-intro::after{
    content:""!important;
    display:block!important;
    width:112px!important;
    height:4px!important;
    margin-top:28px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#6f35ed 0 52%,#dfff2f 52% 78%,#ff7465 78%)!important;
  }
  body.choice-hub-page .choice-hub-main{padding-top:0!important}
  body.choice-hub-page .mission-hub>.mission-intro.unified-inner-hero{
    padding-top:clamp(112px,8.5vw,128px)!important;
    padding-bottom:clamp(62px,5.5vw,78px)!important;
  }
  body.choice-hub-page .mission-hub>.mission-intro.unified-inner-hero>.page-brand-watermark{
    right:clamp(44px,7vw,112px)!important;
    top:50%!important;
    width:clamp(250px,24vw,350px)!important;
    max-width:none!important;
    opacity:.24!important;
    transform:translateY(-50%)!important;
  }
  body.choice-hub-page .mission-hub>.mission-intro.unified-inner-hero>div:not(.page-brand-watermark){
    width:100%!important;
    max-width:860px!important;
  }
  body.choice-hub-page .mission-hub>.mission-intro.unified-inner-hero>div::before{display:none!important}
  body.adventure-page main.interactive-main>.site-back-link{
    top:88px!important;
  }
}

/* Why: a compact, centred, automatically rotating quote card. */
body .why-quotes{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  min-height:clamp(190px,20vw,250px)!important;
  padding:clamp(48px,6vw,76px) var(--uniform-gutter)!important;
  overflow:hidden!important;
  background:#f6f2e9!important;
  border-bottom:1px solid rgba(23,19,31,.18)!important;
}
body .why-quotes p{
  grid-area:1/1!important;
  width:min(100%,980px)!important;
  max-width:980px!important;
  margin:0!important;
  padding:0!important;
  color:#2f1b54!important;
  border:0!important;
  font:700 clamp(2.35rem,5vw,5.4rem)/.96 "Space Grotesk",sans-serif!important;
  letter-spacing:-.055em!important;
  text-align:center!important;
  text-wrap:balance!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(0,12px,0)!important;
  transition:opacity .48s ease,transform .5s cubic-bezier(.22,.72,.18,1),visibility 0s linear 0s!important;
}
body .why-quotes p.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  transition-delay:0s!important;
}

/* Volunteers: clean two-column cards, compact mission heading and matching insets. */
@media(min-width:981px){
  body .page-intro-activities+.activities-audience{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body .page-intro-activities+.activities-audience .activity-card{
    min-height:340px!important;
    border-bottom:1px solid #171717!important;
  }
  body .page-intro-activities+.activities-audience .activity-card:nth-child(even){border-right:0!important}
  body .page-intro-activities+.activities-audience .activity-card>div{
    display:block!important;
    width:100%!important;
  }
  body .page-intro-activities+.activities-audience .activity-card h2{
    max-width:13ch!important;
    margin:28px 0 18px!important;
    font-size:clamp(2.35rem,3.55vw,4rem)!important;
    line-height:.96!important;
  }
  body .page-intro-activities+.activities-audience .activity-card p{
    max-width:620px!important;
  }
  body .activity-offer{
    padding:44px var(--uniform-gutter) clamp(72px,8vw,108px)!important;
  }
  body .activity-offer-head{
    width:100%!important;
    max-width:none!important;
    margin:0 auto 42px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(23,19,31,.72)!important;
  }
  body .activity-offer-head .section-tag{margin:0 0 16px!important}
  body .activity-offer-head h2{
    max-width:1080px!important;
    margin:0 auto!important;
  }
  body .next-page>.challenge-gateway,
  body .next-page>.activities-cta{
    padding-left:var(--uniform-gutter)!important;
    padding-right:var(--uniform-gutter)!important;
  }
  body .next-page>.challenge-gateway .action,
  body .next-page>.activities-cta .action{
    width:max-content!important;
    min-width:240px!important;
    margin-top:34px!important;
  }
}

/* Comics: the choice action is visually clear and centred against the quote. */
body .quote-panel{align-items:center!important}
body .quote-panel a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:230px!important;
  min-height:54px!important;
  padding:15px 20px!important;
  color:#17131f!important;
  background:#dfff2f!important;
  border:1px solid #17131f!important;
  box-shadow:7px 7px 0 #17131f!important;
  text-align:center!important;
}
body .quote-panel a:hover{transform:translate(-2px,-2px)!important;box-shadow:9px 9px 0 #17131f!important}

/* Contact and Challenges reuse the compact homepage ending. */
body .compact-inline-finale{
  min-height:0!important;
  padding:clamp(62px,7vw,90px) var(--uniform-gutter)!important;
  background:#17131f!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
body .compact-inline-finale h2{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:.18em!important;
  max-width:none!important;
  margin:18px 0 0!important;
  font-size:clamp(3rem,5.3vw,5.9rem)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}
body .compact-inline-finale .finale-divider{color:rgba(255,255,255,.4)!important;font-weight:400!important}

/* A short entrance for the visible page heading; each full text block follows gently. */
@keyframes gotinoeTextIn{
  from{opacity:.2;transform:translate3d(0,12px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:no-preference){
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark){
    animation:gotinoeTextIn .52s cubic-bezier(.22,.72,.18,1) both!important;
  }
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark):nth-child(2){animation-delay:.04s!important}
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark):nth-child(3){animation-delay:.1s!important}
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark):nth-child(4){animation-delay:.16s!important}
  body.inner-page .unified-inner-hero>:not(.page-brand-watermark):nth-child(5){animation-delay:.2s!important}
}

/* Smooth content motion without blur, filters or layout work. */
.reveal-motion-ready .reveal-motion-item{
  opacity:0!important;
  transform:translate3d(0,14px,0)!important;
  filter:none!important;
  transition:opacity .5s ease,transform .52s cubic-bezier(.22,.72,.18,1)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
  will-change:opacity,transform!important;
}
.reveal-motion-ready .reveal-motion-item.is-revealed{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  filter:none!important;
  will-change:auto!important;
}

@media(max-width:980px){
  body .compact-inline-finale h2{display:block!important}
  body .compact-inline-finale h2>*{display:block!important}
  body .compact-inline-finale .finale-divider{display:none!important}
}
@media(max-width:760px){
  body .why-quotes{padding-left:20px!important;padding-right:20px!important;min-height:180px!important}
  body .why-quotes p{font-size:clamp(2.1rem,10vw,3.4rem)!important}
  body .quote-panel a{width:100%!important;min-width:0!important}
  body .compact-inline-finale{padding-left:20px!important;padding-right:20px!important}
}
@media(prefers-reduced-motion:reduce){
  body .why-quotes p{transition:none!important;transform:none!important}
  .reveal-motion-ready .reveal-motion-item,
  .reveal-motion-ready .reveal-motion-item.is-revealed{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
}
