/* تحفيظ القرآن للأطفال: warm paper for the parents, a gentle bright sky for the child. Mobile-first, RTL. */
@font-face{font-family:"KT Quran";src:url(kt-quran.70a47acbe972.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;
  --paper:#fbf6ea;--card:#fffdf7;--ink:#1f2f2b;--dim:#52635c;--line:#e4d9c0;--teal:#0d6657;--teal-d:#084a3f;--mint:#d9efe4;
  --gold:#f2c14e;--gold-ink:#7f5c0c;--gold-soft:#fbf0cf;--coral:#b4472c;--coral-soft:#fbe7df;--sky:#d7eef7;--night:#10394a;--night2:#16545c;
  --ui:'Cairo',Tahoma,'Segoe UI',sans-serif;--q:"KT Quran",'Amiri',serif}

/* ---------- the page around the tool (shell colours are inline/!important, so these need weight) */
html body{background:var(--paper)!important;color:var(--ink)!important;font-family:var(--ui)!important}
html body main{padding-top:10px!important}
html body h1,html body h2,html body h3{color:var(--ink)!important}
html body main h1{font-size:clamp(1.4rem,5.4vw,2.2rem)!important;line-height:1.35!important;margin:4px 0!important;font-weight:800}
html body a{color:var(--teal)}
html body .qm-idnav{background:rgba(251,246,234,.96)!important;border-bottom-color:var(--line)!important}
html body .qm-idnav>a span span{color:var(--ink)!important}
html body .qm-idnav>a span span+span{color:var(--gold-ink)!important}
html body .qm-idlinks a{color:var(--dim)!important}
html body .qm-idfooter p{color:#c9c2ad!important}
html body .qr-breadcrumb{font-size:.8rem;color:var(--dim);margin:0;line-height:1.5}
html body .qr-breadcrumb a{color:var(--dim)}
html body .qr-answer{color:var(--ink)!important;font-size:1rem!important;line-height:1.75!important;margin:0!important}
html.kt-js body .qr-answer:not(.is-open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:620px){html.kt-js body .qr-answer:not(.is-open){-webkit-line-clamp:2}}
.kt-more{display:inline-flex;align-items:center;min-height:48px;min-width:48px;padding:0;background:none;border:0;color:var(--teal);font:700 .875rem var(--ui);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
html body .qr-updated{color:var(--dim)!important;font-size:.72rem!important;margin:-8px 0 6px!important;line-height:1.5}
html body .qr-seo{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:18px;padding:18px}
html body .qr-seo h2{color:var(--teal-d)!important;font-size:1.2rem;font-weight:800}
html body .qr-seo p,html body .qr-seo ul,html body .qr-seo ol,html body .qr-seo li{color:var(--ink)!important}
html body .qr-table th,html body .qr-table td{color:var(--ink)!important;border-color:var(--line)!important}
html body .qr-table thead th{background:var(--mint)!important;color:var(--teal-d)!important}
html body .qr-table tbody th{color:var(--ink)!important}
html body details.qr-faq{background:var(--card)!important;border-color:var(--line)!important}
html body details.qr-faq summary{color:var(--ink)!important;padding:10px 0;line-height:1.75}
html body details.qr-faq{padding:2px 18px!important}
html body details.qr-faq p{margin:0 0 12px!important}
html body details.qr-faq p{color:var(--ink)!important}
html body .qr-faq-wrap h2{color:var(--teal-d)!important}
html body .qr-demo figcaption,html body .qr-credits{color:var(--dim)!important}
html body .qr-demo video{border-color:var(--line)}
html body .tools-nav{border-top-color:var(--line)!important}
html body .tools-nav a,html body .qr-links a{color:var(--teal-d)!important;background:var(--mint)!important;min-height:40px;display:inline-flex;align-items:center}
html body select,html body input[type=text]{background:#fff!important;color:var(--ink)!important;border:1.5px solid #a9a18c!important;border-radius:14px;font-family:var(--ui)}
html body input::placeholder{color:#6b756f}
.kt-divider{display:flex;align-items:center;gap:10px;margin:30px 0 10px;color:var(--gold-ink);font:800 .95rem var(--ui)}
.kt-divider::before,.kt-divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- shared pieces */
.kt-ic{width:1.25em;height:1.25em;fill:currentColor;flex:0 0 auto;vertical-align:-.25em}
#kt-app,.kt-lesson,.kt-sur,.kt-toast,#kt-plan,.kt-sp-cta{font-family:var(--ui);color:var(--ink)}
#kt-app{margin:6px 0 18px}
#kt-app *,.kt-lesson *,.kt-sur *{box-sizing:border-box}
#kt-app [hidden],.kt-lesson[hidden],.kt-lesson [hidden],.kt-sur [hidden],.kt-confetti[hidden]{display:none!important}
.kt-btn{min-height:52px;padding:10px 18px;border-radius:16px;border:1.5px solid transparent;font:800 1.05rem/1.3 var(--ui);cursor:pointer;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;text-align:center}
.kt-btn:disabled{opacity:.55;cursor:default}
html body .kt-go,html body a.kt-go{background:var(--teal);color:#fff!important;box-shadow:0 3px 0 var(--teal-d)}
.kt-go:active{transform:translateY(2px);box-shadow:0 1px 0 var(--teal-d)}
html body .kt-soft,html body a.kt-soft{background:var(--card);color:var(--teal-d)!important;border-color:#b9b099}
html body .kt-gold{background:var(--gold);color:#3a2900!important;box-shadow:0 3px 0 #b08a24}
.kt-wide{flex:1 1 100%;width:100%}
.kt-sm{min-height:48px;font-size:.92rem;padding:6px 14px}
.kt-xl{min-height:76px;width:100%;font-size:1.5rem;border-radius:22px;gap:12px}
.kt-xl .kt-ic{width:1.15em;height:1.15em}
.kt-row-btns{display:flex;flex-wrap:wrap;gap:8px}
.kt-mini{font-size:.875rem;color:var(--dim);margin:6px 0;line-height:1.7}
.kt-lb{display:block;font-weight:700;font-size:.92rem;margin:10px 0 4px}
.kt-lb small{font-weight:600;color:var(--dim)}
.kt-load{color:var(--dim);text-align:center;padding:8px}
.kt-note{display:flex;gap:8px;align-items:flex-start;background:var(--mint);border-radius:14px;padding:10px 12px;font-size:.92rem;line-height:1.7;margin:0 0 10px;color:var(--ink)}
.kt-note-warn{background:var(--coral-soft)}
.kt-note-warn .kt-ic{color:var(--coral)}
.kt-note-sky{background:var(--sky);font-weight:700}
.kt-privacy{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;line-height:1.7;color:var(--dim);margin:10px 2px 0}
.kt-privacy b{color:var(--teal-d)}
.kt-privacy .kt-ic{color:var(--teal)}
:is(#kt-app,.kt-lesson,.kt-sur,#kt-plan,.kt-sp-cta) :is(button,a,summary,select,input,[tabindex]):focus-visible{outline:3px solid #0b57b0;outline-offset:2px;border-radius:10px}
.kt-more:focus-visible{outline:3px solid #0b57b0;outline-offset:2px}

/* the sky band: moon, stars and lanterns are drawn with CSS, so the page requests no images */
.kt-sky{position:relative;color:#fff;background-color:var(--night);padding:10px 16px 12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' fill='%23f7e3a6'%3E%3Cpath d='M18 12l1.2 3 3 1.2-3 1.2-1.2 3-1.2-3-3-1.2 3-1.2zM88 44l.9 2.2 2.2.9-2.2.9-.9 2.2-.9-2.2-2.2-.9 2.2-.9zM54 14l.7 1.7 1.7.7-1.7.7-.7 1.7-.7-1.7-1.7-.7 1.7-.7z' opacity='.8'/%3E%3Ccircle cx='108' cy='14' r='1.2'/%3E%3Ccircle cx='32' cy='62' r='1'/%3E%3Ccircle cx='70' cy='68' r='1.2'/%3E%3C/svg%3E"),
    linear-gradient(160deg,var(--night),var(--night2))}
.kt-sky::before{content:"";position:absolute;inset-inline-start:auto;inset-inline-end:14px;top:12px;width:30px;height:30px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f2c14e'%3E%3Cpath d='M20.5 14.6A9 9 0 1 1 9.4 3.5a7.4 7.4 0 0 0 11.1 11.1z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- first visit: the form is the hero */
.kt-hero{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 6px 22px rgba(70,55,20,.08)}
html.kt-back .kt-hero:not(.is-open),html:not(.kt-js) .kt-hero{display:none}
.kt-name-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px}
.kt-hero-t,html body .kt-hero-t{margin:0;font-size:1.25rem;font-weight:800;color:#fff!important;padding-inline-end:38px;line-height:1.4}
.kt-hero-s{margin:2px 0 0;font-size:.85rem;color:#e6f0ee;line-height:1.6;padding-inline-end:38px}
.kt-hero>.kt-note{margin:10px 14px 0}
.kt-form{padding:2px 14px 10px}
html body .kt-form input[type=text]{width:100%;min-height:52px;font-size:1.1rem;padding:10px 14px}
.kt-level{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
.kt-level button b{white-space:nowrap;font-size:.9rem}
.kt-level button{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:5px;min-height:72px;padding:6px;border-radius:16px;border:2px solid #b9b099;background:#fff;color:var(--ink);font:700 .98rem/1.4 var(--ui);cursor:pointer}
.kt-level button .kt-ic{width:24px;height:24px;color:var(--teal)}
.kt-level button small{grid-column:1/-1;font-weight:600;font-size:.72rem;color:var(--dim);line-height:1.35;text-align:center}
.kt-level button[aria-pressed=true],.kt-gender button[aria-pressed=true]{border-color:var(--teal);background:var(--mint);box-shadow:inset 0 0 0 1px var(--teal)}
.kt-gender{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.kt-gender button{min-height:52px;min-width:48px;padding:0;border-radius:14px;border:2px solid #b9b099;background:#fff;color:var(--ink);font:700 1rem var(--ui);cursor:pointer}
.kt-avs{display:flex;gap:6px;overflow-x:auto;padding:2px;margin:0 0 10px;scrollbar-width:none}
.kt-av{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid #b9b099;color:var(--gold-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.kt-av .kt-ic{width:24px;height:24px}
.kt-av.is-on{border-color:var(--teal);background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--teal)}
.kt-trust{list-style:none;margin:0;padding:0 14px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.84rem;font-weight:700;color:var(--teal-d)}
.kt-trust li{display:inline-flex;align-items:center;gap:4px}
.kt-hero>.kt-privacy{margin:8px 14px 14px}

/* ---------- loading and failure */
.kt-skel{display:none;gap:10px;flex-direction:column}
html.kt-back #kt-app:not(.is-ready):not(.is-failed) .kt-skel{display:flex}
.kt-skel i{display:block;border-radius:18px;background:linear-gradient(100deg,#f1e8d3 30%,#faf4e6 50%,#f1e8d3 70%);background-size:300% 100%;animation:kt-shine 1.4s linear infinite}
.kt-skel i:nth-child(1){height:52px}.kt-skel i:nth-child(2){height:230px}.kt-skel i:nth-child(3){height:320px}
@keyframes kt-shine{to{background-position:-150% 0}}
.kt-state{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px 16px;margin:0 0 12px}
.kt-state>.kt-ic{width:44px;height:44px;color:var(--night2)}
.kt-state-t{font-weight:800;font-size:1.1rem;margin:4px 0}
.kt-state-d{color:var(--dim);margin:0 0 12px;line-height:1.7}
#kt-app.is-failed .kt-hero,#kt-app.is-failed .kt-ssr .kt-load{display:none}
.kt-ssr-list{columns:2;column-gap:26px;font-size:.92rem;margin:6px 0 0;padding-inline-start:34px;background:var(--card);border-radius:16px;padding-block:10px}
#kt-app.is-ready .kt-ssr,html.kt-back #kt-app:not(.is-failed) .kt-ssr{display:none}
html.kt-js:not(.kt-back) #kt-app:not(.is-failed):not(.is-ready) .kt-ssr{display:none}

/* ---------- returning families: today's lesson first */
html.kt-back body main .qr-breadcrumb,html.kt-back body main .qr-updated,html.kt-back body main .qr-answer,html.kt-back body main .kt-more{display:none!important}
html.kt-back body main h1{font-size:.92rem!important;font-weight:700;color:var(--dim)!important;margin:0 0 4px!important}
.kt-kid-list{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}
.kt-kid{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:6px 14px;border-radius:999px;background:var(--card);border:1.5px solid #b9b099;color:var(--ink);font:700 1rem var(--ui);cursor:pointer}
.kt-kid .kt-ic{color:var(--gold-ink)}
.kt-kid.is-on{background:var(--teal);border-color:var(--teal);color:#fff}
.kt-kid.is-on .kt-ic{color:var(--gold)}
.kt-kid-add{border-style:dashed;color:var(--teal-d)}
.kt-today{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 6px 22px rgba(70,55,20,.09);margin:0 0 16px}
.kt-today-t,html body .kt-today-t{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:#fff!important;padding-inline-end:38px}
.kt-today-t b{font-weight:900;color:#ffe9ad}
.kt-dots{display:flex;gap:5px}
.kt-dots i{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3)}
.kt-dots i .kt-ic{width:20px;height:20px}
.kt-dots i.on{color:var(--gold)}
.kt-dots i.is-today{border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.75)}
.kt-today-b{padding:14px 16px 16px;text-align:center}
.kt-today-what{margin:0;font-family:var(--ui);font-weight:900;font-size:1.5rem;color:var(--teal-d);line-height:1.4}
.kt-today-more{margin:0 0 12px;color:var(--dim);font-size:.95rem}
.kt-today-ok{display:flex;justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:.875rem;font-weight:700;color:var(--teal-d)}
.kt-today-due{margin-top:12px;border-top:1px solid var(--line);padding-top:6px;text-align:start}

/* ---------- the map */
.kt-sec-t,html body .kt-sec-t{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:800;margin:0 0 8px;color:var(--teal-d)!important}
.kt-map{border-radius:24px;padding:10px 6px 12px;background-color:var(--night);color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='160'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.05'%3E%3Cpath d='M70 44l8 18 18-8-8 18 18 8-18 8 8 18-18-8-8 18-8-18-18 8 8-18-18-8 18-8-8-18 18 8z'/%3E%3C/g%3E%3Cg fill='%23f7e3a6' opacity='.55'%3E%3Ccircle cx='20' cy='24' r='1.2'/%3E%3Ccircle cx='118' cy='18' r='1'/%3E%3Ccircle cx='30' cy='120' r='1.4'/%3E%3Ccircle cx='128' cy='136' r='1'/%3E%3Ccircle cx='84' cy='112' r='.9'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg,#0e3345 0%,#124653 45%,#17605c 100%)}
.kt-map-grid{position:relative;height:calc(var(--rows)*6.4rem)}
.kt-map-line{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none}
.kt-map-line path{vector-effect:non-scaling-stroke}
.kt-map-line .is-todo{stroke:rgba(255,255,255,.3);stroke-width:3;stroke-dasharray:2 8;stroke-linecap:round}
.kt-map-line .is-done{stroke:var(--gold);stroke-width:5;stroke-linecap:round}
.kt-map-end{display:flex;justify-content:center;align-items:center;gap:6px;margin:0;font-weight:800;color:#ffe9ad;font-size:.95rem}
.kt-map-start{font-size:.82rem;color:#d7e6e4;margin-bottom:-4px}
.kt-map-end .kt-ic{width:26px;height:26px;color:var(--gold)}
.kt-st{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:none;border:0;color:#fff;cursor:pointer;padding:2px 0;font-family:var(--ui);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.kt-st-dot{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;
  background:#1d8a73;border:3px solid #bfeadb;color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.25);transition:transform .12s}
.kt-st:active .kt-st-dot{transform:translateY(2px)}
.kt-st.is-done .kt-st-dot{background:none;border:0;box-shadow:none;color:#4b3500}
.kt-st-star{position:absolute;inset:-1px;width:58px;height:58px;color:var(--gold);filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}
.kt-st-mark{position:relative;width:26px;height:26px}
.kt-st.is-locked .kt-st-dot{background:#23495a;border-color:#6c8a93;color:#d3e0e2;box-shadow:none;width:50px;height:50px}
.kt-st.is-locked .kt-st-mark{width:20px;height:20px}
.kt-st.is-current .kt-st-dot{width:62px;height:62px;background:#f7fbf4;border-color:var(--gold);color:var(--teal);animation:kt-glow 2s ease-in-out infinite}
.kt-st-name{font-weight:800;font-size:.8rem;line-height:1.35;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.kt-st.is-locked .kt-st-name{color:#d3e0e2;font-weight:700}
.kt-stars{display:flex;gap:0;height:12px;line-height:1}
.kt-stars .kt-ic{width:12px;height:12px;color:rgba(255,255,255,.28)}
.kt-stars .kt-ic.on{color:var(--gold)}
.kt-here{position:absolute;top:0;z-index:2;background:var(--gold);color:#352500;font-weight:900;font-size:.68rem;line-height:1.5;padding:0 7px;border-radius:999px;white-space:nowrap}
.kt-st-lamp{position:absolute;top:1px;inset-inline-end:4px;width:20px;height:20px;color:#ffd97a}
.kt-st-due{position:absolute;top:12%;inset-inline-start:12%;width:22px;height:22px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;z-index:2}
.kt-st:focus-visible{outline:3px solid #fff!important;outline-offset:-3px}
@keyframes kt-glow{0%,100%{box-shadow:0 0 0 0 rgba(242,193,78,.65)}50%{box-shadow:0 0 0 12px rgba(242,193,78,0)}}

/* ---------- the parent's folds */
.kt-map-sec{margin:0 0 16px}
#kt-main,.kt-hero,.kt-map-sec,.kt-fold{scroll-margin-top:72px}
.kt-fold{background:var(--card);border:1px solid var(--line);border-radius:18px;margin:0 0 8px}
.kt-fold>summary{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 14px;font-weight:800;font-size:1rem;cursor:pointer;list-style:none;color:var(--ink)}
.kt-fold>summary::-webkit-details-marker{display:none}
.kt-fold>summary .kt-ic{color:var(--teal);width:22px;height:22px}
.kt-fold>summary small{margin-inline-start:auto;font-weight:700;font-size:.78rem;color:var(--coral);text-align:end}
.kt-fold>summary::after{content:"";width:9px;height:9px;flex:0 0 auto;border-inline-start:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(-45deg);margin-inline-start:6px;transition:transform .15s}
.kt-fold[open]>summary::after{transform:rotate(135deg)}
.kt-fold>summary small:empty{display:none}
.kt-fold-b{padding:0 14px 14px}
.kt-fold-link{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 14px;background:var(--card);border:1px solid var(--line);border-radius:18px;margin:0 0 8px;font-weight:800;color:var(--ink)!important}
.kt-fold-link .kt-ic{color:var(--teal);width:22px;height:22px}
.kt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
@media(min-width:620px){.kt-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kt-stat{background:var(--paper);border-radius:14px;padding:8px;text-align:center;display:flex;flex-direction:column;align-items:center}
.kt-stat .kt-ic{color:var(--gold-ink);width:20px;height:20px}
.kt-stat b{font-size:1.2rem;color:var(--teal-d)}
.kt-stat span{font-size:.8rem;color:var(--dim)}
.kt-week-list{list-style:none;margin:0 0 8px;padding:0;font-size:.95rem;line-height:2}
.kt-week-due{font-weight:800;margin:8px 0 6px}
.kt-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.kt-badge{display:inline-flex;gap:4px;align-items:center;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#f1ecdd;color:#5e6a64}
.kt-badge.is-on{background:var(--gold-soft);color:var(--gold-ink)}
.kt-sleep>summary .kt-ic{color:var(--night)}
.kt-sleep-picks{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px}
.kt-chip{flex:0 0 auto;min-height:48px;padding:4px 14px;border-radius:999px;border:1.5px solid #b9b099;background:#fff;color:var(--ink);font:700 .9rem var(--ui);cursor:pointer}
.kt-chip.is-on{border-color:var(--night);background:var(--night);color:#fff}
.kt-sleep-now{font-weight:800;color:var(--night);margin:8px 0}
.kt-set{display:grid;grid-template-columns:1fr;gap:10px;margin:6px 0}
@media(min-width:620px){.kt-set{grid-template-columns:1fr 1fr}}
.kt-set label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:700}
html body .kt-set select,html body .kt-cert select,html body #kt-plan select{width:100%;min-height:48px;font-size:1rem;padding:6px 10px}
html body .kt-cert select{margin:0 0 10px}
label.kt-check,.kt-set label.kt-check{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:48px;font-size:.92rem;font-weight:600}
.kt-check input{width:24px;height:24px;accent-color:var(--teal);flex:0 0 auto}
.kt-reps{display:flex;align-items:center;gap:10px}
.kt-reps button{width:48px;height:48px;border-radius:50%;border:1.5px solid #b9b099;background:#fff;color:var(--teal-d);font-size:1.4rem;font-weight:900;cursor:pointer}
.kt-reps b{font-size:1.3rem;min-width:30px;text-align:center}
.kt-cert-img{display:block;width:100%;max-width:420px;height:auto;margin:12px auto;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.2)}

/* ---------- the parent's surah sheet */
.kt-sur{border:0;padding:0;margin:auto 0 0;width:100%;max-width:560px;margin-inline:auto;background:var(--card);color:var(--ink);border-radius:24px 24px 0 0;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}
.kt-sur::backdrop{background:rgba(15,35,40,.55)}
@media(min-width:620px){.kt-sur{margin:auto;border-radius:24px}}
.kt-sur:not([open]){display:none}
.kt-sur-flat{position:fixed;left:0;right:0;bottom:0;z-index:100000;box-shadow:0 -10px 40px rgba(0,0,0,.3)}
#kt-sur-b{padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px))}
.kt-sur-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:0 0 10px}
.kt-sur-h h2,html body .kt-sur-h h2{margin:0;font-size:1.35rem;font-weight:900;color:var(--teal-d)!important}
.kt-sur-h .kt-mini{margin:0}
.kt-sur-x{flex:0 0 48px;width:48px;height:48px;border-radius:50%;border:1.5px solid #b9b099;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.kt-sur-acts{display:flex;flex-wrap:wrap;gap:8px}
.kt-sur-row{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.kt-sur-row:empty{display:none}
.kt-off-ok{display:flex;gap:6px;margin:0 0 8px;font-weight:800;color:var(--teal-d);font-size:.92rem}
.kt-video-t{display:flex;gap:6px;align-items:center;margin:0 0 8px;font-weight:800;font-size:.95rem}
.kt-video-t .kt-ic{color:var(--teal)}
.kt-video-links{display:flex;flex-wrap:wrap;gap:8px}
html body a.kt-video-a{display:inline-flex;align-items:center;min-height:48px;padding:6px 14px;border-radius:14px;background:var(--mint);color:var(--teal-d);font-weight:700;font-size:.92rem}
html body a.kt-sur-link{display:flex;align-items:center;min-height:48px;margin-top:10px;font-weight:700;color:var(--teal-d);text-decoration:underline;text-underline-offset:3px}

/* ---------- child mode: one full screen, one obvious action */
.kt-lesson{position:fixed;inset:0;z-index:100000;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:contain;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='90' fill='%23e3b34a' fill-opacity='.55'%3E%3Cg stroke='%23c79a33' stroke-opacity='.5'%3E%3Cpath d='M46 0v22M180 0v36M314 0v14'/%3E%3C/g%3E%3Cpath d='M40 22h12l2 4H38zM37 27h18l4 9-4 11H37l-4-11zM40 48h12l-2 6h-8zM174 36h12l2 4h-16zM171 41h18l4 9-4 11h-18l-4-11zM174 62h12l-2 6h-8zM308 14h12l2 4h-16zM305 19h18l4 9-4 11h-18l-4-11zM308 40h12l-2 6h-8z'/%3E%3C/svg%3E") top 76px center no-repeat,linear-gradient(180deg,#cfeaf4 0%,#e6f4ee 55%,#fff3d9 100%);-webkit-user-select:none;user-select:none}
.kt-lesson-in{height:100%;max-width:720px;margin:0 auto;padding:max(8px,env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
.kt-top{display:flex;align-items:center;gap:10px;min-height:52px}
.kt-x{position:relative;width:48px;height:48px;flex:0 0 48px;border-radius:50%;border:0;background:rgba(255,255,255,.75);color:#42605f;display:flex;align-items:center;justify-content:center;cursor:pointer;
  touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.kt-x-ring{position:absolute;inset:0;width:48px;height:48px;transform:rotate(-90deg);fill:none;stroke:var(--teal);stroke-width:4;pointer-events:none}
.kt-x-ring circle{stroke-dasharray:132;stroke-dashoffset:132}
.kt-x.is-holding .kt-x-ring circle{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s linear}
.kt-top-t{flex:1;min-width:0;text-align:center}
.kt-top-t h2,html body .kt-top-t h2{margin:0;font-size:1.1rem;line-height:1.3;font-weight:900;color:var(--teal-d)!important}
.kt-top-t p{margin:0;font-size:.8rem;color:#3f5551}
.kt-top-kid{flex:0 0 auto;max-width:96px;margin:0;display:flex;align-items:center;gap:4px;font-weight:800;font-size:.85rem;color:var(--teal-d);overflow:hidden}
.kt-top-kid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kt-top-kid .kt-ic{color:var(--gold-ink)}
.kt-prog{height:10px;background:rgba(255,255,255,.75);border-radius:10px;overflow:hidden;margin:4px 0 8px;flex:0 0 auto}
.kt-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#6fcfa2);border-radius:10px;transition:width .4s}
#kt-lesson-body{flex:1;min-height:0;display:flex;flex-direction:column}
.kt-stage{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}
.kt-stage>:first-child{margin-top:auto}
.kt-stage>:last-child{margin-bottom:auto}
.kt-stage>.kt-card{margin-bottom:8px}
.kt-stage{padding-top:2px}
.kt-card{background:#fffdf5;border-radius:24px;padding:14px 12px;box-shadow:0 4px 18px rgba(40,80,90,.12)}
.kt-basmala{text-align:center;font-family:var(--q);font-size:clamp(1.5rem,6vw,2rem);line-height:2;color:var(--teal-d);margin:0 0 4px}
/* the Quran text: dark ink, generous, never animated; words wrap only at spaces */
.kt-ayah{font-family:var(--q);font-size:clamp(2.1rem,9vw,3rem);line-height:2.15;text-align:center;margin:0 0 4px;padding:2px 6px;border-radius:14px;color:#14241f}
.kt-ayah.is-long{font-size:clamp(1.75rem,7vw,2.4rem);line-height:2.05}
.ph-link .kt-ayah,.ph-linktest .kt-ayah,.ph-final .kt-ayah,.ph-review .kt-ayah{font-size:clamp(1.75rem,7vw,2.4rem);line-height:2.05}
.kt-ayah.is-active{background:#eef8f4}
.kt-w{display:inline-block;border-radius:10px;padding:0 2px}
.kt-w.is-hidden{color:transparent;background:repeating-linear-gradient(90deg,rgba(127,92,12,.55) 0 8px,transparent 8px 12px) bottom/100% 3px no-repeat,#fbf0cf;cursor:pointer;-webkit-user-select:none;user-select:none}
.kt-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;border:2px solid #c29a2e;border-radius:50%;font:700 1.05rem var(--ui);color:var(--gold-ink);vertical-align:middle;margin:0 4px}
.kt-counter{text-align:center;font-size:1.25rem;font-weight:800;color:var(--teal);margin:0;min-height:1.6em}
.kt-hint{text-align:center;font-size:.95rem;font-weight:600;color:#33504c;margin:0 0 6px;line-height:1.6}
.is-young .kt-hint{font-size:1.1rem;font-weight:800}
.kt-steps{display:flex;gap:4px;list-style:none;padding:0;margin:0 0 8px;flex:0 0 auto}
.kt-steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:3px;font-weight:800;font-size:.82rem;min-height:34px;border-radius:999px;background:rgba(255,255,255,.65);color:#3f5551}
.kt-steps li.is-on{background:var(--teal);color:#fff}
.kt-dock{flex:0 0 auto;padding-top:6px}
.kt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.kt-actions>.kt-btn{flex:1 1 30%;min-height:56px;font-size:.95rem;padding:6px 8px}
.kt-actions>.kt-main{flex:1 1 100%;min-height:68px;font-size:1.3rem;border-radius:20px}
.kt-lesson .kt-go{background:#12856f;box-shadow:0 4px 0 #0a5a4b}
.kt-y-play{display:flex;align-items:center;justify-content:center;width:min(44vw,172px);height:min(44vw,172px);min-width:140px;min-height:140px;border-radius:50%;border:6px solid #fff;background:#12856f;color:#fff;box-shadow:0 8px 0 #0a5a4b,0 12px 30px rgba(10,90,75,.3);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative}
.kt-y-play .kt-ic{width:46%;height:46%}
.kt-y-play:active{transform:translateY(4px);box-shadow:0 4px 0 #0a5a4b}
.kt-y-play.is-on{background:#e8a93a;color:#3a2900;box-shadow:0 8px 0 #a87a1f}
.kt-y-play.is-on::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:5px solid rgba(232,169,58,.6);animation:kt-ring 1.6s ease-out infinite}
@keyframes kt-ring{from{transform:scale(.92);opacity:1}to{transform:scale(1.14);opacity:0}}
.kt-y-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.kt-y-big{min-height:112px;font-size:1.4rem;border-radius:26px;flex-direction:column;gap:4px;width:100%}
.kt-y-big .kt-ic{width:40px;height:40px}
.kt-y-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:6px 0 0;min-height:26px}
.kt-y-dots span{width:26px;height:26px;color:#d9d2bd;display:flex;align-items:center;justify-content:center}
.kt-y-dots span .kt-ic{width:24px;height:24px}
.kt-y-dots span.on{color:#d99a1c}
/* «دورك»: the screen warms up and the time bar runs out; the ayah stays as it is */
.kt-echo{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 8px}
.kt-lesson.is-young.ph-listen .kt-echo[hidden]{display:flex!important;visibility:hidden}
.kt-echo-l{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:1.3rem;color:#9a3a1f}
.kt-echo-l .kt-ic{width:30px;height:30px}
.kt-echo-track{display:block;width:70%;height:10px;background:rgba(255,255,255,.8);border-radius:10px;overflow:hidden}
.kt-echo-bar{display:block;height:100%;width:100%;background:#e0764f;border-radius:10px}
.kt-lesson.is-turn{background:linear-gradient(180deg,#fff0d6 0%,#ffe7cf 55%,#ffdcc2 100%)}
.kt-rec{margin-top:8px;text-align:center}
.kt-rec .kt-row-btns{justify-content:center}
.kt-rec-state{margin:0 0 4px;font-weight:800;color:#9a3a1f}
.kt-rec-state:empty{display:none}
html body .kt-rec-on{background:#c8452a;color:#fff!important;min-height:64px;animation:kt-rec 1.6s ease-in-out infinite}
@keyframes kt-rec{50%{box-shadow:0 0 0 10px rgba(200,69,42,.18)}}
.kt-audio-help{background:#fffdf5;border:2px solid #e9b9a6;border-radius:18px;padding:12px;margin:0 0 8px;text-align:center;flex:0 0 auto}
.kt-audio-help .kt-state-t{display:flex;align-items:center;justify-content:center;gap:6px;margin:0}
.kt-audio-help .kt-row-btns{justify-content:center}
.kt-audio-help .kt-mini{color:#33504c}
.kt-rate-q{text-align:center;font-weight:900;font-size:1.25rem;margin:0 0 6px;width:100%;color:var(--teal-d)}
.kt-rate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.kt-rate-btn{min-height:84px;border-radius:18px;border:2px solid #c29a2e;background:#fffdf5;color:var(--ink);font:800 .9rem var(--ui);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:6px}
.kt-rate-st{display:flex;color:#d99a1c}
.kt-celebrate{text-align:center;padding:6px 0}
.kt-cel-big{margin:0;color:#d99a1c;display:flex;justify-content:center;align-items:flex-start}
.kt-cel-big .kt-ic{width:64px;height:64px}
.kt-cel-big .kt-ic+.kt-ic{width:28px;height:28px;margin-inline-start:-8px}
.kt-cel-title{font-size:1.4rem;font-weight:900;color:var(--teal-d);margin:4px 0;line-height:1.5}
.kt-cel-stars{display:flex;justify-content:center;gap:6px;margin:6px 0;color:#ddd6c3}
.kt-cel-stars .kt-ic{width:54px;height:54px}
.kt-cel-stars .kt-ic.on{color:#e6a81f;animation:kt-pop .6s cubic-bezier(.2,1.6,.4,1) both}
.kt-cel-badge{display:inline-flex;align-items:center;gap:6px;background:var(--gold-soft);color:var(--gold-ink);font-weight:800;padding:4px 14px;border-radius:999px;margin:4px;font-size:.92rem}
.kt-cel-acts{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.kt-cel-acts .kt-row-btns{justify-content:center}
.kt-cel-acts .kt-row-btns .kt-btn{flex:1 1 40%}
@keyframes kt-pop{0%{transform:scale(0) rotate(-40deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.kt-burst{position:absolute;inset-inline:0;bottom:22%;height:0;display:flex;justify-content:center;pointer-events:none;z-index:3}
.kt-burst .kt-ic{position:absolute;width:30px;height:30px;color:#e6a81f;animation:kt-fly .9s ease-out both}
.kt-burst .kt-ic:nth-child(1){--x:-90px;--y:-70px}.kt-burst .kt-ic:nth-child(2){--x:-45px;--y:-120px}.kt-burst .kt-ic:nth-child(3){--x:0;--y:-140px}
.kt-burst .kt-ic:nth-child(4){--x:45px;--y:-120px}.kt-burst .kt-ic:nth-child(5){--x:90px;--y:-70px}.kt-burst .kt-ic:nth-child(6){--x:20px;--y:-60px}
@keyframes kt-fly{0%{transform:translate(0,0) scale(.4);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(1.1);opacity:0}}
.kt-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,160px);background:var(--night);color:#fff;font:800 .95rem var(--ui);padding:10px 18px;border-radius:16px;z-index:100001;
  transition:transform .3s;width:max-content;max-width:calc(100vw - 32px);text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.kt-toast.is-on{transform:translate(-50%,0)}
body.kt-locked .kt-toast{bottom:auto;top:calc(70px + env(safe-area-inset-top,0px));transform:translate(-50%,-200px)}
body.kt-locked .kt-toast.is-on{transform:translate(-50%,0)}
.kt-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100002}
body.kt-locked{overflow:hidden}
.kt-sprite{overflow:hidden}

/* ---------- surah pages */
.kt-sp-cta{display:flex;flex-direction:column;gap:8px;margin:6px 0 14px}
.kt-sp-cta .kt-go{min-height:64px;font-size:1.2rem;border-radius:20px}
.kt-sp-text{background:#fffdf5;border:1px solid var(--line);border-radius:22px;padding:14px 12px;margin:0 0 14px;box-shadow:0 4px 16px rgba(70,55,20,.07)}
html body .kt-sp-text h2{font-size:1rem;margin:0 0 6px;color:var(--dim)!important;font-weight:700;text-align:center}
.kt-sp-ayat{list-style:none;margin:0;padding:0;font-family:var(--q);font-size:clamp(1.9rem,7.6vw,2.6rem);line-height:2.1;text-align:center;color:#14241f}
.kt-sp-ayat li{margin:0;padding:1px 0;scroll-margin-top:70px}
.kt-sp-text .kt-num{font-size:1rem}
.kt-sp-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 18px;font-weight:700;font-size:.92rem}
.kt-sp-nav a{display:inline-flex;align-items:center;min-height:48px;padding:6px 12px;background:var(--mint);border-radius:14px;color:var(--teal-d)!important}

/* ---------- the printable plan */
#kt-plan{margin:8px 0 20px}
#kt-plan *{box-sizing:border-box}
#kt-plan .kt-form label[hidden],#kt-plan select[hidden]{display:none}
#kt-plan .kt-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px 14px;margin:0 0 12px}
#kt-plan .kt-form label{display:block;font-weight:700;margin:8px 0 6px}
#kt-plan .kt-row-btns{margin-top:10px}
#kt-plan .kt-row-btns .kt-btn{flex:1 1 40%}
html body #kt-plan input[type=text]{width:100%;min-height:52px;font-size:1.1rem;padding:10px 14px}
.kt-sheet{background:#fff;color:#222;border:1px solid var(--line);border-radius:14px;padding:14px 10px;margin:12px 0}
html body .kt-sheet-t{font-size:1.15rem;margin:0 0 4px;text-align:center;color:#0f5028!important}
.kt-sheet-sub{text-align:center;font-size:.82rem;margin:0 0 8px;color:#3b4a3f}
.kt-sheet-table{width:100%;border-collapse:collapse;font-size:.82rem}
.kt-sheet-table th{background:#0f5028;color:#fff;padding:4px 2px;font-size:.75rem;font-weight:700}
.kt-sheet-table td{border:1px solid #d9d2bb;padding:2px 3px;text-align:center;color:#222;line-height:1.5}
html body .kt-sheet-table td a{color:#0f5028;text-decoration:none;font-weight:700;display:inline-block;padding:6px 0}
.kt-sheet-table td.s{color:#8d6a0c;white-space:nowrap}
.kt-sheet-table td.w{min-width:48px}
.kt-sheet-foot{text-align:center;font-size:.75rem;margin:8px 0 0;color:#555}

@media (prefers-reduced-motion: reduce){
  .kt-st.is-current .kt-st-dot,.kt-cel-stars .kt-ic.on,.kt-y-play.is-on::after,.kt-rec-on,.kt-skel i,.kt-burst .kt-ic{animation:none}
  .kt-burst .kt-ic{opacity:.9}
  .kt-toast,.kt-prog i,.kt-st-dot,.kt-fold>summary::after{transition:none}
}
@media print{
  @page{size:A4;margin:9mm}
  html,html body{background:#fff!important;padding:0!important;margin:0!important;min-height:0!important}
  body>*:not(main){display:none!important}
  html body main{padding:0!important;max-width:none!important;margin:0!important}
  main>*:not(#kt-plan){display:none!important}
  #kt-plan{margin:0}
  #kt-plan-form{display:none!important}
  #kt-sheet{margin:0;padding:0;border:0;border-radius:0}
  .kt-sheet-table{font-size:11pt}
  .kt-sheet-table td{padding:.6mm 1mm;line-height:1.15}
  html body .kt-sheet-table td a{padding:0;color:#000}
  html body .kt-sheet-t{font-size:17pt}
  .kt-sheet-sub,.kt-sheet-foot{font-size:10pt;margin:1mm 0}
}
