/* Learning surfaces share the selected palette. Quran colours stay independent. */
:root{--surface:#fff;--soft:#edf4f1;--accent:#d1aa48;--strong:var(--green)}
html[data-theme=dark]{--surface:#152320;--soft:#203c34}
.site-menu{position:relative;z-index:35}.site-menu summary{cursor:pointer;font-weight:700;list-style:none;padding:10px 16px;border:1px solid var(--line);border-radius:12px}.site-menu summary::after{content:'⌄';margin-inline-start:14px}.site-menu[open] summary{background:var(--soft)}.site-menu nav{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:260px;background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0002;display:grid}.site-menu a{padding:10px 14px;border-radius:9px}.site-menu a:hover{background:var(--soft)}.desktop-nav{display:flex!important;align-items:center;gap:14px}.mushaf-nav-link{display:flex;align-items:center;gap:8px;font-weight:700}.mushaf-nav-link svg{width:24px;height:24px}.settings-panel{width:min(390px,calc(100vw - 28px));max-height:80vh}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.palette-card{position:relative;min-height:89px;text-align:start;border:3px solid #cbd9e1;border-radius:18px;color:#fff;padding:14px;font:700 .95rem/1.5 var(--body);background:var(--swatch)}.palette-card:before{content:'';display:block;width:33px;height:4px;border-radius:5px;background:#d1aa48;margin-bottom:12px}.palette-card[aria-pressed=true]{border-color:#d1aa48}.palette-card[aria-pressed=true]:after{content:'✓';position:absolute;inset-inline-end:10px;top:9px;color:#082946;background:#d1aa48;border-radius:50%;width:23px;height:23px;text-align:center}.palette-card small{display:block;font-size:.75rem;font-weight:400}.palette-field{border:0;padding:0;margin:20px 0}.palette-field legend{margin-bottom:10px;font-weight:700}.palette-card[data-palette=emerald]{--swatch:linear-gradient(130deg,#062b22,#0b7257)}.palette-card[data-palette=blue]{--swatch:linear-gradient(130deg,#051d3c,#145eb1)}.palette-card[data-palette=silver]{--swatch:linear-gradient(130deg,#20262d,#5a6370)}.palette-card[data-palette=burgundy]{--swatch:linear-gradient(130deg,#28040e,#811b37)}.palette-card[data-palette=citrus]{--swatch:linear-gradient(135deg,#342d23,#f99121 72%,#d8e647)}.palette-card[data-palette=amethyst]{--swatch:linear-gradient(135deg,#24192f,#4b316b 65%,#cdb083)}
.map-top{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:28px}.map-top p{max-width:650px}.map-zoom{display:flex;align-items:center;gap:8px;direction:ltr}.map-zoom button{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 13px}.map-viewport{overflow:auto;padding:15px 6px 30px;border:1px solid var(--line);border-radius:22px;background:var(--soft)}.curriculum-map{padding:15px;min-width:300px}.map-root{width:fit-content;margin:0 auto 40px;padding:18px 45px;background:var(--green);color:#fff;border-radius:18px;text-align:center;font-size:1.6rem;font-weight:700;position:relative}.map-root:after{content:'';position:absolute;top:100%;height:40px;width:2px;background:var(--accent);left:50%}.map-root small,.map-level h2 small{display:block;font-size:.9rem;font-weight:400}.map-level{margin:0 0 40px}.map-level h2{width:fit-content;min-width:200px;background:var(--green);color:white;padding:12px 32px;border-radius:12px;margin:0 auto 25px;text-align:center;position:relative}.map-level.advanced h2{background:var(--gold);color:#171c18}.map-branches{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:24px;padding-top:24px;border-top:2px solid var(--accent)}.map-branch{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 16px}.map-branch:before{position:absolute;content:'';height:25px;width:2px;top:-25px;left:50%;background:var(--accent)}.map-branch h3{font-size:1.1rem;font-weight:700;margin-bottom:18px}.map-branch ol{list-style:none;margin:0;padding:0;border-inline-start:2px solid var(--line);padding-inline-start:13px}.map-branch ol>li{margin-bottom:14px;position:relative}.map-branch ol>li:before{content:'';position:absolute;top:22px;inset-inline-start:-14px;width:14px;height:2px;background:var(--line)}.map-node{display:flex;justify-content:space-between;gap:8px;background:var(--soft);padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:.9rem}.map-node:hover{border-color:var(--green)}.map-branch details{font-size:.8rem;padding:4px 7px}.map-branch details summary{cursor:pointer;color:var(--muted)}.map-branch details ul{padding-inline-start:18px}.map-node.is-complete,.topic-card.is-complete{border:2px solid #168248!important;background:#e7f7ed!important;color:#14552f!important}.topic-card.is-complete .topic-card-copy{background:#e7f7ed!important;color:#14552f!important}.topic-card.is-complete .card-art{background:linear-gradient(140deg,#135731,#32a665)!important}.topic-card.is-complete .topic-badge,.course-heard,.heard-check{color:#147637!important;font-weight:700}.topic-card.is-complete .topic-badge{background:#c5efd5!important}.topic-card.is-complete p{color:#345943!important}.certificate-link{margin:35px 0;display:flex;gap:25px;align-items:center;padding:25px;border:1px solid var(--gold);border-radius:18px;background:var(--surface)}.certificate-link>span{font-size:3rem;color:var(--gold)}.certificate-link h2{font-size:1.3rem}.certificate-link p{color:var(--muted)}
.passage-intro{margin-bottom:30px;max-width:760px}.passage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.passage-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:flex;flex-direction:column;align-items:start;gap:8px;position:relative;overflow:hidden}.passage-card:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:var(--green)}.passage-card:hover{border-color:var(--gold);transform:translateY(-2px)}.passage-index{color:var(--gold);font-size:.85rem;font-weight:700}.passage-card h2{font-size:1.6rem}.passage-card p{font-size:.875rem;color:var(--muted)}.focus-chip{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:.85rem}.reader-heading{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:10px 0 20px}.extended-reader{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:clip}.extended-reader>header{text-align:center;background:var(--green);color:white;padding:22px}.extended-reader>header h2{font-size:2rem}.reader-player{position:sticky;top:0;z-index:10;padding:15px 22px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 3px 12px #0001}.reader-player audio{display:block;width:100%;height:42px;margin:8px 0}.reader-player>div{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;flex-wrap:wrap}.reader-player p{font-size:.85rem;min-height:1.7em}.taj-page{background:#fff!important;color:#181818!important;font-family:'Amiri','Noto Naskh Arabic',serif;font-size:calc(2rem * var(--text-scale,1));line-height:2.35;padding:32px 40px;text-align:justify}.taj{display:inline;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.taj-madda_necessary{color:#a00000!important}.taj-madda_obligatory{color:#d10d16!important}.taj-madda_permissible{color:#db4d14!important}.taj-madda_normal{color:#a66b12!important}.taj-ghunnah,.taj-ikhafa,.taj-ikhafa_shafawi,.taj-iqlab,.taj-idgham_ghunnah,.taj-idgham_shafawi{color:#00813c!important}.taj-ham_wasl,.taj-slnt,.taj-laam_shamsiyah,.taj-idgham_wo_ghunnah,.taj-idgham_mutajanisayn,.taj-idgham_mutaqaribayn{color:#777!important}.taj-qalaqah{color:#0864c2!important}.taj-izhar{color:#181818!important}.letter-speaking{background:#ffe7a0!important;box-shadow:0 2px 0 #bd821c}.ayah-number{background:transparent;font:inherit;font-size:.72em;color:#735813;padding:0 5px}.ayah-active>.ayah-number{background:#ffebb8;border-radius:8px}.taj-legend{padding:18px 24px;font-size:.875rem}.taj-legend summary{cursor:pointer;font-weight:700}.legend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0}.legend-grid>span{display:flex;gap:10px;align-items:center}.taj-dot{height:11px;width:11px;border-radius:50%;background:currentColor;flex-shrink:0}.taj-legend p{color:var(--muted);margin:8px 0}.taj-legend a{color:var(--green);text-decoration:underline}.visual-note{padding:25px;border:1px solid var(--gold);border-radius:16px;margin-top:24px;background:var(--surface)}.visual-note a{font-weight:700;text-decoration:underline}.passage-lessons{padding:30px 0}.passage-lessons h2{font-size:1.4rem;margin-bottom:15px}.passage-lessons>div{display:flex;flex-wrap:wrap;gap:9px}.source-note{font-size:.85rem;color:var(--muted);margin:20px 0}.source-note a{text-decoration:underline}.rule-letter{background:transparent!important;text-decoration:underline;text-decoration-color:#c59a36;text-decoration-thickness:2px;text-underline-offset:7px}.targets-hidden .rule-letter{text-decoration:none}.course-audio .verse{background:#fff!important;color:#181818!important;padding:15px;border-radius:12px}.course-audio .word-speaking{background:#ffebb8!important;color:inherit!important}.course-audio .verse .taj{color:inherit}.course-audio .course-heard{padding:5px 8px;border-radius:6px;background:#e7f7ed}.learning-tool-cards>a:nth-child(1){background:var(--green);color:white}.learning-tool-cards>a:nth-child(2){background:var(--soft);color:var(--ink);border-color:var(--gold)}.learning-tool-cards>a:nth-child(1) p{color:#f5f7f6}.learning-tool-cards>a:nth-child(1) .eyebrow{color:#ebd399}
.certificate-gate{max-width:730px;margin:20px auto;text-align:center;border:1px solid var(--gold);border-radius:25px;padding:35px;background:var(--surface)}.certificate-seal{display:block;font-size:5rem;color:var(--gold)}.certificate-gate progress{width:100%;margin-top:25px;accent-color:#168248}.certificate-gate .button{margin:20px}.certificate-gate details{text-align:start}.certificate-form{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:30px}.certificate-form input{min-width:220px;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;background:var(--surface);color:var(--ink)}.completion-certificate{padding:22px;background:#fcfbf6;color:#123c32;border:2px solid #b4944e;text-align:center;max-width:1050px;margin:auto}.certificate-border{border:1px solid #c2a05a;padding:35px 48px;background:radial-gradient(ellipse at top,#ede6d24d,transparent 70%)}.certificate-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-family:'Amiri',serif;font-size:2.3rem}.certificate-brand img{width:60px;height:70px;object-fit:contain}.certificate-brand small{display:block;font:600 .7rem 'Manrope',sans-serif;letter-spacing:4px}.completion-certificate .eyebrow{margin:18px 0 8px;color:#896b32}.completion-certificate h2{font:500 2.8rem/1.5 'Amiri',serif}.completion-certificate h3{font:600 2.4rem/1.6 'Amiri',serif;margin:20px auto 16px;overflow-wrap:anywhere;color:#173d34}.completion-certificate p{font-size:1rem;line-height:1.8}.completion-certificate strong{display:block;margin:10px 0;font-size:.875rem}.certificate-rule{height:1px;background:#c2a05a;max-width:300px;margin:24px auto}.completion-certificate footer{display:flex;justify-content:space-between;gap:20px;margin:25px 0 15px;font-size:.85rem}.completion-certificate small{font-size:.75rem;display:block;line-height:1.8}
.mushaf-reader{background:var(--paper);padding:10px 0}.mushaf-subtitle{text-align:center;color:var(--muted);margin-bottom:25px}.mushaf-toolbar{display:flex;gap:12px;justify-content:center;align-items:end;flex-wrap:wrap}.mushaf-toolbar button,.mushaf-toolbar a,.mushaf-toolbar select,.mushaf-toolbar input,.mushaf-pagination button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:10px 14px;font:inherit;min-height:46px}.mushaf-toolbar label{display:flex;flex-direction:column;font-size:.85rem;gap:5px}.mushaf-toolbar form{display:flex;gap:5px;align-items:end}.mushaf-toolbar form label{align-self:center}.mushaf-toolbar input{width:85px}.mushaf-toolbar .button{background:var(--green);color:white}.segmented{display:flex}.segmented button[aria-pressed=true]{background:var(--green);color:white}.mushaf-pages-scroll{overflow:auto;padding:20px 5px}.mushaf-pages{display:flex;align-items:start;justify-content:center;width:calc(100% * var(--page-scale));gap:14px;margin:auto}.mushaf-pages figure{margin:0;border:1px solid #c5b583;padding:8px;background:#fff;color:#171717;max-width:690px;width:100%;box-shadow:0 10px 20px #0001}.mushaf-pages.spread-2 figure{width:calc(50% - 7px)}.mushaf-pages img{display:block;width:100%;height:auto}.mushaf-pages figcaption{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;padding:10px}.mushaf-listen{background:#f2f3ed;border-radius:6px;padding:5px 9px;font-size:.85rem}.mushaf-pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin:22px 0}.mushaf-reader:fullscreen,.mushaf-focus{overflow:auto;padding:25px;background:var(--paper)}.mushaf-focus{position:fixed;inset:0;z-index:1000}.mushaf-audio{position:sticky;bottom:10px;margin:15px auto;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;max-width:650px;box-shadow:0 5px 25px #0002;z-index:5}.mushaf-audio audio{width:100%}.pdf-parts a{display:inline-block;border:1px solid var(--line);border-radius:8px;margin:10px;padding:7px 15px}.mushaf-toolbar~#mushaf-status{margin-top:12px;text-align:center}.mushaf-pagination button:disabled{opacity:.35}.mushaf-nav-link,.site-menu{font-size:.9rem}
@media(max-width:900px){.map-branches{grid-template-columns:repeat(2,minmax(210px,1fr))}.passage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-grid{grid-template-columns:1fr 1fr}.header-inner{flex-wrap:wrap;gap:12px;padding-block:12px}.desktop-nav{justify-content:center}.brand-and-preferences{flex:1}.certificate-border{padding:25px}.map-top{flex-direction:column;align-items:start}}
@media(max-width:600px){.map-branches{grid-template-columns:1fr}.curriculum-map{padding:8px}.map-root{font-size:1.3rem;padding:15px 20px}.passage-grid{grid-template-columns:1fr 1fr;gap:12px}.passage-card{padding:18px 13px}.passage-card h2{font-size:1.25rem}.focus-chip{font-size:.75rem;padding:5px 8px}.taj-page{font-size:calc(1.7rem * var(--text-scale,1));padding:25px 18px;line-height:2.25}.legend-grid{grid-template-columns:1fr}.reader-player{padding:12px}.header-inner{justify-content:center}.desktop-nav{width:100%;gap:30px}.settings-panel{inset-inline-end:-5px}.certificate-form{flex-direction:column;align-items:stretch}.completion-certificate{padding:10px}.certificate-border{padding:20px 12px}.completion-certificate h2{font-size:2rem}.completion-certificate h3{font-size:1.8rem}.mushaf-toolbar{gap:8px;font-size:.85rem}.mushaf-pages-scroll{margin-inline:-16px}.mushaf-pages{gap:5px}.mushaf-pages figure{padding:3px}.mushaf-pages figcaption{padding:6px;flex-wrap:wrap;gap:5px}.mushaf-pages.spread-2 figure{min-width:280px}.mushaf-pages.spread-2{justify-content:start;width:max(570px,calc(100% * var(--page-scale)))}.mushaf-pagination{gap:12px}.mushaf-toolbar .mushaf-resume{font-size:.8rem}}
@media print{@page{size:A4 landscape;margin:10mm}body:has(#completion-certificate){background:white!important}body:has(#completion-certificate)>*:not(main),body:has(#completion-certificate) #home-view,body:has(#completion-certificate) #level-view,body:has(#completion-certificate) .level-breadcrumb,body:has(#completion-certificate) .level-page-heading,body:has(#completion-certificate) .certificate-form{display:none!important}body:has(#completion-certificate) main,body:has(#completion-certificate) #learning-tools-view,body:has(#completion-certificate) #learning-tools-content{display:block!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important}.completion-certificate{width:100%;max-width:none;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.certificate-border{padding:18px 40px}.completion-certificate h2{font-size:30px}.completion-certificate h3{font-size:32px;margin:12px}.completion-certificate p{font-size:13px}.completion-certificate small{font-size:11px}}
.mushaf-pages-scroll{touch-action:pan-y pinch-zoom}.mushaf-pages img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.mushaf-pages img:not([src]){min-height:500px}@media(prefers-reduced-motion:reduce){.mushaf-pages{animation:none}}
@media(max-width:600px){.mushaf-pages.spread-2 figure{min-width:0}.mushaf-pages.spread-2{justify-content:center;width:calc(100% * var(--page-scale))}.mushaf-pages.spread-2 .mushaf-listen{font-size:.7rem;padding:4px}}
.settings-panel{position:fixed;top:90px;inset-inline-start:24px;inset-inline-end:auto;max-height:calc(100dvh - 112px)}@media(max-width:600px){.settings-panel{inset-inline-start:12px;inset-inline-end:auto;top:85px;width:calc(100vw - 24px);max-height:calc(100dvh - 100px)}}
#learning-tools-view[data-view=mushaf]{padding-top:20px}#learning-tools-view[data-view=mushaf]>.level-breadcrumb{margin-bottom:8px}#learning-tools-view[data-view=mushaf]>.level-page-heading{max-width:none;text-align:center;margin-bottom:5px}#learning-tools-view[data-view=mushaf]>.level-page-heading .eyebrow{display:none}#learning-tools-view[data-view=mushaf]>.level-page-heading h1{font-size:2rem}.mushaf-subtitle{margin-bottom:16px}.mushaf-reader>.taj-legend{padding-block:12px}@media(max-width:600px){#learning-tools-view[data-view=mushaf]>.level-breadcrumb{display:none}.mushaf-reader{padding-top:0}.mushaf-subtitle{font-size:.78rem;margin:6px 0 16px}.mushaf-toolbar{gap:7px}.mushaf-toolbar button,.mushaf-toolbar a,.mushaf-toolbar input,.mushaf-toolbar select{padding:7px 9px;min-height:40px}.mushaf-pages-scroll{padding-top:10px}}
.mushaf-pdf-size{text-align:center;color:var(--muted);font-size:.75rem;margin:10px 0 0}
.certificate-brand img{border-radius:10px;width:64px;height:64px}.completion-certificate footer{padding:0!important;background:transparent!important;border:0!important}
.verse:has(.taj){background:#fff!important;color:#181818!important;border-radius:10px;padding:12px}.topic-card.is-complete h4{color:#14552f!important}.site-menu nav{color:var(--ink)}
/* Recall map: a parent topic connects to concise rules, not lesson cards. */
.summary-map{padding:18px}
.summary-map .map-level h2:after{content:'';position:absolute;top:100%;height:25px;width:2px;background:var(--gold);left:50%}
.summary-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:2px solid var(--gold);padding-top:24px}
.summary-branch{position:relative;border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:visible}
.summary-branch:before{content:'';position:absolute;bottom:100%;height:25px;width:2px;background:var(--gold);left:50%}
.summary-branch h3{margin:0;padding:12px 18px;font-size:1.1rem;background:var(--green);color:white;border-radius:13px 13px 0 0;text-align:center}
.map-level.advanced .summary-branch h3{background:var(--gold);color:#211a0e}
.summary-rules{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 12px 12px}
.summary-rules:before{content:'';position:absolute;top:0;left:50%;height:17px;width:2px;background:var(--line)}
.summary-rule{padding:10px 12px;background:var(--soft);border:1px solid var(--line);border-radius:9px;min-width:0}
.summary-rule a{font-size:1rem;font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.summary-rule p{font-size:.875rem;line-height:1.8;margin:7px 0 0;color:var(--muted)}
.rule-letters{display:block;font-family:'Amiri',serif;font-size:1.15rem;line-height:1.9;color:var(--green);margin-top:5px;word-spacing:.13em}
.topic-card .card-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:18px 10px;height:142px}
.teaching-icon{width:38px;height:38px;flex:none;opacity:.93}
.teaching-cue{font-family:var(--body);font-size:1rem;line-height:1.8;text-align:center;font-weight:700;max-width:100%}
.teaching-cue[lang=ar]{font-family:'Amiri',serif;font-size:1.2rem;word-spacing:.12em}
html[data-theme=dark] .rule-letters{color:var(--gold-light)}
@media(max-width:900px){.summary-branches{grid-template-columns:1fr}}
@media(max-width:600px){.summary-map{padding:8px}.summary-rules{gap:8px;padding:16px 8px 8px}.summary-rule{padding:8px}.summary-rule a{font-size:.93rem}.summary-rule p{font-size:.875rem}.topic-card .card-art{height:124px;gap:6px}.teaching-cue{font-size:.85rem}.teaching-cue[lang=ar]{font-size:1rem}.teaching-icon{width:30px;height:30px}}
.summary-branch h3 a{color:inherit;text-decoration:none}
.summary-parent-note{padding:8px 16px 0;margin:0;text-align:center;color:var(--muted);font-size:.875rem}
.summary-rule h4{font-size:1rem;margin:0 0 9px}
.summary-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.summary-split>div+div{border-inline-start:1px solid var(--line);padding-inline-start:8px}
.summary-split a{font-size:.85rem}
.summary-split p{font-size:.8rem}
@media(max-width:420px){.summary-split{grid-template-columns:1fr}.summary-split>div+div{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0;padding-top:7px}}
[data-view=review] .level-page-heading{margin-block:18px 24px}
[data-view=review] .level-page-heading .eyebrow{display:none}
[data-view=review] .level-page-heading h1{font-size:clamp(1.7rem,3vw,2.5rem)}
