/* Ejuu finishing pass: preserve the approved logo, palette and composition. */
:root{--focus-ring:#2545c8;--reading-muted:#56617b}
html{scroll-padding-top:28px}
body{color:#182244}
.site-header{margin-top:28px;border:1px solid #ffffffd9;box-shadow:0 12px 40px #233d9f0a,inset 0 1px #fff}
.hero{align-items:start;gap:clamp(34px,5vw,76px);padding-top:64px;padding-bottom:86px}
.hero-copy{padding-top:58px}
h1{letter-spacing:-.052em;line-height:1.12}
.hero-description{max-width:460px;color:var(--reading-muted)}
.hero-note{max-width:390px;color:var(--reading-muted)}
.button{min-height:50px;isolation:isolate}
.button-blue{background:linear-gradient(160deg,#4564df,#2b49d2);color:white}
.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}
.button:active{transform:translateY(1px) scale(.985)}
.demo-stage{box-shadow:0 30px 75px #3458f526,inset 0 2px 2px #ffffff70}
.tablet-content{padding:24px 20px 16px}
.view-tabs{padding:5px;border:1px solid #e4e9f7}
.view-tabs button{font-size:16px;min-height:46px}
.bank{border-radius:26px;box-shadow:inset 0 2px 2px #ffffffab,0 10px 24px #c0a33616}
.bank-label,.bank-helper,.section-label>span,.activity-title>span,.reward,.demo-status,.control-hint,.parent-preview-note,.range-label,.chore-card div>span{font-size:14px}
.activity{padding:15px 14px;border:1px solid #e4eafa;background:linear-gradient(135deg,#fff,#f4f7ff);box-shadow:inset 0 1px #fff,0 4px 12px #18224404;min-height:88px}
.activity-title strong{font-size:17px;line-height:1.35}
.activity-title>span{line-height:1.45;color:var(--reading-muted)}
.activity:hover{border-color:#b4c6ff;box-shadow:0 9px 24px #3458f514}
.activity .challenge-icon{border-radius:17px;box-shadow:0 4px 12px #3458f50c}
.reward{white-space:nowrap;color:#2948c6;padding:8px 10px}
.play-button{min-height:54px;font-size:16px;margin-top:18px}
.demo-status{line-height:1.55;min-height:44px;margin-top:16px;color:var(--reading-muted)}
.principle-strip{border-block:1px solid #e4eafa;background:#ffffffb0}
.steps article{padding:28px;border:1px solid #fff;border-radius:28px;background:linear-gradient(145deg,#ffffffef,#f2f5ffb0);box-shadow:0 10px 36px #3458f508}
.steps p{color:var(--reading-muted)}
.step-number{font-size:15px}
.parent-features article{padding:24px 0}
.parent-effort{border:1px solid #dfe7fc}
.effort-label,.win-receipt span{font-size:12px}
.effort-tags span,.win-receipt small{font-size:14px}
.range-label{gap:12px;line-height:1.5;flex-wrap:wrap}
input[type=range]{min-height:44px;accent-color:#3458f5}
.chore-card button{min-height:44px;padding:10px 14px;font-size:14px}
.faqs details{border:1px solid #e2e8f5;border-radius:20px;padding:0 22px;margin-bottom:12px;background:#ffffffc9;box-shadow:0 3px 10px #18224403}
.faqs summary{min-height:68px;align-content:center;font-size:17px;padding:19px 30px 19px 0}
.faqs details[open]{border-color:#aebeef;background:white}
.faqs p{padding-bottom:21px;color:var(--reading-muted)}
footer{gap:20px;line-height:1.6;align-items:center;font-size:14px}
footer a{padding:10px 0;white-space:nowrap}
dialog{width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 32px);border:1px solid #fff;border-radius:32px;box-shadow:0 35px 100px #15245b40;overscroll-behavior:contain}
dialog::backdrop{background:#14213d59;backdrop-filter:blur(6px)}
.dialog-close{height:44px;width:44px;border:1px solid #dde5f7;background:#fff;z-index:2}
.dialog-body{padding:28px 32px 30px}
.dialog-art-shell{margin-bottom:14px}
.question-text{font-size:clamp(22px,3vw,28px);line-height:1.45;letter-spacing:-.025em;padding:19px 16px;background:#f0f4ff;border-radius:20px}
.question-progress{font-size:14px;line-height:1.6}
.answer{min-height:58px;padding:16px 18px;font-size:19px;border-color:#dce4f6;border-radius:18px;line-height:1.45}
.answer:hover{border-color:#91aaff;background:#edf3ff}
.hint-button{min-height:44px;font-size:16px}
.question-hint{font-size:16px;line-height:1.6}
.modal-footnote{font-size:14px;line-height:1.6}
.difficulty-options button{min-height:82px;padding:17px 18px;border-radius:20px}
.difficulty-options small{font-size:14px;line-height:1.45}
.win-receipt{gap:14px;border-color:#e2e9fb}
@media(max-width:1100px){.hero-copy{padding-top:12px}.hero{padding-top:44px;gap:48px}.demo-stage{max-width:600px;width:100%;margin-inline:auto}}
@media(max-width:640px){.site-header{margin-top:16px}.hero{padding-top:34px;padding-bottom:50px;gap:34px}.hero-copy{padding-top:0}.hero h1{font-size:clamp(38px,9vw,54px)}.hero-description{font-size:18px;line-height:1.65}.tablet-content{padding:20px 14px 14px}.steps{gap:16px}.steps article{padding:24px}.dialog-body{padding:27px 20px}.faqs details{padding-inline:18px}.closing{gap:22px}footer{flex-wrap:wrap}footer>span{flex-basis:100%}.demo-stage{transform:none!important}}
@media(max-width:480px){.activity{display:grid;grid-template-columns:50px minmax(0,1fr);gap:6px 12px;padding:14px}.activity .challenge-icon{grid-row:1/3;width:50px;height:50px}.activity-title{min-width:0}.activity-title strong{font-size:16px}.activity-title>span{font-size:14px}.activity .reward{grid-column:2;justify-self:start;margin-top:3px}.section-label{align-items:start;gap:8px;flex-wrap:wrap}.section-label>span{display:none}.chore-card{gap:10px}.chore-card button{margin-left:auto}.stage-top,.preview-pill{font-size:12px}.win-receipt{flex-wrap:wrap}.difficulty-options button{gap:10px}.level-copy small{font-size:14px}.principle-strip .wrap{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}
