:root{--bg:#14051f;--bg2:#281052;--card:#fff9ef;--ink:#21132b;--muted:#6b5a73;--brand:#6d28d9;--brand2:#f8c744;--soft:#efe7ff;--line:rgba(60,25,90,.14);--good:#16a34a;--danger:#dc2626;--shadow:0 18px 42px rgba(0,0,0,.22);--radius:26px}
[data-theme=blue]{--brand:#2563eb;--brand2:#fde047;--soft:#eaf3ff;--bg:#06142c;--bg2:#104070}[data-theme=green]{--brand:#16803c;--brand2:#facc15;--soft:#eafbea;--bg:#061b12;--bg2:#164e2c}[data-theme=gold]{--brand:#a16207;--brand2:#fde68a;--soft:#fff7d6;--bg:#241505;--bg2:#5b3806}[data-theme=rose]{--brand:#be185d;--brand2:#fed7aa;--soft:#fff0f6;--bg:#240616;--bg2:#6a123c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}body{background:radial-gradient(circle at 12% 2%,rgba(248,199,68,.28),transparent 26%),linear-gradient(140deg,var(--bg),var(--bg2));color:var(--card)}button,input,select{font:inherit}.appShell{width:min(1080px,100%);margin:0 auto;padding:10px 10px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;position:sticky;top:0;z-index:5;padding:6px 0;background:linear-gradient(180deg,rgba(20,5,31,.96),rgba(20,5,31,.72),transparent)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brandMark{width:50px;height:50px;border-radius:17px;display:block;object-fit:contain;background:rgba(255,255,255,.12);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.18);padding:3px}.backBtn{flex:0 0 auto;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.11);color:#fff;text-decoration:none;border-radius:999px;padding:10px 13px;font-weight:1000;min-height:42px;display:grid;place-items:center}h1{font-size:clamp(1.1rem,3vw,1.75rem);line-height:1;margin:0;font-weight:1000}.brand p{font-size:.78rem;font-weight:950;color:rgba(255,249,239,.82);margin:4px 0 0}.pillBtn,.softBtn,.mainBtn,.tab{border:0;cursor:pointer;font-weight:1000;border-radius:999px;min-height:42px;padding:10px 15px}.pillBtn,.softBtn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16)}.mainBtn{background:linear-gradient(180deg,var(--brand2),#f59e0b);color:#261200;box-shadow:0 10px 22px rgba(0,0,0,.18)}.wide{width:100%;margin-top:10px}.danger{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.25);color:#fee2e2}.heroCard,.verseCard{background:var(--card);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.28)}.heroCard{display:grid;grid-template-columns:1.02fr .98fr;gap:12px;overflow:hidden;padding:14px;margin-bottom:10px}.levelBadge{display:inline-flex;border-radius:999px;background:var(--soft);color:var(--brand);font-weight:1000;padding:7px 12px;font-size:.82rem}h2{font-size:clamp(1.6rem,5vw,3rem);line-height:.95;margin:10px 0;font-weight:1000;letter-spacing:-.045em}.heroActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.clueBox{background:linear-gradient(180deg,#fff,var(--soft));border:1px solid var(--line);border-radius:18px;padding:11px 12px;color:var(--muted);font-weight:900;line-height:1.35}.clueBox b{color:var(--brand)}.clueBox.light{background:var(--soft);margin:10px 0}.cartoonStage{min-height:235px;position:relative;border-radius:23px;background:linear-gradient(180deg,#bfe9ff 0%,#eefbff 58%,#b6efb8 59%,#82d98c);overflow:hidden;border:1px solid var(--line)}.path{position:absolute;left:50%;bottom:-20px;width:170px;height:95px;background:rgba(248,199,68,.38);border-radius:50% 50% 0 0;transform:translateX(-50%)}.sun,.cloud,.heroKid,.bibleBook,.spark{position:absolute}.sun{right:18px;top:16px;font-size:2.5rem}.cloud{font-size:2rem;opacity:.92}.cloud.one{left:20px;top:19px}.cloud.two{right:85px;top:56px}.heroKid{left:47%;bottom:35px;transform:translateX(-50%);font-size:4.6rem;animation:bob 2.8s infinite ease-in-out}.bibleBook{left:59%;bottom:28px;font-size:3.1rem}.spark{font-size:1.3rem}.s1{left:26%;top:88px}.s2{right:30%;top:106px}@keyframes bob{50%{transform:translateX(-50%) translateY(-8px)}}.tabbar{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:10px 0}.tab{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.13);font-size:.82rem}.tab.active{background:var(--card);color:var(--brand)}.panel{display:none}.panel.active{display:block}.verseCard{padding:16px;margin-bottom:10px}.verseCard.small{padding:14px}.verseTop{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--brand);font-weight:1000;font-size:.84rem}.verseCard h3{font-size:clamp(1.25rem,4vw,2.05rem);margin:8px 0;font-weight:1000;color:var(--ink)}blockquote{font-size:clamp(1.08rem,3vw,1.48rem);line-height:1.34;margin:10px 0;padding-left:13px;border-left:6px solid var(--brand2);font-weight:950}.ref{color:var(--brand);font-weight:1000;margin:0 0 8px}.progressWrap{height:12px;border-radius:999px;background:var(--soft);overflow:hidden;margin:14px 0}.progressBar{height:100%;width:1%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:.25s}.buttonGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.choiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}.choiceBtn{border:2px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);padding:16px;font-weight:1000;cursor:pointer;min-height:58px}.choiceBtn.correct{background:#dcfce7;border-color:#16a34a}.choiceBtn.wrong{background:#fee2e2;border-color:#ef4444}.missionGrid,.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.missionCard{background:var(--card);color:var(--ink);border-radius:22px;padding:15px;border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;cursor:pointer}.missionCard b{display:block;font-size:1.08rem;margin-bottom:4px}.missionCard span{display:block;color:var(--muted);font-weight:900;font-size:.88rem}.missionCard.done{outline:4px solid rgba(22,163,74,.22)}.purposeRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 11px}.purposeCard{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:10px;text-align:center;min-height:88px;display:grid;place-items:center}.purposeCard span{font-size:1.7rem}.purposeCard b{display:block;color:var(--brand);font-size:.95rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purposeCard small,.writtenVerse small{color:var(--muted);font-weight:1000;text-transform:uppercase;font-size:.64rem;letter-spacing:.05em}.writtenVerse{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;margin:8px 0}.missionFlag{position:absolute;left:16px;bottom:18px;background:linear-gradient(180deg,var(--brand2),#f59e0b);color:#261200;border-radius:999px;padding:8px 12px;font-weight:1000;box-shadow:0 8px 18px rgba(0,0,0,.18)}.recordGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.recordCard{background:var(--card);color:var(--ink);border-radius:21px;padding:16px;text-align:center;box-shadow:var(--shadow)}.recordCard b{font-size:1.85rem;color:var(--brand);display:block}.recordCard span{color:var(--muted);font-weight:950}.input{width:100%;min-height:48px;border:2px solid var(--line);border-radius:15px;padding:10px 12px;background:white;color:var(--ink);font-weight:900}.fieldLabel{display:block;color:var(--muted);font-weight:1000;margin:4px 0 7px}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(12px);opacity:0;pointer-events:none;background:#16051f;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:12px 16px;font-weight:1000;box-shadow:var(--shadow);transition:.2s;z-index:9}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:760px){.appShell{padding:8px}.brandMark{width:43px;height:43px;border-radius:15px}.backBtn{padding:8px 10px;min-height:36px;font-size:.78rem}.heroCard{grid-template-columns:1fr;padding:12px}.cartoonStage{min-height:175px}.heroKid{font-size:3.9rem}.bibleBook{font-size:2.65rem}.tabbar{gap:5px}.tab{font-size:.68rem;padding:8px 3px;min-height:38px}.buttonGrid,.missionGrid,.settingsGrid{grid-template-columns:1fr}.purposeRow{grid-template-columns:1fr 1fr 1fr;gap:6px}.purposeCard{padding:8px;min-height:78px}.purposeCard b{font-size:.78rem}.purposeCard span{font-size:1.35rem}.choiceGrid,.recordGrid{grid-template-columns:repeat(2,1fr)}.verseCard{padding:13px}.topbar{align-items:flex-start}.pillBtn{padding:8px 11px;min-height:36px}h2{font-size:2rem}}

/* Bible Hero fun light additions */
button,.tab,.missionCard,.choiceBtn,.purposeCard{transition:transform .16s ease, box-shadow .16s ease, filter .16s ease}
button:hover,.missionCard:hover,.choiceBtn:hover{transform:translateY(-3px) scale(1.02);filter:saturate(1.08)}
button:active,.missionCard:active,.choiceBtn:active{transform:translateY(1px) scale(.98)}
.mainBtn,.softBtn,.pillBtn,.tab.active{animation:softFloat 3.8s ease-in-out infinite}.softBtn:nth-child(2),.tab:nth-child(2){animation-delay:.35s}.softBtn:nth-child(3),.tab:nth-child(3){animation-delay:.7s}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.heroCard{position:relative}.heroCard:after{content:"";position:absolute;inset:auto 14px 10px auto;width:85px;height:85px;border-radius:999px;background:radial-gradient(circle,rgba(248,199,68,.28),transparent 62%);pointer-events:none;animation:pulseGlow 2.8s ease-in-out infinite}@keyframes pulseGlow{50%{transform:scale(1.18);opacity:.65}}
.levelsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px;max-height:420px;overflow:auto;padding:2px}.levelBtn{border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);padding:11px 8px;font-weight:1000;cursor:pointer;min-height:72px;box-shadow:0 10px 20px rgba(0,0,0,.08)}.levelBtn small{display:block;color:var(--muted);font-weight:900;margin-top:3px}.levelBtn.done{background:#dcfce7;border-color:#16a34a}.levelBtn.current{outline:4px solid rgba(248,199,68,.55);background:var(--soft)}.levelBtn.locked{opacity:.56;filter:grayscale(.3)}
.miniQuest{margin:8px 0 0;background:linear-gradient(90deg,rgba(248,199,68,.26),rgba(109,40,217,.12));border:1px dashed var(--brand);border-radius:16px;padding:9px 11px;color:var(--brand);font-weight:1000}.effectLayer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:8}.popFx,.doveFx,.boomFx,.fishFx,.fireFx{position:absolute;font-size:2rem;animation:floatPop 1.25s ease-out forwards;filter:drop-shadow(0 7px 12px rgba(0,0,0,.22))}.boomFx{font-size:4rem;animation:boomPop 1.1s ease-out forwards}.doveFx{font-size:2.4rem;animation:doveFly 2.2s ease-out forwards}.fishFx{font-size:2.3rem;animation:fishSwim 1.8s ease-out forwards}.fireFx{font-size:2.4rem;animation:fireRise 1.35s ease-out forwards}@keyframes floatPop{0%{transform:translateY(20px) scale(.3);opacity:0}30%{opacity:1}100%{transform:translateY(-90px) scale(1.2);opacity:0}}@keyframes boomPop{0%{transform:translate(-50%,-50%) scale(.25);opacity:0}30%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}@keyframes doveFly{0%{transform:translate(-20px,25px) scale(.5);opacity:0}25%{opacity:1}100%{transform:translate(160px,-120px) scale(1.2);opacity:0}}@keyframes fishSwim{0%{transform:translate(-90px,0) scale(.6);opacity:0}25%{opacity:1}100%{transform:translate(180px,-30px) scale(1.05);opacity:0}}@keyframes fireRise{0%{transform:translateY(25px) scale(.5);opacity:0}25%{opacity:1}100%{transform:translateY(-115px) scale(1.22);opacity:0}}
@media(max-width:760px){.tabbar{grid-template-columns:repeat(3,1fr)}.levelsGrid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:360px}.levelBtn{min-height:64px;font-size:.78rem}}


/* CPG Bible Hero phone-perfect and button reliability patch */
html{height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;overflow-x:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.55;cursor:not-allowed}.appShell{max-width:1120px}.topbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tabbar{position:sticky;top:66px;z-index:4}.tab,.mainBtn,.softBtn,.pillBtn,.backBtn,.choiceBtn,.missionCard,.levelBtn{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.tab:active,.mainBtn:active,.softBtn:active,.pillBtn:active,.backBtn:active,.choiceBtn:active,.missionCard:active,.levelBtn:active{transform:scale(.96)}.mainBtn,.choiceBtn,.levelBtn,.missionCard{animation:floaty 4.2s ease-in-out infinite}.softBtn,.tab{animation:floaty 5.3s ease-in-out infinite}@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -2px}}.buttonGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.buttonGrid button{width:100%;min-width:0}.choiceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choiceBtn{min-height:54px;white-space:normal}.levelsGrid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.levelBtn{min-height:64px;white-space:normal}.missionGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.missionCard{min-height:90px;text-align:left}.input,select{width:100%;min-height:46px}.toast{max-width:calc(100vw - 24px);text-align:center}.effectLayer{pointer-events:none}.writtenVerse blockquote{overflow-wrap:anywhere}.purposeRow{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.purposeCard{min-width:0}.purposeCard b,.verseTop span,.recordCard span{overflow-wrap:anywhere}.heroActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.heroActions button{width:100%;min-width:0}.cartoonStage{min-height:250px}
@media(max-width:760px){
  .appShell{padding:8px 7px 86px;width:100%;overflow-x:hidden}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;top:0}.backBtn{padding:8px 9px;min-height:38px;font-size:.76rem}.brand{gap:7px;min-width:0}.brandMark{width:38px;height:38px;border-radius:13px}.brand h1{font-size:1rem}.brand p{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pillBtn{min-height:38px;padding:7px 9px;font-size:.72rem}.heroCard{grid-template-columns:1fr;padding:10px;border-radius:20px;gap:8px}.heroLeft{min-width:0}h2{font-size:clamp(1.45rem,9vw,2.2rem);line-height:1.02}.cartoonStage{min-height:172px;border-radius:18px}.heroKid{font-size:3.1rem}.bibleBook{font-size:2.7rem}.missionFlag{font-size:.68rem}.heroActions{grid-template-columns:1fr 1fr}.heroActions #startBtn{grid-column:1/-1}.heroActions button{min-height:44px;padding:9px 10px}.tabbar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;background:linear-gradient(180deg,rgba(20,5,31,.2),rgba(20,5,31,.96));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.13);overflow:visible}.tab{min-height:42px;padding:7px 5px;font-size:.68rem;border-radius:16px}.panel{padding-bottom:8px}.verseCard{border-radius:20px;padding:12px}.verseTop{gap:8px}.purposeRow{grid-template-columns:1fr 1fr 1fr}.purposeCard{padding:8px 5px}.purposeCard span{font-size:1.2rem}.purposeCard b{font-size:.72rem}.purposeCard small{font-size:.56rem}.writtenVerse blockquote{font-size:1rem;line-height:1.35}.clueBox{font-size:.84rem}.miniQuest{font-size:.86rem}.buttonGrid{grid-template-columns:1fr;gap:8px}.buttonGrid button{min-height:46px}.choiceGrid{grid-template-columns:1fr;gap:8px}.choiceBtn{min-height:48px}.missionGrid{grid-template-columns:1fr}.missionCard{min-height:78px}.levelsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.levelBtn{min-height:60px;font-size:.82rem}.recordGrid{grid-template-columns:repeat(2,1fr);gap:8px}.settingsGrid{grid-template-columns:1fr}.sun{font-size:1.9rem}.cloud{font-size:1.7rem}.spark{font-size:1.2rem}}
@media(max-width:360px){.brandMark{width:34px;height:34px}.brand h1{font-size:.9rem}.brand p{font-size:.52rem}.backBtn,.pillBtn{font-size:.65rem;padding:7px}.tab{font-size:.61rem}.levelsGrid{grid-template-columns:1fr}.purposeRow{grid-template-columns:1fr}.cartoonStage{min-height:155px}}
@media(prefers-reduced-motion:reduce){.mainBtn,.softBtn,.tab,.choiceBtn,.missionCard,.levelBtn{animation:none!important;transition:none!important}}


/* Phone compact level tiles: small, no inner scroll */
.levelsGrid{max-height:none!important;overflow:visible!important;align-items:stretch}
.levelBtn{display:grid;place-items:center;align-content:center;gap:2px;line-height:1.05}
.levelBtn b{display:block;font-size:1.05rem;color:var(--brand);line-height:1}
.levelBtn small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
  .levelsGrid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;margin-top:8px!important;padding:0!important}
  .levelBtn{min-height:42px!important;padding:5px 2px!important;border-radius:11px!important;font-size:.56rem!important;box-shadow:0 4px 10px rgba(0,0,0,.07)!important}
  .levelBtn b{font-size:.9rem!important}
  .levelBtn small{font-size:.48rem!important;margin-top:0!important}
  #levelsPanel .verseCard{padding:8px!important;border-radius:16px!important}
  #levelsPanel .clueBox{display:none!important}
}
@media(max-width:420px){
  .levelsGrid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:3px!important}
  .levelBtn{min-height:36px!important;border-radius:9px!important;padding:4px 1px!important}
  .levelBtn b{font-size:.78rem!important}
  .levelBtn small{font-size:.42rem!important}
}
@media(max-width:340px){
  .levelsGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}


/* CPG final phone compact patch: one moving page, extra-small level tiles, sound button fit */
@media(max-width:760px){
  .appShell{padding:6px 6px 18px!important;}
  .topbar{position:relative!important;top:auto!important;}
  .tabbar{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;z-index:4!important;padding:4px!important;margin:6px 0!important;background:rgba(255,255,255,.07)!important;border-radius:15px!important;border:1px solid rgba(255,255,255,.12)!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:3px!important;}
  .tab{min-height:30px!important;padding:4px 1px!important;font-size:.48rem!important;border-radius:10px!important;}
  .heroCard{padding:7px!important;gap:6px!important;border-radius:16px!important;margin-bottom:6px!important;}
  .levelBadge{padding:4px 8px!important;font-size:.68rem!important;}
  h2{font-size:1.25rem!important;margin:5px 0!important;}
  .clueBox{padding:7px 8px!important;border-radius:12px!important;font-size:.72rem!important;line-height:1.22!important;}
  .heroActions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-top:6px!important;}
  .heroActions #startBtn{grid-column:auto!important;}
  .heroActions button{min-height:31px!important;padding:4px 2px!important;font-size:.55rem!important;border-radius:10px!important;}
  .cartoonStage{min-height:118px!important;border-radius:14px!important;}
  .heroKid{font-size:2.45rem!important;bottom:24px!important;}
  .bibleBook{font-size:2rem!important;bottom:22px!important;}
  .sun{font-size:1.45rem!important;right:10px!important;top:9px!important;}
  .cloud{font-size:1.25rem!important;}
  .missionFlag{font-size:.52rem!important;padding:5px 7px!important;left:9px!important;bottom:9px!important;}
  #levelsPanel .verseCard{padding:5px!important;border-radius:13px!important;margin-bottom:5px!important;}
  #levelsPanel .verseTop{font-size:.62rem!important;margin-bottom:3px!important;}
  #levelsPanel .clueBox{display:none!important;}
  .levelsGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:2px!important;margin-top:3px!important;padding:0!important;max-height:none!important;overflow:visible!important;}
  .levelBtn{min-height:25px!important;padding:2px 1px!important;border-radius:7px!important;font-size:.38rem!important;line-height:1!important;box-shadow:none!important;gap:0!important;}
  .levelBtn b{font-size:.62rem!important;line-height:.9!important;}
  .levelBtn small{font-size:.32rem!important;line-height:.85!important;margin-top:0!important;}
  .levelBtn.current{outline:2px solid rgba(248,199,68,.65)!important;}
}
@media(max-width:390px){
  .tab{font-size:.43rem!important;}
  .levelsGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;}
  .levelBtn{min-height:23px!important;border-radius:6px!important;}
  .levelBtn b{font-size:.58rem!important;}
  .levelBtn small{font-size:.29rem!important;}
}
@media(max-width:340px){
  .levelsGrid{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
  .heroActions button{font-size:.5rem!important;}
}

/* Final opening screen + Bible lesson selector */
.gameHidden{display:none!important}.openingScreen{min-height:100vh;width:min(1080px,100%);margin:0 auto;padding:18px 12px 28px;display:grid;place-items:center;position:relative;overflow:hidden;color:var(--card)}.openingScreen.hide{display:none!important}.introSky{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(253,224,71,.45),transparent 20%),radial-gradient(circle at 82% 8%,rgba(255,255,255,.2),transparent 18%)}.introBird,.introCloud{position:absolute;display:inline-block}.introBird{font-size:2rem;animation:birdPlay 8s linear infinite}.introBird.b1{top:16%;left:-8%;animation-delay:0s}.introBird.b2{top:31%;left:-10%;animation-delay:1.6s}.introBird.b3{top:52%;left:-12%;animation-delay:3.2s}.introCloud{font-size:2.8rem;opacity:.85;animation:cloudDrift 18s linear infinite}.introCloud.c1{top:8%;left:8%}.introCloud.c2{top:22%;right:8%;animation-duration:22s}.introCard{width:min(620px,100%);background:var(--card);color:var(--ink);border-radius:32px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.35);padding:18px;text-align:center;position:relative;z-index:1}.introLogo{width:96px;height:96px;object-fit:contain;border-radius:26px;background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.14);padding:4px}.introBadge{display:inline-flex;margin:9px 0 4px;padding:6px 11px;border-radius:999px;background:var(--soft);color:var(--brand);font-weight:1000;font-size:.76rem}.introCard h1{font-size:clamp(1.8rem,7vw,3.4rem);letter-spacing:-.05em;color:var(--brand);margin:3px 0}.introText{color:var(--muted);font-weight:950;font-size:clamp(.9rem,3.2vw,1.12rem);line-height:1.28;margin:7px auto 12px;max-width:440px}.twoHeroes{height:70px;display:flex;justify-content:center;align-items:flex-end;gap:14px;margin-bottom:2px}.yellowBoy{font-size:4.3rem;filter:drop-shadow(0 10px 12px rgba(0,0,0,.14));animation:kidBounce 2.4s ease-in-out infinite}.yellowBoy.second{animation-delay:.45s;transform:scaleX(-1)}.introControls{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:10px auto;max-width:470px}.introStart{min-width:190px;min-height:54px;font-size:1.08rem}.lessonPicker{display:grid;grid-template-columns:1.25fr 1.2fr .8fr .8fr auto;gap:8px;align-items:end;background:linear-gradient(180deg,#fff,var(--soft));border:1px solid var(--line);border-radius:20px;padding:10px;margin:10px 0}.lessonPicker label small,.lessonTitle small{display:block;color:var(--muted);font-weight:1000;text-transform:uppercase;font-size:.58rem;letter-spacing:.04em;margin-bottom:4px}.lessonTitle b{display:block;color:var(--brand);font-size:.98rem}.lessonEdit{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;margin:8px 0}.lessonTextarea{min-height:74px;resize:vertical;font-weight:800;line-height:1.35}@keyframes birdPlay{0%{transform:translateX(0) translateY(0) scale(.8);opacity:0}12%{opacity:1}42%{transform:translateX(48vw) translateY(-22px) scale(1.05)}78%{opacity:1}100%{transform:translateX(118vw) translateY(16px) scale(.9);opacity:0}}@keyframes cloudDrift{0%{transform:translateX(-4vw)}50%{transform:translateX(4vw)}100%{transform:translateX(-4vw)}}@keyframes kidBounce{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:760px){.openingScreen{padding:10px 8px}.introCard{padding:13px;border-radius:22px}.twoHeroes{height:54px}.yellowBoy{font-size:3.25rem}.introLogo{width:74px;height:74px;border-radius:20px}.introBadge{font-size:.62rem;padding:5px 9px}.introCard h1{font-size:2rem}.introText{font-size:.82rem}.introControls{grid-template-columns:1fr;gap:6px}.introStart{min-height:47px;font-size:.95rem}.introBird{font-size:1.45rem}.lessonPicker{grid-template-columns:1fr 1fr;gap:6px;padding:8px;border-radius:15px}.lessonTitle{grid-column:1/-1}.lessonPicker button{grid-column:1/-1;min-height:42px}.lessonEdit{padding:8px}.lessonTextarea{min-height:62px}.lessonPicker label small,.lessonTitle small{font-size:.49rem}.lessonTitle b{font-size:.78rem}}

/* Update: second neutral yellow boy head in main game */
.heroKids{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:flex-end;gap:2px;z-index:2}.heroKids .heroKid{position:static;font-size:4.8rem}.neutralYellowBoy{font-size:4.35rem;filter:drop-shadow(0 10px 10px rgba(0,0,0,.16));animation:bob 2.2s ease-in-out infinite .25s}.heroKids + .bibleBook{right:18%;bottom:45px}@media(max-width:760px){.heroKids{bottom:26px}.heroKids .heroKid{font-size:3.25rem}.neutralYellowBoy{font-size:3.05rem}.heroKids + .bibleBook{right:12%;bottom:42px}}
/* Fix two-head animation inside grouped heroes */
.heroKids .heroKid{animation:heroHeadBounce 2.8s ease-in-out infinite;transform:none!important;left:auto!important;bottom:auto!important}.neutralYellowBoy{animation:heroHeadBounce 2.4s ease-in-out infinite .25s}@keyframes heroHeadBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Update: intro card is first screen only; main game starts clean after Start */
.openingScreen{padding:18px 12px!important;align-items:center!important;}
.openingHeroCard{width:min(1060px,100%)!important;margin:0!important;grid-template-columns:1.05fr .95fr!important;}
.openingHeroCard h2{font-size:clamp(2.1rem,5vw,3.7rem)!important;}
.openingHeroCard .heroActions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:center!important;}
.introLanguage{min-height:42px!important;border-radius:999px!important;}
.openingStage .heroKids{left:49%!important;bottom:20px!important;}
.openingStage .bibleBook{left:auto!important;right:22px!important;bottom:74px!important;font-size:3.25rem!important;z-index:4!important;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));}
.openingStage .missionFlag{z-index:5!important;}
.openingStage .spark{z-index:6!important;}
@media(max-width:760px){
  .openingScreen{padding:8px!important;}
  .openingHeroCard{grid-template-columns:1fr!important;padding:10px!important;border-radius:20px!important;gap:8px!important;}
  .openingHeroCard h2{font-size:1.9rem!important;}
  .openingHeroCard .heroActions{grid-template-columns:1fr!important;gap:6px!important;}
  .openingStage{min-height:150px!important;}
  .openingStage .heroKids{left:47%!important;bottom:24px!important;}
  .openingStage .bibleBook{right:14px!important;bottom:72px!important;font-size:2.35rem!important;}
}
@media(max-width:420px){
  .openingStage .bibleBook{right:8px!important;bottom:66px!important;font-size:2.05rem!important;}
  .openingStage .heroKids{left:45%!important;}
}


/* Kid-friendly opening doves + start confirmation */
.whiteDove{color:#fff;text-shadow:0 3px 8px rgba(0,0,0,.22);filter:drop-shadow(0 5px 6px rgba(255,255,255,.38));}
.introBird.b4{top:9%;left:-14%;animation-delay:4.8s;animation-duration:9.5s;font-size:1.75rem;}
.introBird.b5{top:42%;left:-16%;animation-delay:6.1s;animation-duration:10.5s;font-size:2.15rem;}
.introBird.b6{top:70%;left:-18%;animation-delay:7.4s;animation-duration:11.5s;font-size:1.65rem;}
.openingScreen:before{content:"";position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.22),transparent 22%),radial-gradient(circle at 80% 78%,rgba(253,224,71,.18),transparent 24%);animation:introGlow 5s ease-in-out infinite;}
.openingStage{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 16px 34px rgba(10,30,80,.12)!important;}
.openingStage .sun{animation:sunWiggle 2.4s ease-in-out infinite;}
.openingStage .spark{animation:sparkPulse 1.6s ease-in-out infinite;}
.startFlash{display:none;align-items:center;gap:10px;background:linear-gradient(135deg,#fff7cc,#ffffff);color:var(--ink);border:1px solid rgba(248,199,68,.55);border-radius:20px;padding:10px 12px;margin:0 0 10px;box-shadow:0 14px 28px rgba(0,0,0,.14);animation:startFlashIn .65s ease both;}
.startFlash.show{display:flex;}
.startFlashIcon{font-size:1.8rem;animation:flashDove 1.2s ease-in-out infinite;}
.startFlash b{color:var(--brand);font-size:1rem;}
.startFlash small{display:block;color:var(--muted);font-weight:900;}
@keyframes introGlow{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
@keyframes sunWiggle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.08)}}
@keyframes sparkPulse{0%,100%{transform:scale(1);opacity:.78}50%{transform:scale(1.18);opacity:1}}
@keyframes startFlashIn{0%{opacity:0;transform:translateY(-14px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes flashDove{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:760px){.introBird.b4,.introBird.b5,.introBird.b6{font-size:1.35rem}.startFlash{border-radius:15px;padding:8px 10px}.startFlashIcon{font-size:1.45rem}.startFlash b{font-size:.86rem}.startFlash small{font-size:.72rem}}


/* CPG Bible Hero Engaging Journey v2 - calm accessible colors, no rainbow */
.guidedJourney{margin:8px 0 10px;background:linear-gradient(180deg,#ffffff,#fff8e5);border:1px solid rgba(91,33,182,.18);border-radius:22px;padding:10px;box-shadow:0 12px 24px rgba(30,20,80,.09)}
.guidedTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.guidedTop b{color:var(--brand);font-size:.95rem}.guidedTop small{color:var(--muted);font-weight:900;font-size:.68rem;text-align:right}.guidedButtons{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.guidedButtons::-webkit-scrollbar{display:none}.guideBtn{flex:0 0 auto;border:1px solid rgba(91,33,182,.18);border-radius:999px;background:linear-gradient(180deg,#6d28d9,#4c1d95);color:#fff;font-weight:1000;padding:10px 13px;min-height:42px;box-shadow:0 8px 16px rgba(76,29,149,.18);cursor:pointer}.guideBtn.done{background:linear-gradient(180deg,#b7791f,#8a5a0a);border-color:rgba(255,255,255,.18)}.guideBtn.nextBounce{animation:guideBounce 1.2s ease-in-out infinite;box-shadow:0 0 0 4px rgba(245,158,11,.14),0 10px 20px rgba(76,29,149,.2)}.guideBtn[hidden]{display:none!important}.guideBtn:disabled{opacity:.45;cursor:not-allowed}@keyframes guideBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.035)}}
.journeyTools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(120px,1fr) repeat(4,auto);gap:8px;align-items:stretch;margin:0 0 10px}.journeyStat,.journeySelect,.toolBtn{border:1px solid rgba(91,33,182,.16);border-radius:16px;background:#fff;color:var(--ink);padding:8px;box-shadow:0 8px 18px rgba(30,20,80,.06)}.journeyStat b{display:block;color:var(--brand);font-size:.86rem}.journeyStat small,.journeySelect small{display:block;color:var(--muted);font-weight:900;font-size:.56rem}.journeySelect select{width:100%;border:0;background:transparent;color:var(--ink);font-weight:950;outline:none}.toolBtn{font-weight:950;cursor:pointer;background:#f7f2ff}.progressMap{margin:0 0 10px;background:#fff;border:1px solid rgba(91,33,182,.14);border-radius:20px;padding:10px;box-shadow:0 8px 18px rgba(30,20,80,.06)}.mapTitle{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.mapTitle b{color:var(--brand);font-size:.86rem}.mapTitle small{color:var(--muted);font-weight:900}.bookDots{display:grid;grid-template-columns:repeat(11,1fr);gap:5px}.bookDot{min-height:28px;border:1px solid rgba(91,33,182,.16);border-radius:999px;background:#f8fafc;color:#4c1d95;font-size:.62rem;font-weight:1000;cursor:pointer}.bookDot.done{background:#fef3c7;color:#7c2d12;border-color:rgba(180,83,9,.25)}.bookDot.current{background:#4c1d95;color:#fff;box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.missionQuizBack{position:fixed;inset:0;z-index:9999;background:rgba(17,12,34,.72);display:none;align-items:center;justify-content:center;padding:14px}.missionQuizBack.show{display:flex}.missionQuiz{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#fff;color:var(--ink);border-radius:24px;border:1px solid rgba(91,33,182,.18);box-shadow:0 20px 50px rgba(20,10,50,.28);padding:16px;position:relative}.missionQuizClose{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:999px;background:#4c1d95;color:#fff;font-weight:1000}.missionQuiz h3{margin:6px 36px 8px 0;color:var(--brand);font-size:1.15rem}.missionQuiz p,.teacherDash li{color:var(--muted);font-weight:900;line-height:1.35}.missionQuizChoices{display:grid;gap:8px;margin-top:12px}.missionQuizChoices button{border:1px solid rgba(91,33,182,.16);border-radius:16px;background:#f7f2ff;color:var(--ink);padding:11px;font-weight:1000;text-align:left}.missionQuizChoices button.correct{background:#dcfce7;border-color:#16a34a}.missionQuizChoices button.wrong{background:#fee2e2;border-color:#dc2626}
@media(max-width:860px){.journeyTools{grid-template-columns:repeat(3,1fr);}.toolBtn,.journeySelect{min-height:40px}.bookDots{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.guidedJourney{border-radius:17px;padding:8px}.guidedTop{align-items:flex-start;flex-direction:column;gap:3px}.guidedTop small{text-align:left;font-size:.58rem}.guideBtn{min-height:38px;padding:8px 10px;font-size:.72rem}.journeyTools{grid-template-columns:repeat(2,1fr);gap:6px}.bookDots{grid-template-columns:repeat(6,1fr)}.bookDot{min-height:25px;font-size:.55rem}.missionQuiz{border-radius:18px;padding:13px}.missionQuiz h3{font-size:.96rem}.missionQuiz p,.missionQuizChoices button{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.guideBtn.nextBounce{animation:none!important}}

/* CPG Bible Hero daily calendar + Duolingo-style soft reminder, calm colors */
.dailyCalendar{margin:0 0 10px;background:#fff;border:1px solid rgba(91,33,182,.14);border-radius:20px;padding:10px;box-shadow:0 8px 18px rgba(30,20,80,.06)}
.calendarHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.calendarHead b{color:var(--brand);font-size:.9rem}.calendarHead small{color:var(--muted);font-weight:900;text-align:right;font-size:.62rem}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendarDayName{color:var(--muted);font-size:.55rem;font-weight:1000;text-align:center}.calendarDay{min-height:34px;border:1px solid rgba(91,33,182,.14);border-radius:12px;background:#f8fafc;color:#4c1d95;font-weight:1000;display:grid;place-items:center;line-height:1;position:relative}.calendarDay small{font-size:.55rem;color:#7c2d12}.calendarDay.played{background:#ede9fe;border-color:rgba(91,33,182,.28)}.calendarDay.goal{background:#fef3c7;border-color:rgba(180,83,9,.28);color:#7c2d12}.calendarDay.today{box-shadow:0 0 0 3px rgba(91,33,182,.14)}
#reminderBtn{background:#fff8e5}#calendarBtn{background:#f7f2ff}.journeyTools{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(120px,1fr) repeat(6,auto)!important}.guideBtn.limitReached{opacity:.55!important;filter:saturate(.75)}
@media(max-width:1040px){.journeyTools{grid-template-columns:repeat(4,1fr)!important}.calendarHead{align-items:flex-start;flex-direction:column}.calendarHead small{text-align:left}}
@media(max-width:760px){.dailyCalendar{border-radius:17px;padding:8px}.calendarGrid{gap:4px}.calendarDay{min-height:30px;border-radius:10px;font-size:.68rem}.journeyTools{grid-template-columns:repeat(2,1fr)!important}}

/* CPG Bible Hero clean single-screen journey v4
   Keep the play screen alone. Journey and Daily Calendar open only as buttons/modals. */
.tabbar{display:none!important;}
.cleanTools{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:0 0 8px!important;}
.cleanTools .toolBtn,.cleanTools .journeySelect{min-height:42px!important;border-radius:18px!important;display:grid!important;place-items:center!important;text-align:center!important;}
.guidedJourney{margin:8px 0 8px!important;}
.guidedButtons{justify-content:flex-start!important;}
.guideBtn[hidden]{display:none!important;}
.progressMap.modalMap,.dailyCalendar.modalCalendar{margin:0!important;box-shadow:none!important;border-radius:16px!important;max-height:65dvh;overflow:auto;}
.journeyModal,.calendarModal{width:min(560px,calc(100vw - 22px))!important;}
.journeyModal h3{margin:0 42px 10px 0;color:var(--brand);font-size:1.04rem;}
@media(max-width:760px){
  .cleanTools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
  .cleanTools .toolBtn,.cleanTools .journeySelect{min-height:38px!important;font-size:.72rem!important;border-radius:15px!important;padding:7px!important;}
  .guidedButtons{display:flex!important;overflow-x:auto!important;}
  .guideBtn{font-size:.72rem!important;}
  .progressMap.modalMap,.dailyCalendar.modalCalendar{max-height:60dvh;}
}
