@import url('https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@500;600&family=Zen+Maru+Gothic:wght@500;700;900&display=swap');
:root{font-family:'Zen Maru Gothic',system-ui,sans-serif;color:#203961;background:#ecf7ff;font-synthesis:none;font-weight:500}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 36%,#d1ecff 0 100px,transparent 101px),radial-gradient(circle at 95% 78%,#d9edff 0 170px,transparent 171px);min-height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:4px solid #f3a41d;outline-offset:5px}button:disabled{cursor:default}button:hover:not(:disabled){filter:brightness(.97)}header{height:90px;max-width:1040px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#175bcc;font-weight:900;font-size:28px}.brand-mark{display:grid;place-items:center;background:#1666de;color:white;border-radius:14px;width:43px;height:43px;font-family:serif;font-size:35px}.chapter{font-size:16px;background:#d7e9ff;border-radius:8px;padding:2px 9px}.sound{border:1px solid #c2d8eb;background:#fff;padding:10px 16px;border-radius:25px;font-size:15px;font-weight:700}main{max-width:760px;padding:12px 24px 35px;margin:auto}.course{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 6px;gap:12px}.course>span{font-size:17px;font-weight:900}.course button,#otherLesson{background:none;border:0;color:#225fae;text-decoration:underline;text-underline-offset:5px;font-weight:700;font-size:15px}.game{background:white;border:2px solid #d8e7f4;border-radius:32px;padding:26px 36px 22px;box-shadow:0 9px 0 #dfedf7;overflow:hidden}.progress-head{display:flex;justify-content:space-between;font-size:15px;align-items:center;color:#557090}.progress-head b{color:#1666de;font-size:20px}.tiny-star{color:#f2ae1c;font-size:25px}.progress{display:flex;gap:7px;margin-top:10px}.progress span{height:9px;flex:1;background:#eaf0f6;border-radius:6px}.progress span.done{background:#ffbd35}h1{text-align:center;font-size:25px;margin:26px 0 0;font-weight:900}.letter-wrap{height:225px;position:relative;display:flex;align-items:center;justify-content:center}.letter{font-family:'Noto Naskh Arabic','Geeza Pro','Traditional Arabic',serif;font-size:150px;line-height:1.5;color:#193d7a;min-width:180px;text-align:center}.accent{position:absolute;color:#c8e0ff;font-size:34px}.accent-one{left:18%;top:35%}.accent-two{right:18%;bottom:25%;font-size:22px;color:#ffd87c}.instruction{text-align:center;font-size:16px;color:#61748f;margin:0 0 17px}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.answer{background:#f5faff;border:2px solid #c8def5;border-bottom:6px solid #b8d4f0;border-radius:20px;min-height:91px;font-size:34px;font-weight:900;transition:transform .12s,background .12s}.answer:active:not(:disabled){transform:translateY(3px);border-bottom-width:3px}.answer.correct{background:#e5f8e9;border-color:#4eae6f;color:#186b39}.answer.wrong{background:#f3eaff;border-color:#a886d2;color:#704999}.answer:disabled:not(.correct):not(.wrong){opacity:.55}.feedback{display:flex;gap:17px;align-items:center;justify-content:center;min-height:150px;margin:20px -8px 0;text-align:center;border-radius:22px;background:#f5f9fd;padding:12px}.feedback strong{font-size:22px;font-weight:900}.feedback p{font-size:14px;margin:6px 0;color:#62748d}.feedback.success{background:#eefaf0}.feedback.retry{background:#f7f1ff}.feedback-art{flex-shrink:0;width:105px;height:115px}.feedback-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.next,.primary{background:#1666de;color:white;border:0;border-bottom:4px solid #0849a6;border-radius:14px;padding:10px 28px;font-size:20px;font-weight:900;margin-top:9px}.bottom-note{text-align:center;margin:24px 0;font-size:15px;color:#527493}.parents{font-family:system-ui,sans-serif;font-size:14px;color:#61728a;line-height:1.8;border-top:1px solid #d4e4f2;padding-top:14px}.parents summary{cursor:pointer;width:fit-content;margin:auto}.parents a{color:#225fae}.complete{text-align:center;padding:20px 0}.complete .medal{font-size:55px;color:#ffba31}.complete h1{margin-top:8px}.complete>img{display:block;max-width:210px;height:215px;object-fit:contain;margin:16px auto}.complete button{display:block;margin:20px auto 10px}.complete p{font-size:18px}dialog{border:0;border-radius:26px;padding:27px;width:min(540px,calc(100% - 32px));color:#203961;box-shadow:0 20px 80px #17396840}dialog::backdrop{background:#14335880}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head h2{font-size:22px;margin:0}.dialog-head button{background:#eff5fa;border:0;border-radius:50%;width:40px;height:40px;font-size:28px}#lessonButtons{display:grid;gap:12px;margin-top:24px}#lessonButtons button{text-align:left;background:#f1f7ff;border:2px solid #cbdff5;border-radius:16px;padding:14px 18px}#lessonButtons strong{display:block;font-size:18px}#lessonButtons small{display:block;font-size:15px;margin-top:5px;color:#657b98}.dialog-note{font-size:14px;text-align:center;color:#657b98;margin-bottom:0}[hidden]{display:none!important}@media(max-width:560px){header{height:75px;padding:14px 20px}.brand{font-size:24px}.brand-mark{width:37px;height:37px}.sound{font-size:14px;padding:8px 12px}main{padding:9px 14px 25px}.course{margin-bottom:13px}.course>span{font-size:16px}.course button{font-size:14px}.game{padding:20px 18px 16px;border-radius:26px}h1{font-size:23px;margin-top:22px}.letter-wrap{height:200px}.letter{font-size:137px}.answers{gap:10px}.answer{font-size:30px;min-height:80px;border-radius:17px}.feedback{min-height:139px;margin-top:17px;gap:8px}.feedback strong{font-size:20px}.feedback-art{width:90px;height:104px}.accent-one{left:10%}.accent-two{right:11%}.instruction{font-size:15px}.progress{gap:4px}.next{font-size:18px;padding:9px 22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Six-volume practice, scoped to /iqro/. */
.sound{width:52px;height:52px;padding:0;display:grid;place-items:center;font-size:28px;flex-shrink:0}
.chapters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 2px 20px}
.chapters button{min-height:55px;border:2px solid #c5dbf4;border-bottom:5px solid #b7d1ef;background:#fff;border-radius:15px;font-size:25px;font-weight:900;color:#225fae}
.chapters button[aria-pressed=true]{background:#1666de;border-color:#1050b5;color:#fff}
.chapters button:active{transform:translateY(2px)}
.progress-head{gap:12px;min-height:30px}.topic{font-size:15px;text-align:right;font-weight:700;color:#4b6587}
.progress{height:9px;display:block;background:#eaf0f6;border-radius:9px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:#ffbd35;border-radius:9px;transition:width .18s}
.letter-wrap{min-height:200px;height:auto;padding:12px 0;margin:5px 0 12px}.letter{min-width:0;width:100%;overflow-wrap:anywhere;font-size:150px;line-height:1.65}.letter.word{font-size:110px}.letter.phrase{font-size:70px}.letter.symbol{font-size:130px;min-height:190px}
.letter-wrap:has(.word) .accent,.letter-wrap:has(.phrase) .accent,.letter-wrap:has(.symbol) .accent{display:none}
.answers.long{grid-template-columns:1fr}.answers.long .answer{font-size:22px;min-height:65px;padding:12px 16px;line-height:1.5;border-radius:16px}.answers.words .answer{font-size:25px;padding:10px 8px;overflow-wrap:anywhere}
.feedback-copy{min-width:0}.feedback p{overflow-wrap:anywhere}.shop-link{text-align:center;font-size:15px;margin:25px 0}.shop-link a{color:#225fae;text-underline-offset:4px}.again{font-size:18px;padding:10px 24px;border-radius:14px;border:2px solid #c8def5;background:#f5faff}.parents ol{padding-left:23px}.parents li{margin:8px 0}.parents b{color:#294b76}
@media(max-width:560px){.chapters{gap:6px;margin-bottom:15px}.chapters button{min-height:48px;font-size:22px;border-radius:12px}.letter{font-size:133px}.letter.word{font-size:92px}.letter.phrase{font-size:52px}.letter-wrap{min-height:190px}.answers.words .answer{font-size:21px}.answers.long .answer{font-size:19px;min-height:63px}.topic{font-size:14px}.feedback strong{font-size:19px}.sound{width:48px;height:48px;font-size:26px}}

/* Iqro home and journey progress. */
.brand{gap:9px}.brand-name{display:flex;align-items:baseline;gap:9px;line-height:1.2}.brand-en{font:900 25px 'Zen Maru Gothic',sans-serif;letter-spacing:.02em}.brand-ja{font-size:24px}.chapter{flex-shrink:0}.brand-mark{flex-shrink:0}
.home-page{padding:14px 0 8px}.chapter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.chapter-card{position:relative;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 10px;background:#fff;border:2px solid #c9dff3;border-bottom:7px solid #b9d3ee;border-radius:26px;color:#203961;transition:transform .15s}
.chapter-card:hover{transform:translateY(-3px)}.chapter-card:active{transform:translateY(3px)}.card-number{font-size:58px;font-weight:900;line-height:1.15;color:#1666de}.card-title{font-size:17px;font-weight:700;line-height:1.6;text-align:center}.chapter-card:nth-child(2) .card-number{color:#087e8b}.chapter-card:nth-child(3) .card-number{color:#c47507}.chapter-card:nth-child(4) .card-number{color:#8453bd}.chapter-card:nth-child(5) .card-number{color:#c34265}.chapter-card:nth-child(6) .card-number{color:#2a6485}
.quiz-nav{display:flex;align-items:center;margin:0 3px 14px}.home-button{display:flex;align-items:center;gap:7px;padding:8px 13px;min-height:44px;background:white;border:1px solid #c9dff3;border-radius:14px;color:#225fae;font-size:15px;font-weight:700}
.question-count{font-size:14px;white-space:nowrap}.question-count b{margin-right:3px}.progress-head{align-items:flex-start}.topic{font-size:14px;max-width:48%;line-height:1.5}
.journey{margin:2px 0 4px}.road-area{position:relative;height:80px;margin:0 1px}.road{position:absolute;left:0;right:0;bottom:3px;height:18px;background:#dbe9f4;border:2px solid #c4d9e9;border-radius:15px;overflow:hidden}.road:after{content:'';position:absolute;left:0;right:0;top:6px;height:2px;background:repeating-linear-gradient(90deg,transparent 0 9px,#fff 9px 20px)}.road-fill{height:100%;width:0;background:#ffcb4b;transition:width .5s ease}.car-lane{position:absolute;left:40px;right:40px;bottom:7px;height:72px}.progress-car{position:absolute;left:0;bottom:0;transform:translateX(-50%);width:88px;height:72px;object-fit:contain;transition:left .5s ease;filter:drop-shadow(0 3px 2px #1839551c)}.road-labels{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:#46688c;font-size:14px;font-weight:700}.finish-flag{font-size:20px;vertical-align:-1px;color:#245c8a}.letter-wrap{margin-top:0;min-height:185px;padding-top:0}
@media(max-width:560px){header{padding:14px 16px;height:80px}.brand-name{gap:7px}.brand-en{font-size:22px}.brand-ja{font-size:21px}.brand-mark{width:34px;height:38px}.brand{gap:7px}.chapter{padding:3px 7px;font-size:15px}.sound{width:44px;height:44px;font-size:25px}.home-page{padding-top:9px}.chapter-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chapter-card{min-height:157px;border-radius:22px;padding:16px 8px;gap:8px}.card-number{font-size:51px}.card-title{font-size:15px}.quiz-nav{margin-bottom:12px}.game{padding-top:20px}.letter-wrap{min-height:165px;margin-bottom:9px}.letter{font-size:121px}.letter.word{font-size:87px}.letter.phrase{font-size:48px}.road-area{height:77px}.question-count{font-size:13px}.progress-head b{font-size:19px}.topic{font-size:13px}.feedback{margin-top:16px}}
@media(max-width:350px){.brand-en{font-size:19px}.brand-ja{font-size:18px}.brand-mark{width:29px}.brand-name{gap:5px}.brand{gap:5px}.sound{width:42px;height:42px}.card-title{font-size:14px}}

.result-mark{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none;font-family:Arial,sans-serif;font-weight:700;font-size:190px;line-height:1;background:rgba(255,255,255,.88);border-radius:22px;text-shadow:0 3px 0 #ffffff;animation:result-pop .3s ease-out}.result-mark.is-correct{color:#e43f46}.result-mark.is-wrong{color:#2765d0}
@keyframes result-pop{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(max-width:560px){.result-mark{font-size:170px}}
@media(prefers-reduced-motion:reduce){.result-mark{animation:none}}

.result-mark.is-wrong{animation:result-retry 1s ease-out forwards}@keyframes result-retry{0%{opacity:0;transform:scale(.65)}20%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.result-mark.is-wrong{animation:result-retry 1s step-end forwards}}

/* Keep the next action within the phone viewport, even after feedback expands. */
@media(max-width:560px){
 .next{position:fixed;left:24px;right:24px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:20;min-height:54px;margin:0;box-shadow:0 0 0 8px #ffffffed,0 6px 24px #193d7a33;font-size:22px}
 .feedback.success{margin-bottom:86px}
 header{height:68px}.quiz-nav{margin-bottom:8px}.game{padding-top:14px}.road-area{height:69px}.letter-wrap{height:150px;min-height:150px}.letter{font-size:108px}.result-mark{font-size:150px}
}

@media(max-width:560px){.answered .answers{display:none}.answered .feedback{margin-top:0;min-height:104px}.answered .feedback-art{height:86px;width:80px}}
