/* Shared learner comfort controls */
:root{--joy-ink:#283b43;--joy-purple:#6342ae}html{scroll-padding-top:20px}body{background:radial-gradient(ellipse at 10% 0,#fff2c9 0,transparent 45%),radial-gradient(ellipse at 90% 20%,#e0f5ed 0,transparent 45%),#fffaf3!important;color:var(--joy-ink)}h1,h2,h3,.brand,.main-heading{font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif!important;font-weight:900!important}h1,.main-heading{line-height:1.15!important}button,a,input,select,textarea{touch-action:manipulation}button,.button,.primary,.secondary,nav a{min-height:48px}button:disabled{cursor:not-allowed;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #6040a8!important;outline-offset:4px}p,.tiny,small{line-height:1.65}.home-action,.course-card,.mini-panel,.class-card,.card{border-radius:24px!important}.home-action:nth-child(1){background:#eee6ff}.home-action:nth-child(2){background:#ddf4e8}.home-action:nth-child(3){background:#fff0c5}.joy-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:18px;margin:20px auto;max-width:1000px}.joy-links a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 16px;border:1px solid #ded6e8;border-radius:16px;color:#4f367d;background:white;text-decoration:none;font-weight:800}.joy-letter{display:inline-block;animation:joy-pop .65s both;animation-delay:calc(var(--i)*.035s)}@keyframes joy-pop{0%{opacity:0;transform:translateY(10px) rotate(-5deg)}100%{opacity:1;transform:none}}body.joy-large{font-size:19px}body.joy-large p,body.joy-large label,body.joy-large button{font-size:1.08em}body.joy-still *,body.joy-still *:before,body.joy-still *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.joy-panel{max-width:800px;margin:24px auto;padding:clamp(20px,4vw,40px);background:white;border:2px solid #e8def5;border-radius:28px;box-shadow:0 12px 35px #53327309}.joy-panel label{display:block;font-weight:800;margin:18px 0}.joy-panel input:not([type=checkbox]),.joy-panel select{display:block;width:100%;max-width:100%;padding:14px;border:2px solid #c7b7df;border-radius:14px;font-size:18px;box-sizing:border-box}.joy-panel input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin-right:10px}.joy-panel button{padding:12px 20px;margin:6px 6px 6px 0;border-radius:16px;border:0;background:#6544af;color:white;font-weight:800}.joy-panel .danger{background:#993d42}.joy-panel .notice{padding:18px;border-radius:18px;background:#fff3d6;color:#51452f}.joy-panel ul{padding-left:24px}.joy-panel a{color:#5a369c}.joy-status{min-height:1.7em;font-weight:700;color:#356b52}.joy-panel section{margin:24px 0;border-top:1px solid #e4dfea;padding-top:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:600px){.joy-links{gap:7px;padding:12px}.joy-links a{flex:1 1 35%;font-size:14px}.app-header nav a{font-size:14px!important}.joy-panel{margin:16px 12px}.home-actions{grid-template-columns:1fr!important}}

body{background-attachment:fixed!important}.sidebar nav{overflow-x:hidden}.sidebar .nav button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}

.lesson-narration{padding:20px;margin:20px 0;background:#e8f6ed;border:2px solid #cbe5d6;border-radius:22px}.lesson-narration audio{width:100%;min-height:48px}.lesson-narration h3{margin-top:0}

/* A calm, playful front door: all tools remain one tap away. */
.simple-home{max-width:1120px;margin:auto;padding:24px clamp(16px,4vw,40px)}
.simple-home .app-intro{padding:clamp(24px,5vw,56px);border-radius:32px;background:#fff;border:1px solid #e7dfef;box-shadow:0 12px 35px #53327308;margin-bottom:24px;gap:24px}
.simple-home h1{font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.035em;color:#493170;margin:12px 0 18px}
.simple-home .app-intro p{font-size:1.1rem;max-width:38ch}.simple-home .intro-note{background:#f0e9ff!important;border-radius:26px;padding:24px;color:#573790;font-size:1.35rem;line-height:1.8;transform:rotate(2deg)}
.start-learning{display:inline-flex;align-items:center;min-height:52px;margin-top:12px;padding:12px 24px!important;border-radius:18px!important;background:#6541aa!important;color:white!important;font-weight:800;text-decoration:none}
.simple-home .home-action{border:1px solid #ded8e7;box-shadow:none!important;padding:24px!important;transition:transform .18s,box-shadow .18s}.simple-home .home-action:hover{transform:translateY(-3px);box-shadow:0 8px 22px #49317012!important}.simple-home .home-action h2{font-size:1.65rem;letter-spacing:-.025em}.simple-home .home-action p{min-height:0}
.explore-more{background:#fff;border:1px solid #ded6e8;border-radius:24px;margin:24px 0;overflow:hidden}.explore-more>summary{cursor:pointer;padding:20px 24px;font-size:1.1rem;font-weight:800;min-height:48px;box-sizing:border-box}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}.explore-grid a{display:flex;flex-direction:column;gap:6px;padding:18px;background:#f7f4fc;color:#493170;text-decoration:none;border-radius:16px;min-height:60px}.explore-grid span{font-size:.9rem;line-height:1.5;color:#48585f}.simple-home .membership-note{background:transparent;border:0;box-shadow:none;font-size:.9rem}.simple-home .course{border-radius:24px;border:1px solid #ded6e8;box-shadow:none}.simple-home .course .letter{font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;font-weight:900}.simple-home .course button,.simple-home .course select{min-height:48px}.simple-home .progress-line{margin:24px 0}
@media(max-width:700px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-home .intro-note{display:none}.simple-home .app-intro{display:block}.simple-home .home-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}.simple-home .home-action{padding:16px 8px!important;text-align:center}.simple-home .home-action h2{font-size:1.25rem}.simple-home .home-action p,.simple-home .home-action strong{display:none}.simple-home .action-icon{font-size:1.8rem}.simple-home{padding:16px}.simple-home .app-intro{padding:24px}.explore-grid a{padding:14px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.simple-home .home-action:hover{transform:none}}body.joy-still .simple-home .home-action:hover{transform:none}

.welcome-card{max-width:760px;margin:clamp(20px,5vw,64px) auto;padding:clamp(24px,5vw,60px);border:1px solid #ded6e8;border-radius:32px;background:#fff;box-shadow:0 16px 60px #5332730c;text-align:center}.welcome-card h1{font-size:clamp(2.2rem,6vw,3.8rem);letter-spacing:-.04em;color:#493170}.welcome-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.welcome-actions>*{padding:14px 20px;border-radius:16px;min-height:48px;box-sizing:border-box;font:inherit;font-weight:800;text-decoration:none}.welcome-actions .button{background:#6541aa;color:white}.welcome-trial{background:#fff0cf;color:#624917}.welcome-actions button,.change-language{background:#f0e9ff;color:#50377c;border:1px solid #d8cce9;cursor:pointer}.language-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.language-picker button{display:flex;flex-direction:column;gap:8px;background:#f3eefb;border:1px solid #d8cce9;color:#493170;padding:22px;border-radius:20px;font:inherit;cursor:pointer}.language-picker span{font-size:.9em}.change-language{padding:12px 16px;border-radius:16px;font-weight:800}.word-picture{display:block;width:104px;height:104px;margin:8px auto 14px;border-radius:22px;object-fit:contain}.color-picture{background:var(--word-color);border:3px solid #fff;outline:1px solid #ded6e8}.number-picture{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:#6541aa;background:#f4effa;font-size:24px;letter-spacing:5px}.word{text-align:center}.welcome-card [hidden],main[hidden],.course[hidden]{display:none!important}@media(max-width:600px){.welcome-card{margin:16px 12px}.welcome-actions>*{width:100%}.language-picker button{padding:18px 10px}.simple-home .section-head{flex-wrap:wrap;gap:12px}.word-picture{width:88px;height:88px}}
