@import"https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Open+Sans:wght@300;400;500;600;700&family=Amiri:wght@400;700&display=swap";/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Open Sans", sans-serif;--font-serif:"EB Garamond", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#f8f9fa;--color-foreground:#222;--color-card:#fff;--color-primary:#1a3150;--color-primary-foreground:#fff;--color-muted:#ececf0;--color-muted-foreground:#717182;--color-accent:#c5a253;--color-accent-readable:#8a6d2f;--color-destructive:#d4183d;--color-success:#2e8b57;--color-info:#4a90d9;--color-sage:#7fa87f;--color-border:#1a31501a}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-border:color-mix(in sRGB, var(--color-primary) 10%, transparent)}}:root,:host{--font-arabic:"Amiri", serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.border{border-style:var(--tw-border-style);border-width:1px}.font-arabic{font-family:var(--font-arabic)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:KFGQPC Hafs;src:url(https://cdn.jsdelivr.net/gh/thetruetruth/quran-data-kfgqpc@main/hafs/font/hafs.18.woff2)format("woff2");font-display:swap}:root{--primary-2:#1a315005}@supports (color:color-mix(in lab,red,red)){:root{--primary-2:color-mix(in sRGB, var(--color-primary) 2%, transparent)}}:root{--primary-3:#1a315008}@supports (color:color-mix(in lab,red,red)){:root{--primary-3:color-mix(in sRGB, var(--color-primary) 3%, transparent)}}:root{--primary-4:#1a31500a}@supports (color:color-mix(in lab,red,red)){:root{--primary-4:color-mix(in sRGB, var(--color-primary) 4%, transparent)}}:root{--primary-5:#1a31500d}@supports (color:color-mix(in lab,red,red)){:root{--primary-5:color-mix(in sRGB, var(--color-primary) 5%, transparent)}}:root{--primary-6:#1a31500f}@supports (color:color-mix(in lab,red,red)){:root{--primary-6:color-mix(in sRGB, var(--color-primary) 6%, transparent)}}:root{--primary-8:#1a315014}@supports (color:color-mix(in lab,red,red)){:root{--primary-8:color-mix(in sRGB, var(--color-primary) 8%, transparent)}}:root{--primary-15:#1a315026}@supports (color:color-mix(in lab,red,red)){:root{--primary-15:color-mix(in sRGB, var(--color-primary) 15%, transparent)}}:root{--primary-25:#1a315040}@supports (color:color-mix(in lab,red,red)){:root{--primary-25:color-mix(in sRGB, var(--color-primary) 25%, transparent)}}:root{--success-8:#2e8b5714}@supports (color:color-mix(in lab,red,red)){:root{--success-8:color-mix(in sRGB, var(--color-success) 8%, transparent)}}:root{--success-10:#2e8b571a}@supports (color:color-mix(in lab,red,red)){:root{--success-10:color-mix(in sRGB, var(--color-success) 10%, transparent)}}:root{--success-12:#2e8b571f}@supports (color:color-mix(in lab,red,red)){:root{--success-12:color-mix(in sRGB, var(--color-success) 12%, transparent)}}:root{--success-15:#2e8b5726}@supports (color:color-mix(in lab,red,red)){:root{--success-15:color-mix(in sRGB, var(--color-success) 15%, transparent)}}:root{--success-30:#2e8b574d}@supports (color:color-mix(in lab,red,red)){:root{--success-30:color-mix(in sRGB, var(--color-success) 30%, transparent)}}:root{--destructive-8:#d4183d14}@supports (color:color-mix(in lab,red,red)){:root{--destructive-8:color-mix(in sRGB, var(--color-destructive) 8%, transparent)}}:root{--destructive-10:#d4183d1a}@supports (color:color-mix(in lab,red,red)){:root{--destructive-10:color-mix(in sRGB, var(--color-destructive) 10%, transparent)}}:root{--destructive-20:#d4183d33}@supports (color:color-mix(in lab,red,red)){:root{--destructive-20:color-mix(in sRGB, var(--color-destructive) 20%, transparent)}}:root{--destructive-30:#d4183d4d}@supports (color:color-mix(in lab,red,red)){:root{--destructive-30:color-mix(in sRGB, var(--color-destructive) 30%, transparent)}}:root{--accent-10:#c5a2531a}@supports (color:color-mix(in lab,red,red)){:root{--accent-10:color-mix(in sRGB, var(--color-accent) 10%, transparent)}}:root{--accent-15:#c5a25326}@supports (color:color-mix(in lab,red,red)){:root{--accent-15:color-mix(in sRGB, var(--color-accent) 15%, transparent)}}:root{--accent-18:#c5a2532e}@supports (color:color-mix(in lab,red,red)){:root{--accent-18:color-mix(in sRGB, var(--color-accent) 18%, transparent)}}:root{--accent-30:#c5a2534d}@supports (color:color-mix(in lab,red,red)){:root{--accent-30:color-mix(in sRGB, var(--color-accent) 30%, transparent)}}:root{--accent-40:#c5a25366}@supports (color:color-mix(in lab,red,red)){:root{--accent-40:color-mix(in sRGB, var(--color-accent) 40%, transparent)}}:root{--info-8:var(--info-8);--info-10:var(--info-10);--info-12:var(--info-12);--info-15:var(--info-15);--info-20:var(--info-20);--info-30:var(--info-30);--sage-15:#7fa87f26}@supports (color:color-mix(in lab,red,red)){:root{--sage-15:color-mix(in sRGB, var(--color-sage) 15%, transparent)}}:root{--shadow-sm:#0000001a;--shadow-md:#00000026;--overlay:#0006}*{border-color:var(--color-border)}.milestone-overlay{z-index:300;background:#0a1423bf radial-gradient(circle,#c5a25314,#0000 60%);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.milestone-card{text-align:center;background:var(--color-card);width:100%;max-width:440px;box-shadow:0 16px 48px var(--shadow-md),inset 0 0 0 1px #c5a25333;border-radius:16px;padding:2.5rem 2rem;position:relative}@supports (color:color-mix(in lab,red,red)){.milestone-card{box-shadow:0 16px 48px var(--shadow-md),inset 0 0 0 1px color-mix(in sRGB,var(--color-accent) 20%,transparent)}}.milestone-card{border:2px solid #c5a2534d}@supports (color:color-mix(in lab,red,red)){.milestone-card{border:2px solid color-mix(in sRGB,var(--color-accent) 30%,transparent)}}.milestone-card{animation:.6s ease-out milestoneCardIn}@keyframes milestoneCardIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.milestone-ornament-top,.milestone-ornament-bottom{color:var(--color-accent);opacity:.4;font-size:1.2rem;line-height:1}.milestone-ornament-top{margin-bottom:.75rem}.milestone-ornament-bottom{margin-top:.75rem}.milestone-juz-name{opacity:0;background:linear-gradient(90deg,var(--color-accent) 0%,#e8d48a 50%,var(--color-accent) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:700;line-height:1;transition:opacity .5s,transform .5s;animation:3s ease-in-out infinite milestoneShimmer;transform:scale(.85)}.milestone-juz-name.visible{opacity:1;transform:scale(1)}@keyframes milestoneShimmer{0%,to{background-position:0%}50%{background-position:100%}}.milestone-title{opacity:0;margin-bottom:1.25rem;transition:opacity .4s,transform .4s;transform:translateY(10px)}.milestone-title.visible{opacity:1;transform:translateY(0)}.milestone-title h2{font-size:1.5rem;font-family:var(--font-serif);color:var(--color-foreground);margin-bottom:.3rem}.milestone-title p{color:var(--color-muted-foreground);font-size:.9rem}.milestone-hadith{opacity:0;background:linear-gradient(90deg,#1a315008,#c5a25314);transition:opacity .4s,transform .4s;transform:translateY(10px)}@supports (color:color-mix(in lab,red,red)){.milestone-hadith{background:linear-gradient(90deg,color-mix(in sRGB,var(--color-primary) 3%,transparent),color-mix(in sRGB,var(--color-accent) 8%,transparent))}}.milestone-hadith{border-left:3px solid var(--color-accent);text-align:right;border-radius:8px;margin-bottom:1.25rem;padding:1rem}.milestone-hadith.visible{opacity:1;transform:translateY(0)}.milestone-hadith-ar{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.25rem;line-height:2}.milestone-hadith-en{color:var(--color-muted-foreground);text-align:left;margin-bottom:.3rem;font-size:.8rem;font-style:italic}.milestone-hadith-source{color:var(--color-accent-readable);text-align:left;font-size:.75rem;display:block}.milestone-action{opacity:0;transition:opacity .4s}.milestone-action.visible{opacity:1}.milestone-particles{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.milestone-particle{background:var(--color-accent);opacity:0;width:4px;height:4px;left:calc(30% + var(--i) * 3.5%);animation:particleRise 4s ease-out calc(var(--i) * .3s) infinite;border-radius:50%;position:absolute;bottom:-10px}@keyframes particleRise{0%{opacity:0;transform:translateY(0)scale(1)}20%{opacity:.6}to{opacity:0;transform:translateY(-100vh)scale(.3)}}@media(prefers-reduced-motion:reduce){.milestone-juz-name,.milestone-title,.milestone-hadith,.milestone-action{opacity:1;transition:none;transform:none}.milestone-particle{display:none}.milestone-card{animation:none}.milestone-juz-name{-webkit-text-fill-color:var(--color-accent);background:0 0;animation:none}}.offline-banner{z-index:250;background:var(--color-destructive);color:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.skip-link{z-index:9999;background:var(--color-primary);color:var(--color-primary-foreground);border-radius:0 0 8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif)}.font-arabic{font-family:var(--font-arabic);font-feature-settings:"liga","dlig"}.app-layout{grid-template-columns:300px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-card);border-right:1px solid var(--color-border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--primary-15);border-radius:3px}.sidebar-header{text-align:center;border-bottom:1px solid var(--color-border);flex-shrink:0;padding:1.5rem 1.25rem 1.25rem}.sidebar-header-top{justify-content:flex-end;align-items:center;margin-bottom:.5rem;display:flex}.sidebar-collapse-btn{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.sidebar-collapse-btn:hover{background:var(--primary-6);color:var(--color-primary)}.sidebar-close-btn{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;padding:.25rem}.sidebar-brand{cursor:pointer;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:0;display:flex}.brand-icon{background:var(--color-primary);width:44px;height:44px;color:var(--color-primary-foreground);font-family:var(--font-arabic);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.sidebar-brand h1{color:var(--color-primary);letter-spacing:.02em;text-align:left;margin:0;font-size:1.35rem}.sidebar-brand .subtitle{color:var(--color-accent);font-size:.8rem;font-family:var(--font-arabic);text-align:left}.sidebar-stats{border-top:1px solid var(--color-border);justify-content:center;gap:2rem;margin-top:1rem;padding-top:.75rem;display:flex}.stat{text-align:center}.stat-value{color:var(--color-primary);font-size:1.25rem;font-weight:600;font-family:var(--font-serif)}.stat-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-family:var(--font-sans)}.sidebar-nav-links{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.5rem .75rem}.nav-link-btn{width:100%;font-size:.8rem;font-family:var(--font-sans);cursor:pointer;color:var(--color-foreground);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-weight:500;transition:all .15s;display:flex}.nav-link-btn:hover{background:var(--primary-6);color:var(--color-primary)}.nav-badge{background:var(--color-accent);color:#fff;text-align:center;border-radius:10px;min-width:1.2rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.sidebar-search{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.75rem 1rem}.search-wrapper{position:relative}.search-input-container{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .75rem;transition:border-color .2s;display:flex}.search-input-container:focus-within{border-color:var(--color-primary)}.search-icon{color:var(--color-muted-foreground);flex-shrink:0}.search-input{font-size:.8rem;font-family:var(--font-sans);color:var(--color-foreground);background:0 0;border:none;outline:none;flex:1;min-width:0}.search-input::placeholder{color:var(--color-muted-foreground);opacity:.6}.search-clear{cursor:pointer;color:var(--color-muted-foreground);background:0 0;border:none;align-items:center;padding:2px;display:flex}.search-clear:hover{color:var(--color-foreground)}.search-results{background:var(--color-card);border:1px solid var(--color-border);z-index:50;max-height:300px;box-shadow:0 4px 16px var(--shadow-sm);border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-result-item{cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;gap:2px;padding:.6rem .75rem;transition:background .15s;display:flex}.search-result-item:hover,.search-result-item.active{background:var(--primary-4)}.search-result-title{color:var(--color-foreground);font-size:.82rem;font-weight:500}.search-result-category{color:var(--color-muted-foreground);font-size:.7rem}.search-empty{text-align:center;color:var(--color-muted-foreground);padding:1rem;font-size:.82rem}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.folder-group{margin-bottom:1px}.folder-header{width:100%;font-size:.78rem;font-family:var(--font-sans);cursor:pointer;color:var(--color-foreground);background:0 0;border:none;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:600;transition:all .15s;display:flex}.folder-header:hover{background:var(--primary-4)}.folder-header.active{color:var(--color-primary);background:var(--primary-4)}.folder-name{text-align:left;flex:1}.folder-count{color:var(--color-muted-foreground);font-size:.65rem;font-weight:400}.chevron-icon{color:var(--color-muted-foreground);flex-shrink:0;transition:transform .2s}.chevron-icon.expanded{transform:rotate(90deg)}.folder-children{padding-left:.5rem}.nav-item{width:100%;font-size:.78rem;font-family:var(--font-sans);cursor:pointer;color:var(--color-foreground);text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.4rem 1rem .4rem 1.5rem;transition:all .15s;display:flex}.nav-item:hover{background:var(--primary-4)}.nav-item.active{border-left-color:var(--color-primary);color:var(--color-primary);background:var(--primary-6);font-weight:600}.nav-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-muted{background:var(--color-muted)}.dot-gold{background:var(--color-accent)}.dot-sage{background:var(--color-sage)}.dot-green{background:var(--color-success)}.dot-blue{background:var(--color-info)}.dot-red{background:var(--color-destructive)}.nav-title{white-space:nowrap;font-weight:500}.nav-subtitle{color:var(--color-muted-foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.68rem;font-weight:400;overflow:hidden}.sidebar-footer{border-top:1px solid var(--color-border);color:var(--color-muted-foreground);flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.72rem;display:flex}.main-content{box-sizing:border-box;width:100%;height:100vh;padding:2.5rem 3rem 60px;overflow-y:auto}.main-content-center{flex-direction:column;align-items:center;width:100%;min-height:100%;display:flex}.main-content-center>*{width:100%;max-width:800px;margin-left:auto;margin-right:auto}.home-streak-bar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.gamification-overlay{z-index:200;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.gamification-overlay>*{pointer-events:auto}.page-header{margin-bottom:2rem}.page-header h2{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem}.page-subtitle{color:var(--color-muted-foreground);font-size:.9rem}.section-title{color:var(--color-primary);font-size:1.1rem;font-family:var(--font-serif);margin-bottom:.75rem}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.section-title-row .section-title{margin-bottom:0}.tajweed-idgham{color:#4a90d9}.tajweed-ikhfa{color:#7b68ee}.tajweed-iqlab{color:#2e8b57}.tajweed-izhar{color:#c5a253}.tajweed-ghunnah{color:#e85d75}.tajweed-madd{color:#d4783b}.tajweed-qalqalah{color:#6aace8}.tajweed-legend{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:.75rem 0;font-size:.7rem;display:flex}.tajweed-legend-item{align-items:center;gap:.3rem;display:flex}.tajweed-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tajweed-toggle{font-size:.75rem;font-family:var(--font-sans);border:1px solid var(--color-border);color:var(--color-muted-foreground);cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:.4rem;margin:0 auto .5rem;padding:.3rem .7rem;transition:all .15s;display:flex}.tajweed-toggle.active{border-color:var(--color-success);color:var(--color-success);background:#2e8b5714}@supports (color:color-mix(in lab,red,red)){.tajweed-toggle.active{background:color-mix(in sRGB,var(--color-success) 8%,transparent)}}.sabaq-chunked{max-width:600px;margin:0 auto}.sabaq-chunked-header{text-align:center;margin-bottom:1rem}.sabaq-chunked-header h3{font-family:var(--font-serif);margin-bottom:.25rem;font-size:1.2rem}.sabaq-chunked-meta{color:var(--color-muted-foreground);text-align:center;margin-bottom:1rem;font-size:.82rem}.sabaq-page-progress{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1.25rem;display:flex}.sabaq-page-dot{border:1.5px solid var(--color-border);width:2rem;height:2rem;font-size:.72rem;font-family:var(--font-sans);cursor:pointer;color:var(--color-muted-foreground);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.sabaq-page-dot.current{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.sabaq-page-dot.familiar{border-color:var(--color-success);color:var(--color-success)}.sabaq-page-dot.familiar.current{background:var(--color-success);color:#fff}.sabaq-chunk-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1.25rem}.sabaq-chunk-info{text-align:center;color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.85rem}.sabaq-chunked-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.sabaq-chunked-hint{color:var(--color-muted-foreground);text-align:center;margin-bottom:1rem;font-size:.85rem}.sabaq-chunked-complete{text-align:center;padding:2rem 1rem}.sabaq-chunked-complete h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.3rem}.sabaq-chunked-chain{text-align:center;padding:1rem}.sabaq-chunked-chain h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.3rem}.daily-session{max-width:600px;margin:0 auto}.session-intro{text-align:center;padding:2rem 1rem}.session-intro-brand{color:var(--color-accent);margin-bottom:.75rem;font-size:2.5rem;font-weight:700;line-height:1}.session-intro h2{color:var(--color-foreground);margin-bottom:1.5rem;font-size:1.5rem}.session-intro-summary{color:var(--color-muted-foreground);margin:1.5rem 0;font-size:.9rem}.session-intro-summary ul{margin-top:.5rem;padding:0;list-style:none}.session-intro-summary li{color:var(--color-foreground);padding:.25rem 0;font-weight:500}.session-layers{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.session-layer-card{background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;text-align:left;font-family:var(--font-sans);border-radius:12px;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.session-layer-card:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 2px 8px var(--shadow-sm)}.session-layer-card.next{border-color:var(--color-primary);background:var(--primary-3)}.session-layer-card.done{opacity:.5;cursor:default}.session-layer-card.empty{opacity:.35;cursor:default}.session-layer-icon{background:var(--primary-6);width:40px;height:40px;color:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.session-layer-info{flex:1}.session-layer-label{color:var(--color-foreground);margin-bottom:.1rem;font-size:.9rem;font-weight:600;display:block}.session-layer-hint{color:var(--color-muted-foreground);margin-bottom:.25rem;font-size:.75rem;display:block}.session-layer-meta{color:var(--color-primary);font-size:.72rem;font-weight:500;display:block}.session-layer-arrow{color:var(--color-muted-foreground);flex-shrink:0}.session-layer-check{color:var(--color-success);flex-shrink:0;font-size:1.1rem}.interleave-toggle{font-size:.78rem;font-family:var(--font-sans);border:1px solid var(--color-border);color:var(--color-muted-foreground);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:.4rem;margin:.75rem auto;padding:.35rem .85rem;transition:all .15s;display:flex}.interleave-toggle.active{border-color:var(--color-accent);color:var(--color-accent-readable);background:#c5a25314}@supports (color:color-mix(in lab,red,red)){.interleave-toggle.active{background:color-mix(in sRGB,var(--color-accent) 8%,transparent)}}.session-skip-action{text-align:center;margin-top:1rem}.resume-prompt{text-align:center;padding:3rem 1.5rem}.resume-prompt h2{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.5rem}.resume-prompt p{color:var(--color-muted-foreground);margin-bottom:2rem}.resume-prompt-actions{justify-content:center;gap:.75rem;display:flex}.niyyah-screen{padding-top:3rem}.niyyah-bismillah{color:var(--color-accent);margin-bottom:1.5rem;font-size:1.8rem;line-height:1.4}.niyyah-text{color:var(--color-muted-foreground);max-width:360px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:.9rem;line-height:1.6}.niyyah-dua{color:var(--color-foreground);background:var(--primary-3);border-radius:10px;margin-bottom:.5rem;padding:1.25rem;font-size:1.3rem;line-height:2}.niyyah-dua-translation{color:var(--color-muted-foreground);margin-bottom:2rem;font-size:.78rem;font-style:italic}.niyyah-skip{margin:.5rem auto 0;font-size:.75rem;display:block}.sabaq-vocab-preview{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-top:1.5rem;padding:1.25rem}.sabaq-vocab-preview h4{color:var(--color-foreground);margin-bottom:.25rem;font-size:.9rem}.sabaq-vocab-hint{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.72rem}.sabaq-vocab-list{flex-direction:column;gap:.5rem;display:flex}.sabaq-vocab-item{border-bottom:1px solid var(--primary-4);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}.sabaq-vocab-item:last-child{border-bottom:none}.sabaq-vocab-word{color:var(--color-foreground);min-width:60px;font-size:1.1rem}.sabaq-vocab-meaning{color:var(--color-muted-foreground);font-size:.8rem}.sabaq-vocab-root{color:var(--color-accent);font-size:.85rem}.burnout-warning{background:var(--accent-10);border:1px solid var(--accent-30);border-radius:8px;margin-bottom:1.5rem;padding:.85rem 1rem}.burnout-warning p{color:var(--color-accent-readable);font-size:.85rem;line-height:1.5}.primary-action-card{background:var(--color-card);border:1px solid var(--color-border);text-align:center;border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.primary-action-card.urgent{border-color:var(--color-destructive);background:#fef8f9}@supports (color:color-mix(in lab,red,red)){.primary-action-card.urgent{background:color-mix(in sRGB,var(--color-destructive) 3%,var(--color-card))}}.primary-action-hint{color:var(--color-muted-foreground);margin-bottom:.75rem;font-size:.85rem;display:block}.primary-action-btn{width:100%;padding:.75rem 1.5rem;font-size:1rem}.primary-action-quick{width:100%;margin-top:.5rem;font-size:.8rem}.primary-action-done{color:var(--color-muted-foreground)}.primary-action-done p{margin-bottom:.75rem;font-size:1rem}.progress-map-toggle{text-align:center;width:100%;margin-bottom:.5rem;font-size:.85rem}.progress-map-collapsible{max-height:0;transition:max-height .3s;overflow:hidden}.progress-map-collapsible.open{max-height:2000px}@media(min-width:901px){.progress-map-collapsible{max-height:none}.progress-map-toggle{display:none}}.daily-summary{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.daily-summary-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.daily-summary-header h3{color:var(--color-foreground);font-size:1.1rem}.daily-summary-percent{color:var(--color-primary);font-size:1.5rem;font-weight:600}.daily-summary-layers{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.daily-layer{align-items:center;gap:.75rem;display:flex}.daily-layer-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.daily-layer-icon.sabaq{background:var(--accent-15);color:var(--color-accent)}.daily-layer-icon.sabqi{background:var(--info-15);color:var(--color-info)}.daily-layer-icon.manzil{background:var(--success-15);color:var(--color-success)}.daily-layer-info{flex-direction:column;flex:1;display:flex}.daily-layer-label{color:var(--color-foreground);font-size:.85rem;font-weight:500}.daily-layer-hint{color:var(--color-muted-foreground);font-size:.72rem}.daily-layer-count{color:var(--color-foreground);text-align:right;min-width:2rem;font-size:1.1rem;font-weight:600}.daily-summary-actions{flex-direction:column;gap:.5rem;display:flex}.daily-summary-btn{width:100%}.daily-summary-quick{width:100%;font-size:.8rem}.daily-summary-done{text-align:center;color:var(--color-success);font-size:.9rem;font-weight:500}.login-reward-banner{background:var(--accent-10);border:1px solid var(--accent-30);color:var(--color-accent);border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.login-reward-info{flex-direction:column;flex:1;display:flex}.login-reward-title{color:var(--color-foreground);font-size:.8rem;font-weight:600}.login-reward-amount{color:var(--color-accent-readable);font-size:.72rem}.hafiz-daily-challenge{margin-bottom:2rem}.daily-challenge-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.daily-challenge-header h3{color:var(--color-foreground);font-size:.85rem;font-weight:600}.daily-challenge-done-badge{background:var(--success-12);color:var(--color-success);border-radius:10px;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.daily-challenge-tasks{flex-direction:column;gap:.35rem;display:flex}.daily-challenge-task{background:var(--color-card);border:1px solid var(--color-border);font-family:var(--font-sans);color:var(--color-foreground);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.82rem;transition:border-color .15s;display:flex}.daily-challenge-task:hover{border-color:var(--color-primary)}.daily-challenge-task .task-circle{color:var(--color-muted-foreground)}.daily-challenge-task .task-check{color:var(--color-success)}.daily-challenge-task.done{opacity:.5;text-decoration:line-through}.study-plan{margin-bottom:2rem}.study-plan-title{color:var(--color-foreground);margin-bottom:.75rem;font-size:.85rem;font-weight:600}.study-plan-item{border-bottom:1px solid var(--primary-4);align-items:flex-start;gap:.6rem;padding:.6rem 0;display:flex}.study-plan-item:last-child{border-bottom:none}.study-plan-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem}.priority-high .study-plan-dot{background:var(--color-destructive)}.priority-medium .study-plan-dot{background:var(--color-accent)}.priority-low .study-plan-dot{background:var(--color-success)}.study-plan-action{color:var(--color-foreground);font-size:.85rem;font-weight:500;display:block}.study-plan-detail{color:var(--color-muted-foreground);margin-top:.1rem;font-size:.72rem;display:block}.session-reflection{margin:1rem 0}.reflection-insight{border-radius:8px;margin-bottom:.5rem;padding:.6rem .85rem;font-size:.85rem}.reflection-insight.caution{background:var(--accent-10);color:var(--color-accent-readable)}.reflection-insight.success{background:var(--success-10);color:var(--color-success)}.revision-complete-sub{color:var(--color-muted-foreground);margin-bottom:1.25rem;font-size:.9rem}.session-hadith{text-align:right;background:linear-gradient(90deg,#1a315008,#c5a25314);padding:1.25rem}@supports (color:color-mix(in lab,red,red)){.session-hadith{background:linear-gradient(90deg,color-mix(in sRGB,var(--color-primary) 3%,transparent),color-mix(in sRGB,var(--color-accent) 8%,transparent))}}.session-hadith{border-left:3px solid var(--color-accent);border-radius:10px;margin:1.5rem 0}.session-hadith-ar{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.25rem;line-height:2}.session-hadith-en{color:var(--color-muted-foreground);text-align:left;margin-bottom:.25rem;font-size:.8rem;font-style:italic}.session-hadith-source{color:var(--color-accent-readable);text-align:left;font-size:.75rem;display:block}.progress-map{margin-bottom:2rem}.progress-map-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.progress-map-filters{flex-wrap:wrap;gap:.35rem;display:flex}.filter-pill{font-size:.75rem;font-family:var(--font-sans);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted-foreground);cursor:pointer;border-radius:20px;padding:.3rem .75rem;transition:all .15s}.filter-pill:hover{border-color:var(--color-primary)}.filter-pill.active{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.progress-map-views{border:1px solid var(--color-border);border-radius:6px;gap:0;display:flex;overflow:hidden}.view-btn{background:var(--color-card);color:var(--color-muted-foreground);border:none;border-right:1px solid var(--color-border);cursor:pointer;align-items:center;padding:.35rem .5rem;transition:background .15s;display:flex}.view-btn:last-child{border-right:none}.view-btn:hover{background:var(--primary-4)}.view-btn.active{background:var(--color-primary);color:var(--color-primary-foreground)}.juz-cards-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.juz-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:.75rem;transition:box-shadow .15s}.juz-card:hover{box-shadow:0 2px 8px var(--shadow-sm)}.juz-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.juz-card-num{color:var(--color-foreground);font-size:.8rem;font-weight:600}.juz-card-pct{color:var(--color-muted-foreground);font-size:.7rem}.juz-card-dots{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.juz-dot{aspect-ratio:1;cursor:pointer;border:none;border-radius:50%;min-width:20px;transition:transform .15s}.juz-dot:hover{transform:scale(1.2)}.juz-dot-indicator{color:#fffc;pointer-events:none;font-size:.5rem;line-height:1}.due-ring{box-shadow:0 0 0 2px var(--color-destructive)}.heatmap-grid{flex-direction:column;gap:2px;display:flex}.heatmap-row{align-items:center;gap:2px;display:flex}.heatmap-label{width:2rem;color:var(--color-muted-foreground);text-align:right;flex-shrink:0;padding-right:.35rem;font-size:.65rem}.heatmap-cell{aspect-ratio:2;cursor:pointer;border:none;border-radius:3px;flex:1;min-height:14px;transition:opacity .15s}.heatmap-cell.dimmed{opacity:.15}.heatmap-cell:hover{opacity:.8}.cell-muted{background:var(--color-muted)}.cell-gold{background:var(--color-accent)}.cell-sage{background:var(--color-sage)}.cell-green{background:var(--color-success)}.rub-list{background:var(--color-border);border-radius:10px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.rub-list-item{background:var(--color-card);cursor:pointer;text-align:left;font-family:var(--font-sans);border:none;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.8rem;transition:background .15s;display:flex}.rub-list-item:hover{background:var(--primary-3)}.rub-list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.rub-list-id{color:var(--color-foreground);min-width:60px;font-weight:500}.rub-list-juz{color:var(--color-muted-foreground);min-width:50px}.rub-list-stage{text-transform:capitalize;border-radius:10px;padding:.15rem .5rem;font-size:.7rem}.rub-list-due{background:var(--destructive-10);color:var(--color-destructive);border-radius:10px;margin-left:auto;padding:.15rem .5rem;font-size:.7rem}.stats-bar{margin-bottom:2rem}.stats-progress{margin-bottom:1rem}.stats-progress-bar{background:var(--color-muted);border-radius:4px;height:8px;margin-bottom:.35rem;overflow:hidden}.stats-progress-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:4px;height:100%;transition:width .5s}.stats-progress-label{color:var(--color-muted-foreground);font-size:.75rem;font-weight:500}.stats-grid{grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}.stats-card{text-align:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;padding:.75rem .5rem}.stats-card-value{font-size:1.5rem;font-weight:600;font-family:var(--font-serif);color:var(--color-primary)}.stats-card-gold{color:var(--color-accent)}.stats-card-blue{color:var(--color-info)}.stats-card-red{color:var(--color-destructive)}.stats-card-green{color:var(--color-success)}.stats-card-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem;font-size:.65rem}.due-banner{background:var(--info-8);border:1px solid var(--info-20);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.25rem;display:flex}.due-banner-text{color:var(--color-foreground);font-size:.9rem}.rub-grid-section{margin-top:1.5rem}.rub-grid-legend{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.legend-item{color:var(--color-muted-foreground);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.rub-grid{grid-template-columns:repeat(16,1fr);gap:3px;display:grid}.rub-grid-cell{aspect-ratio:1;cursor:pointer;font-size:.6rem;font-family:var(--font-sans);color:#00000073;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:0;padding:0;font-weight:600;transition:all .15s;display:flex}.rub-grid-cell:hover{z-index:1;box-shadow:0 2px 8px var(--shadow-md);transform:scale(1.15)}.grid-cell-muted{background:var(--color-muted);color:#00000040}.grid-cell-gold{background:var(--color-accent);color:#ffffffb3}.grid-cell-sage{background:var(--color-sage);color:#ffffffb3}.grid-cell-green{background:var(--color-success);color:#fffc}.rub-detail{padding-bottom:2rem}.rub-detail-header{margin-bottom:1.5rem}.rub-detail-nav{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.rub-detail-title-group{text-align:center;flex:1}.rub-detail-title-group h2{color:var(--color-primary);margin:0;font-size:1.5rem}.rub-detail-meta{color:var(--color-muted-foreground);font-size:.82rem}.rub-detail-stage{text-align:center}.stage-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.3rem .85rem;font-size:.75rem;font-weight:600;display:inline-block}.stage-not_started{background:var(--color-muted);color:var(--color-muted-foreground)}.stage-learning{background:var(--accent-15);color:var(--color-accent-readable)}.stage-memorized{background:var(--sage-15);color:var(--color-sage)}.stage-solid{background:var(--success-15);color:var(--color-success)}.rub-detail-actions{gap:.75rem;margin-bottom:1.5rem;display:flex}.audio-player-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1rem;transition:border-color .2s;display:flex}.audio-player-card.active{border-color:var(--accent-40)}.audio-player-controls{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.audio-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.audio-btn:disabled{opacity:.5;cursor:not-allowed}.audio-btn-play{background:var(--color-primary);width:40px;height:40px;color:var(--color-primary-foreground)}.audio-btn-play:hover:not(:disabled){opacity:.85}.audio-btn-stop{background:var(--destructive-10);width:32px;height:32px;color:var(--color-destructive)}.audio-btn-stop:hover{background:var(--color-destructive);color:#fff}.audio-player-info{flex:1;min-width:0}.audio-now-playing{color:var(--color-foreground);align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;display:flex}.audio-ayah-ref{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-paused-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);font-size:.68rem;font-weight:600}.audio-progress-text{color:var(--color-muted-foreground);margin-top:.15rem;font-size:.72rem}.audio-idle-text{color:var(--color-muted-foreground);font-size:.82rem}.audio-eq{flex-shrink:0;align-items:flex-end;gap:2px;height:14px;display:flex}.audio-eq span{background:var(--color-accent);border-radius:1px;width:3px;animation:.8s ease-in-out infinite alternate eq-bounce}.audio-eq span:first-child{height:6px;animation-delay:0s}.audio-eq span:nth-child(2){height:10px;animation-delay:.2s}.audio-eq span:nth-child(3){height:4px;animation-delay:.4s}@keyframes eq-bounce{0%{transform:scaleY(.7)}to{transform:scaleY(1)}}.audio-player-reciter{flex-shrink:0}.audio-reciter-select{border:1px solid var(--color-border);font-family:var(--font-sans);background:var(--color-background);color:var(--color-foreground);cursor:pointer;border-radius:6px;max-width:140px;padding:.35rem .5rem;font-size:.72rem}.audio-reciter-select:focus{border-color:var(--color-primary);outline:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.quran-text-block{font-family:var(--font-arabic);direction:rtl;font-size:1.5rem;line-height:2.2}.quran-segment{margin-bottom:1.5rem}.quran-flowing-text{text-align:justify;color:var(--color-foreground);word-spacing:.08em;text-rendering:optimizelegibility;margin:0;font-size:1.6rem}.ayah-span{cursor:pointer;border-radius:4px;padding:2px 0;transition:background .2s}.ayah-span:hover{background:var(--primary-6)}.ayah-span.playing{background:var(--accent-18)}.ayah-end-marker{color:var(--color-accent);-webkit-user-select:none;user-select:none;padding:0 .15em;font-size:.85em}.surah-header{text-align:center;background:linear-gradient(90deg,#0000,#c5a25314 20%,#c5a2531f,#c5a25314 80%,#0000);margin-bottom:.5rem;padding:.6rem 1.5rem}@supports (color:color-mix(in lab,red,red)){.surah-header{background:linear-gradient(90deg,transparent,color-mix(in sRGB,var(--color-accent) 8%,transparent) 20%,color-mix(in sRGB,var(--color-accent) 12%,transparent) 50%,color-mix(in sRGB,var(--color-accent) 8%,transparent) 80%,transparent)}}.surah-header{border-top:1px solid #c5a25333}@supports (color:color-mix(in lab,red,red)){.surah-header{border-top:1px solid color-mix(in sRGB,var(--color-accent) 20%,transparent)}}.surah-header{border-bottom:1px solid #c5a25333}@supports (color:color-mix(in lab,red,red)){.surah-header{border-bottom:1px solid color-mix(in sRGB,var(--color-accent) 20%,transparent)}}.surah-header{position:relative}.quran-segment:first-child .surah-header{border-top:1px solid #c5a25333}@supports (color:color-mix(in lab,red,red)){.quran-segment:first-child .surah-header{border-top:1px solid color-mix(in sRGB,var(--color-accent) 20%,transparent)}}.surah-header-name{font-family:var(--font-arabic);color:var(--color-primary);font-size:1.3rem;font-weight:700}.surah-header-name:before,.surah-header-name:after{content:"۞";opacity:.35;vertical-align:middle;margin:0 .5em;font-size:.7em}.bismillah{text-align:center;font-family:var(--font-arabic);color:var(--color-primary);direction:rtl;margin:.5rem 0 1rem;font-size:1.4rem}.rub-detail-ayahs{margin-top:1rem}.ayah-list{flex-direction:column;gap:1px;display:flex}.ayah-row{border-radius:6px;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;transition:background .15s;display:flex}.ayah-row:hover{background:var(--primary-3)}.ayah-row.playing{background:var(--accent-10)}.ayah-number{width:28px;height:28px;color:var(--color-muted-foreground);background:var(--color-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:flex}.ayah-content{flex:1;min-width:0}.ayah-text{color:var(--color-foreground);font-size:1.2rem;line-height:2}.ayah-ref{color:var(--color-muted-foreground);font-size:.82rem}.ayah-play-btn{background:var(--color-primary);width:28px;height:28px;color:var(--color-primary-foreground);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;transition:opacity .15s;display:flex}.ayah-play-btn:hover{opacity:.8}.loading-state{text-align:center;color:var(--color-muted-foreground);padding:2rem;font-size:.9rem}.revision-session{padding-bottom:2rem}.revision-progress{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.revision-progress-bar{background:var(--color-muted);border-radius:3px;flex:1;height:6px;overflow:hidden}.revision-progress-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .3s}.revision-progress-text{color:var(--color-muted-foreground);flex-shrink:0;font-size:.78rem;font-weight:500}.revision-card{background:var(--color-card);border:1px solid var(--color-border);-webkit-user-select:none;user-select:none;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;position:relative}.swipe-hint{color:var(--color-primary);background:var(--color-card);box-shadow:0 4px 16px var(--shadow-sm);z-index:10;pointer-events:none;border-radius:10px;padding:.5rem 1.5rem;font-size:1.5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.revision-card h3{color:var(--color-primary);margin-bottom:.25rem;font-size:1.2rem}.revision-card-meta{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.82rem}.mode-selector{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.mode-btn{border:1px solid var(--color-border);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;color:var(--color-muted-foreground);background:0 0;border-radius:20px;padding:.4rem .85rem;transition:all .15s}.mode-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.mode-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.mode-btn.recommended:not(.active){border-color:var(--color-accent);color:var(--color-accent-readable)}.mode-rec-badge{text-transform:uppercase;letter-spacing:.03em;opacity:.75;margin-top:.1rem;font-size:.55rem;display:block}.grade-buttons{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1.5rem;display:grid}.grade-buttons.with-descriptions .btn{flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .4rem;display:flex}.grade-btn-desc{opacity:.85;font-size:.65rem;font-weight:400;line-height:1.2;display:block}.grade-buttons kbd{font-size:.65rem;font-family:var(--font-sans);opacity:.6;background:#fff3;border-radius:3px;margin-left:.3rem;padding:.1rem .35rem;display:inline-block}.shortcuts-overlay{z-index:150;background:var(--overlay);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.shortcuts-card{background:var(--color-card);min-width:240px;box-shadow:0 8px 32px var(--shadow-sm);border-radius:12px;padding:1.5rem 2rem}.shortcuts-card h3{color:var(--color-foreground);margin-bottom:1rem;font-size:1rem}.shortcuts-list{flex-direction:column;gap:.5rem;display:flex}.shortcuts-list>div{align-items:center;gap:.75rem;display:flex}.shortcuts-list kbd{text-align:center;min-width:1.8rem;font-size:.8rem;font-family:var(--font-sans);background:var(--primary-6);border:1px solid var(--color-border);color:var(--color-foreground);border-radius:4px;padding:.2rem .5rem;display:inline-block}.shortcuts-list dd{color:var(--color-muted-foreground);font-size:.85rem}.btn-again{background:var(--destructive-10);border-color:var(--destructive-30);color:var(--color-destructive)}.btn-again:hover{background:var(--color-destructive);color:#fff;border-color:var(--color-destructive)}.btn-hard{background:var(--accent-10);border-color:var(--accent-30);color:var(--color-accent-readable)}.btn-hard:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-good{background:var(--info-10);border-color:var(--info-30);color:var(--color-info)}.btn-good:hover{background:var(--color-info);color:#fff;border-color:var(--color-info)}.btn-easy{background:var(--success-10);border-color:var(--success-30);color:var(--color-success)}.btn-easy:hover{background:var(--color-success);color:#fff;border-color:var(--color-success)}.revision-complete{text-align:center;padding:2rem}.revision-complete h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem}.revision-summary{justify-content:center;gap:2rem;margin-bottom:1.5rem;display:flex}.revision-mode{padding:1rem 0}.revision-mode p{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.88rem}.recall-ayah{border-bottom:1px solid var(--primary-5);align-items:flex-start;gap:.5rem;padding:.5rem 0;display:flex}.recall-hint{font-family:var(--font-arabic);color:var(--color-muted-foreground);direction:rtl;font-size:1rem}.recall-full{font-family:var(--font-arabic);color:var(--color-foreground);direction:rtl;font-size:1.1rem;line-height:2}.reveal-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-primary);background:0 0;border-radius:4px;flex-shrink:0;padding:.2rem .6rem;font-size:.72rem}.reveal-btn:hover{background:var(--color-primary);color:#fff}.confidence-prompt{flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.confidence-label{font-family:var(--font-sans);color:var(--color-muted-foreground);font-size:.75rem}.confidence-btns,.confidence-prompt-inline{gap:.35rem;display:flex}.confidence-btn{font-size:.72rem;font-family:var(--font-sans);border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:6px;min-height:auto;padding:.3rem .65rem;transition:all .15s}.confidence-btn:hover{border-color:var(--color-primary)}.confidence-btn.confident{color:var(--color-success)}.confidence-btn.somewhat{color:var(--color-accent-readable)}.confidence-btn.unsure{color:var(--color-destructive)}.recall-ref-text{font-family:var(--font-sans);color:var(--color-primary);margin-bottom:.5rem;font-size:.9rem;display:block}.recite-card{text-align:center;padding:2rem 1rem}.recite-progress-text{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:.75rem}.recite-ref{color:var(--color-primary);margin-bottom:1.5rem;font-size:.9rem;font-weight:500}.recite-cue{color:var(--color-accent);margin-bottom:1rem;font-size:2rem;line-height:1.6}.recite-timer{font-size:1.5rem;font-family:var(--font-sans);color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;margin-bottom:1.5rem;font-weight:300}.recite-revealed{margin-top:1.5rem}.recite-revealed .ayah-text{margin-bottom:1rem;font-size:1.3rem;line-height:2}.reveal-btn-ref{font-family:var(--font-sans);color:var(--color-primary);font-size:.85rem}.word-bank{background:var(--primary-3);direction:rtl;border-radius:8px;flex-wrap:wrap;gap:.5rem;min-height:60px;margin-bottom:1rem;padding:1rem;display:flex}.word-chip{background:var(--color-card);border:1px solid var(--color-border);font-family:var(--font-arabic);cursor:pointer;border-radius:6px;padding:.4rem .75rem;font-size:1rem;transition:all .15s}.word-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.word-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.word-chip.correct{background:var(--success-15);border-color:var(--color-success);color:var(--color-success)}.word-chip.incorrect{background:var(--destructive-10);border-color:var(--color-destructive);color:var(--color-destructive)}.word-sequence{border:2px dashed var(--color-border);direction:rtl;border-radius:8px;flex-wrap:wrap;gap:.5rem;min-height:40px;margin-bottom:1rem;padding:.75rem;display:flex}.games-page{padding-bottom:2rem}.game-cards-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;display:grid}.game-card{background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:12px;padding:1.25rem;transition:all .2s}.game-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--primary-8);transform:translateY(-2px)}.game-card.locked{opacity:.5;cursor:default}.game-card.locked:hover{box-shadow:none;border-color:var(--color-border);transform:none}.game-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.game-card-icon{background:var(--primary-8);width:40px;height:40px;color:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;display:flex}.game-type-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .45rem;font-size:.6rem;font-weight:600}.game-type-badge.production{background:var(--success-12);color:var(--color-success)}.game-type-badge.recognition{background:var(--info-12);color:var(--color-info)}.game-card-lock-text{color:var(--color-muted-foreground);margin-top:.75rem;font-size:.72rem;display:block}.games-unlock-hint{text-align:center;background:var(--accent-10);color:var(--color-accent-readable);border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;font-size:.9rem}.game-card h3{color:var(--color-foreground);margin-bottom:.25rem;font-size:1rem}.game-card p{color:var(--color-muted-foreground);font-size:.78rem;line-height:1.4}.game-card-play{background:var(--color-primary);color:var(--color-primary-foreground);cursor:pointer;border:none;border-radius:6px;margin-top:.75rem;padding:.35rem .85rem;font-size:.75rem;font-weight:600;transition:opacity .15s;display:inline-block}.game-card-play:hover{opacity:.9}.game-shell{padding-bottom:2rem}.game-shell-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.game-shell-left{align-items:center;gap:.75rem;display:flex}.game-shell-right{align-items:center;gap:1rem;display:flex}.game-score{color:var(--color-primary);font-size:.85rem;font-weight:600}.game-timer{color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;font-size:.78rem}.game-progress-bar{background:var(--color-muted);border-radius:2px;height:4px;margin-bottom:1.5rem;overflow:hidden}.game-progress-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.game-complete-overlay{text-align:center;padding:3rem 2rem}.game-complete-overlay h3{color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem}.game-final-score{color:var(--color-accent);font-size:2.5rem;font-weight:700;font-family:var(--font-serif);margin-bottom:1.5rem}.game-question{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1.5rem}.game-question-text{font-family:var(--font-arabic);text-align:right;color:var(--color-foreground);direction:rtl;font-size:1.25rem;line-height:2}.game-choices{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.game-choice{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-family:var(--font-arabic);text-align:right;direction:rtl;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:all .15s}.game-choice:hover{border-color:var(--color-primary);background:var(--primary-3)}.game-choice.correct{background:var(--success-10);border-color:var(--color-success)}.game-choice.incorrect{background:var(--destructive-8);border-color:var(--color-destructive)}.game-input{border:1px solid var(--color-border);width:100%;font-family:var(--font-arabic);background:var(--color-card);color:var(--color-foreground);direction:rtl;border-radius:6px;padding:.6rem .75rem;font-size:1rem}.game-input:focus{border-color:var(--color-primary);outline:none}.game-feedback{border-radius:8px;margin-top:1rem;padding:1rem;font-size:.88rem}.game-feedback.correct{background:var(--success-8);color:var(--color-success)}.game-feedback.incorrect{background:var(--destructive-8);color:var(--color-destructive)}.game-no-data{text-align:center;color:var(--color-muted-foreground);padding:3rem 2rem}.game-no-data h3{color:var(--color-foreground);margin-bottom:.5rem}.challenge-page{padding-bottom:2rem}.challenge-start{text-align:center;padding:2rem 0}.challenge-start p{color:var(--color-muted-foreground);max-width:500px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:.9rem}.challenge-start-header{margin-bottom:1.5rem}.challenge-start-description{color:var(--color-muted-foreground);max-width:500px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:.9rem;line-height:1.6}.challenge-juz-section{margin-bottom:1.5rem}.challenge-juz-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.challenge-start-summary{color:var(--color-muted-foreground);margin-bottom:1.5rem;font-size:.82rem}.challenge-start-btn{min-width:200px}.challenge-juz-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;max-width:400px;margin:0 auto 1.5rem;display:grid}.challenge-juz-btn{border:1px solid var(--color-border);cursor:pointer;font-size:.78rem;font-weight:500;font-family:var(--font-sans);color:var(--color-muted-foreground);background:0 0;border-radius:6px;padding:.5rem;transition:all .15s}.challenge-juz-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.challenge-juz-btn.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.challenge-juz-actions{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.challenge-summary{color:var(--color-muted-foreground);margin-bottom:1.5rem;font-size:.82rem}.challenge-progress{margin-bottom:2rem}.challenge-day-counter{text-align:center;margin-bottom:1rem}.challenge-day-number{font-size:1.25rem;font-weight:600;font-family:var(--font-serif);color:var(--color-primary)}.challenge-day-of{color:var(--color-muted-foreground);font-size:.9rem}.challenge-overall{margin-bottom:1.25rem}.challenge-progress-header{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.challenge-progress-label{color:var(--color-foreground);font-size:.82rem}.challenge-progress-percent{color:var(--color-primary);font-size:.82rem;font-weight:600}.challenge-progress-bar{background:var(--color-muted);border-radius:5px;height:10px;overflow:hidden}.challenge-progress-fill{background:var(--color-primary);border-radius:5px;height:100%;transition:width .3s}.challenge-indicators{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0;display:grid}.challenge-indicator{text-align:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;display:flex}.challenge-indicator.on-track .challenge-indicator-dot{background:var(--color-success)}.challenge-indicator.behind .challenge-indicator-dot{background:var(--color-accent)}.challenge-indicator-dot{background:var(--color-muted-foreground);border-radius:50%;width:10px;height:10px;display:inline-block}.challenge-indicator.on-track .challenge-indicator-label{color:var(--color-success)}.challenge-indicator.behind .challenge-indicator-label{color:var(--color-accent)}.challenge-indicator-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.challenge-streak-value,.challenge-remaining-value{font-size:1.2rem;font-weight:600;font-family:var(--font-serif);color:var(--color-primary)}.challenge-juz-breakdown{margin-top:1.25rem}.challenge-juz-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.challenge-juz-item{flex-direction:column;gap:.25rem;display:flex}.challenge-juz-item-header{justify-content:space-between;align-items:baseline;display:flex}.challenge-juz-item-label{color:var(--color-foreground);font-size:.78rem;font-weight:500}.challenge-juz-item-count{color:var(--color-muted-foreground);font-size:.72rem}.challenge-juz-progress-bar{background:var(--color-muted);border-radius:4px;height:8px;overflow:hidden}.challenge-juz-progress-fill{background:var(--color-primary);border-radius:4px;height:100%;transition:width .3s}.daily-checklist{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.daily-checklist-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.daily-checklist-count{color:var(--color-primary);font-size:.78rem;font-weight:600}.daily-checklist-items{flex-direction:column;gap:0;display:flex}.daily-checklist-item{border-bottom:1px solid var(--primary-5);cursor:pointer;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.daily-checklist-item:last-of-type{border-bottom:none}.daily-checklist-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.daily-checklist-label{color:var(--color-foreground);cursor:pointer;font-size:.85rem;transition:color .15s}.daily-checklist-label.checked{color:var(--color-muted-foreground);text-decoration:line-through}.daily-checklist-notes{margin-top:1rem}.daily-checklist-notes .form-textarea{border:1px solid var(--color-border);width:100%;min-height:60px;font-family:var(--font-sans);resize:vertical;background:var(--color-background);color:var(--color-foreground);border-radius:6px;padding:.6rem .75rem;font-size:.82rem}.daily-checklist-notes .form-textarea:focus{border-color:var(--color-primary);outline:none}.challenge-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.challenge-banner{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.challenge-banner p{margin:0}.challenge-banner-success{background:var(--success-8);color:var(--color-success)}.challenge-banner-muted{background:var(--primary-5);color:var(--color-muted-foreground)}.challenge-banner-warning{background:var(--accent-10);color:var(--color-accent-readable)}.challenge-abandon-btn{color:var(--color-muted-foreground);margin-left:auto}.analytics-hadith{text-align:center;background:var(--primary-3);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.analytics-hadith-ar{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.25rem;line-height:2}.analytics-hadith-en{color:var(--color-muted-foreground);margin-bottom:.25rem;font-size:.85rem;font-style:italic}.analytics-hadith-source{color:var(--color-muted-foreground);font-size:.7rem}.analytics-metrics{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2rem;display:grid}.analytics-metric{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.6rem;padding:1rem;display:flex}.analytics-metric-icon{background:var(--primary-6);width:36px;height:36px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.analytics-metric-value{color:var(--color-foreground);font-size:1.2rem;font-weight:600;display:block}.analytics-metric-label{color:var(--color-muted-foreground);font-size:.7rem;display:block}.analytics-section{margin-bottom:2rem}.analytics-section h3{color:var(--color-primary);border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem}.analytics-forecast{flex-direction:column;gap:.6rem;display:flex}.forecast-row{color:var(--color-muted-foreground);grid-template-columns:60px 1fr 40px;align-items:center;gap:.75rem;font-size:.8rem;display:grid}.forecast-bar{background:var(--primary-4);border-radius:4px;height:8px;overflow:hidden}.forecast-fill{background:var(--color-primary);border-radius:4px;height:100%;transition:width .3s}.forecast-fill.urgent{background:var(--color-destructive)}.forecast-count{text-align:right;color:var(--color-foreground);font-weight:600}.analytics-weak-list{background:var(--color-border);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.weak-item{background:var(--color-card);grid-template-columns:1fr 1fr 1fr 1fr;gap:.5rem;padding:.6rem .75rem;font-size:.8rem;display:grid}.weak-rub{color:var(--color-foreground);font-weight:500}.weak-juz{color:var(--color-muted-foreground)}.weak-lapses{color:var(--color-destructive)}.weak-stability{color:var(--color-muted-foreground)}.calibration-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem}.calibration-score{color:var(--color-primary);align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.calibration-score-value{font-size:1.5rem;font-weight:600}.calibration-score-label{color:var(--color-muted-foreground);font-size:.8rem}.calibration-hint{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.72rem}.calibration-breakdown{flex-direction:column;gap:.4rem;display:flex}.calibration-row{color:var(--color-foreground);border-bottom:1px solid var(--primary-4);justify-content:space-between;padding:.3rem 0;font-size:.8rem;display:flex}.calibration-row:last-child{border-bottom:none}.calibration-accuracy{color:var(--color-primary);font-weight:600}@media(max-width:640px){.analytics-metrics{grid-template-columns:repeat(2,1fr)}}.settings-page{padding-bottom:2rem}.settings-section{margin-bottom:2rem}.settings-section h3{color:var(--color-primary);border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-label{color:var(--color-foreground);margin-bottom:.35rem;font-size:.8rem;font-weight:500;display:block}.form-select,.form-input{border:1px solid var(--color-border);width:100%;font-family:var(--font-sans);background:var(--color-card);color:var(--color-foreground);border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.form-select:focus,.form-input:focus{border-color:var(--color-primary);outline:none}.form-hint{color:var(--color-muted-foreground);margin-top:.25rem;font-size:.7rem}.settings-actions{gap:.75rem;display:flex}.settings-toggle-row{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.settings-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;min-height:auto}.theme-toggle{border:1px solid var(--color-border);border-radius:8px;gap:0;width:fit-content;display:flex;overflow:hidden}.theme-toggle-btn{font-size:.8rem;font-family:var(--font-sans);background:var(--color-card);color:var(--color-muted-foreground);border:none;border-right:1px solid var(--color-border);cursor:pointer;padding:.45rem 1rem;transition:background .15s,color .15s}.theme-toggle-btn:last-child{border-right:none}.theme-toggle-btn:hover{background:var(--primary-4)}.theme-toggle-btn.active{background:var(--color-primary);color:var(--color-primary-foreground)}.reciter-selector{margin-bottom:1rem}.btn{border:1px solid var(--color-border);color:var(--color-foreground);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.85rem;transition:all .2s;display:inline-flex}.btn:hover,.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover{color:var(--color-primary);background:0 0}.btn-accent{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-accent:hover{color:var(--color-accent);background:0 0}.btn-ghost{color:var(--color-muted-foreground);border-color:#0000}.btn-ghost:hover{background:var(--primary-6);color:var(--color-primary);border-color:#0000}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.btn-danger{color:var(--color-destructive);border-color:var(--destructive-20)}.btn-danger:hover{background:var(--color-destructive);border-color:var(--color-destructive);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-icon{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:2.5rem}.empty-state h2,.empty-state h3{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:1.5rem}.empty-state p{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:1rem}.empty-state-action{margin-top:1.5rem}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-state p{color:var(--color-muted-foreground);font-size:.9rem}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.hamburger-btn{z-index:90;background:var(--color-card);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-primary);cursor:pointer;box-shadow:0 2px 8px var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;top:1rem;left:1rem}.sidebar-overlay{background:var(--overlay);z-index:98;display:none;position:fixed;top:0;right:0;bottom:0;left:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--primary-15);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-25)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--color-accent)}50%{box-shadow:0 0 0 8px #0000}}@keyframes colorMorph{0%{filter:brightness(1.3)}to{filter:brightness()}}.fade-in-up{animation:.4s both fadeInUp}.animate-fade-in{animation:.3s both fadeIn}.answer-correct{animation:.3s both scaleIn}.answer-wrong{animation:.4s shake}.revision-card{transition:transform .3s,opacity .3s}.juz-dot,.heatmap-cell{transition:background-color .4s,transform .15s}.milestone-pulse{animation:1.5s 2 pulseGlow}.stage-changed{animation:.6s colorMorph}.progress-fill,.forecast-fill{transition:width .4s}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-layout.sidebar-collapsed{grid-template-columns:1fr}.app-layout.sidebar-collapsed .sidebar{z-index:99;width:300px;max-width:85vw;box-shadow:none;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-layout.sidebar-collapsed .sidebar.open{box-shadow:4px 0 20px var(--shadow-sm);transform:translate(0)}.app-layout.sidebar-collapsed .sidebar-header-top{justify-content:space-between;align-items:center;display:flex}.app-layout.sidebar-collapsed .sidebar-overlay.visible{animation:.2s fadeIn;display:block}.app-layout.sidebar-collapsed .hamburger-btn{display:flex}.app-layout.sidebar-collapsed .main-content{padding-top:4rem}.bottom-tab-bar{display:none}@media(max-width:900px){.bottom-tab-bar{z-index:80;background:var(--color-card);border-top:1px solid var(--color-border);padding:.25rem 0;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab{cursor:pointer;color:var(--color-muted-foreground);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-height:auto;padding:.35rem .5rem;transition:color .15s;display:flex}.bottom-tab.active{color:var(--color-primary)}.bottom-tab-icon{display:flex;position:relative}.bottom-tab-badge{background:var(--color-destructive);color:#fff;text-align:center;border-radius:8px;min-width:14px;padding:.05rem .3rem;font-size:.55rem;font-weight:600;line-height:1.3;position:absolute;top:-4px;right:-8px}.bottom-tab-label{font-size:.6rem;font-family:var(--font-sans)}.main-content{padding-bottom:120px}.app-layout{grid-template-columns:1fr}.sidebar{z-index:99;width:300px;max-width:85vw;box-shadow:none;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:4px 0 20px var(--shadow-sm);transform:translate(0)}.sidebar-header-top{justify-content:flex-end;margin-bottom:.5rem;display:flex}.sidebar-overlay.visible{animation:.2s fadeIn;display:block}.hamburger-btn{display:flex}.main-content{padding:4rem 1.5rem 120px}.stats-grid{grid-template-columns:repeat(3,1fr)}.game-cards-grid{grid-template-columns:1fr}.grade-buttons{grid-template-columns:repeat(2,1fr)}.rub-detail-nav{flex-direction:column;gap:.5rem}.challenge-juz-grid{grid-template-columns:repeat(5,1fr)}.challenge-indicators{grid-template-columns:repeat(2,1fr)}.audio-recall-choice,.before-after-choice,.speed-round-choice{padding:.6rem .85rem;font-size:.95rem}.speed-round-prompt,.before-after-text{font-size:1.05rem}.first-letter-chip{width:32px;height:32px;font-size:.88rem}}@media(min-width:768px)and (max-width:1024px){button,select,input,.touch-target{min-height:48px}.nav-item{align-items:center;min-height:44px;display:flex}.folder-header{min-height:48px}}@media(max-width:640px){button,select,input,.touch-target{min-height:44px}.stats-grid,.juz-cards-grid{grid-template-columns:repeat(2,1fr)}.juz-dot{min-width:24px}.heatmap-label{width:1.5rem;font-size:.55rem}.progress-map-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.grade-buttons{grid-template-columns:repeat(2,1fr)}.mode-selector{flex-wrap:wrap}.daily-summary-layers{gap:.5rem}.onboarding-juz-grid{grid-template-columns:repeat(5,1fr)}.word-order-chip,.audio-recall-choice,.before-after-choice,.speed-round-choice{min-height:44px}.game-self-assess-buttons{flex-direction:column;align-items:center}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@supports (-webkit-touch-callout:none){button,[role=button]{-webkit-tap-highlight-color:transparent}.overflow-auto,.overflow-y-auto,.sidebar,.main-content{-webkit-overflow-scrolling:touch}}.onboarding-overlay{z-index:200;background:var(--color-background);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.onboarding-card{text-align:center;width:100%;max-width:480px;padding:2.5rem 2rem}.onboarding-brand{font-family:var(--font-arabic);color:var(--color-accent);margin-bottom:1rem;font-size:3rem;font-weight:700;line-height:1}.onboarding-card h2{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.5rem}.onboarding-card>p{color:var(--color-muted-foreground);margin-bottom:2rem;font-size:.9rem;line-height:1.6}.onboarding-subtitle{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.85rem}.onboarding-concepts{text-align:left;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.onboarding-concept{background:#1a31500a;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;display:flex}@supports (color:color-mix(in lab,red,red)){.onboarding-concept{background:color-mix(in sRGB,var(--color-primary) 4%,transparent)}}.onboarding-concept{border-radius:8px;font-size:.82rem;line-height:1.5}.onboarding-concept-term{color:var(--color-accent);text-align:center;flex-shrink:0;width:2.5rem;font-size:1.5rem}.onboarding-concept strong{color:var(--color-primary)}.onboarding-levels{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.onboarding-level-btn{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.25rem;transition:border-color .15s,background .15s;display:flex}.onboarding-level-btn strong{color:var(--color-foreground);font-size:.95rem}.onboarding-level-btn span{color:var(--color-muted-foreground);font-size:.8rem}.onboarding-level-btn:hover{border-color:var(--color-primary)}.onboarding-level-btn.selected{border-color:var(--color-primary);background:var(--primary-4)}.onboarding-actions{justify-content:space-between;gap:1rem;display:flex}.onboarding-juz-actions{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.onboarding-juz-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:2rem;display:grid}.onboarding-juz-btn{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);cursor:pointer;border-radius:8px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s}.onboarding-juz-btn:hover{border-color:var(--color-primary)}.onboarding-juz-btn.selected{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.mushaf-nav{justify-content:center;align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex}.mushaf-nav-page{flex-direction:column;flex:1;align-items:center;max-width:34rem;display:flex}.mushaf-nav-btn{border:1px solid var(--color-border);background:var(--color-card);width:40px;height:40px;color:var(--color-muted-foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:12rem;transition:all .15s;display:flex}.mushaf-nav-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--primary-4)}.mushaf-nav-btn:disabled{opacity:.3;cursor:not-allowed}.mushaf-page-indicator{color:var(--color-muted-foreground);font-size:.75rem;font-family:var(--font-sans);justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.mushaf-record-btn{border:1.5px solid var(--color-border);background:var(--color-card);width:28px;height:28px;color:var(--color-muted-foreground);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.mushaf-record-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.mushaf-record-btn-active{border-color:var(--color-destructive);background:var(--destructive-10);color:var(--color-destructive);animation:1.5s ease-in-out infinite pulse-ring}@keyframes pulse-ring{0%,to{box-shadow:0 0 color-mix(in sRGB,var(--color-destructive) 30%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in sRGB,var(--color-destructive) 0%,transparent)}}.mushaf-page{--mushaf-bg:#faf8f4;--mushaf-fg:var(--color-foreground);--mushaf-border:#c5a25333}@supports (color:color-mix(in lab,red,red)){.mushaf-page{--mushaf-border:color-mix(in sRGB, var(--color-accent) 20%, transparent)}}.mushaf-page{background:var(--mushaf-bg);border:1px solid var(--mushaf-border);width:100%;max-width:34rem;color:var(--mushaf-fg);box-shadow:inset 0 0 0 3px var(--mushaf-bg),inset 0 0 0 4px #c5a25340;border-radius:12px;padding:1.25rem 1.5rem}@supports (color:color-mix(in lab,red,red)){.mushaf-page{box-shadow:inset 0 0 0 3px var(--mushaf-bg),inset 0 0 0 4px color-mix(in sRGB,var(--color-accent) 25%,transparent)}}.mushaf-page-number{text-align:center;font-family:var(--font-arabic);color:var(--color-accent-readable);letter-spacing:.05em;margin-bottom:.75rem;font-size:.95rem}.mushaf-page-number:before,.mushaf-page-number:after{content:"·";opacity:.4;margin:0 .5em}.mushaf-line{white-space:nowrap;transform-origin:top;direction:rtl;overflow:hidden}.mushaf-word{cursor:pointer;transition:color .15s,opacity .15s;display:inline}.mushaf-word:hover,.mushaf-word.playing{color:var(--color-accent)}.mushaf-word.dimmed{opacity:.35;pointer-events:none;cursor:default}.mushaf-font-fallback{text-align:center;color:var(--color-accent);margin-top:.75rem;font-size:.72rem}.mushaf-skeleton{background:linear-gradient(110deg,#f0ede8 30%,#f8f5f0,#f0ede8 70%) 0 0/200% 100%;border-radius:12px;width:100%;max-width:34rem;height:28rem;margin:0 auto;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.word-tooltip{background:var(--color-card);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);box-shadow:0 4px 16px var(--color-border);z-index:100;text-align:center;border-radius:8px;min-width:180px;max-width:300px;padding:.75rem 1rem;animation:.15s fadeIn;position:fixed;transform:translate(-50%)}.word-tooltip-arabic{font-family:var(--font-arabic);color:var(--color-primary);direction:rtl;margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.word-tooltip-translit{color:var(--color-accent);margin-bottom:.25rem;font-size:.78rem;font-style:italic}.word-tooltip-meaning{color:var(--color-foreground);margin-bottom:.35rem;font-size:.82rem;line-height:1.4}.word-tooltip-root{color:var(--color-muted-foreground);font-size:.72rem}.word-tooltip-root-arabic{font-family:var(--font-arabic);color:var(--color-primary);margin-left:.25rem;font-size:.9rem}.mushaf-word.tappable{cursor:pointer}.mushaf-view-wrapper{width:100%}.mushaf-line-group{flex-direction:column;align-items:center;width:100%;display:flex}.rub-detail-comprehension{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.vocab-preview,.root-connections{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.25rem}.vocab-preview-header,.root-connections-header{color:var(--color-primary);cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:flex}.vocab-preview:not(.collapsed) .vocab-preview-header,.root-connections:not(.collapsed) .root-connections-header{margin-bottom:.75rem}.vocab-preview-header svg:last-child,.root-connections-header svg:last-child{margin-left:auto}.vocab-preview-header h4,.root-connections-header h4{font-size:.95rem;font-family:var(--font-serif);margin:0}.vocab-preview-loading{color:var(--color-muted-foreground);align-items:center;gap:.5rem;padding:1rem;font-size:.82rem;display:flex}.vocab-preview-list{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.vocab-item{border-bottom:1px solid var(--primary-5);grid-template-columns:auto 1fr auto;align-items:baseline;gap:.5rem;padding:.4rem 0;display:grid}.vocab-item:last-child{border-bottom:none}.vocab-item-arabic{font-family:var(--font-arabic);color:var(--color-primary);direction:rtl;font-size:1.1rem}.vocab-item-translit{color:var(--color-accent);font-size:.72rem;font-style:italic;display:none}.vocab-item-meaning{color:var(--color-foreground);font-size:.78rem;line-height:1.3}.vocab-item-root{font-family:var(--font-arabic);color:var(--color-muted-foreground);direction:rtl;font-size:.82rem}.root-connections-list{flex-direction:column;gap:.25rem;margin-bottom:.5rem;display:flex}.root-group-header{border:none;border-bottom:1px solid var(--primary-5);cursor:pointer;width:100%;font-family:var(--font-sans);background:0 0;align-items:center;gap:.75rem;padding:.5rem .25rem;transition:background .15s;display:flex}.root-group-header:hover{background:var(--primary-3)}.root-group-arabic{font-family:var(--font-arabic);color:var(--color-primary);direction:rtl;min-width:3rem;font-size:1.1rem;font-weight:700}.root-group-count{color:var(--color-muted-foreground);text-align:left;flex:1;font-size:.72rem}.root-group-forms{background:var(--primary-2);border-radius:6px;margin-bottom:.25rem;padding:.5rem .5rem .5rem 1rem}.root-form-item{align-items:baseline;gap:.75rem;padding:.25rem 0;display:flex}.root-form-arabic{font-family:var(--font-arabic);color:var(--color-foreground);direction:rtl;min-width:4rem;font-size:1rem}.root-form-meaning{color:var(--color-muted-foreground);font-size:.75rem;line-height:1.3}.root-cross-rubs{color:var(--color-info);border-top:1px solid var(--primary-4);margin-top:.4rem;padding:.4rem 0 0;font-size:.7rem}.meaning-recall-game{padding:.5rem 0}.meaning-recall-prompt{margin-bottom:1.25rem}.meaning-recall-label{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:.85rem}.meaning-recall-translation{font-family:var(--font-serif);color:var(--color-foreground);background:var(--primary-4);border-left:3px solid var(--color-accent);border-radius:0 8px 8px 0;margin:0;padding:1rem 1.25rem;font-size:1.1rem;line-height:1.6}.game-loading{color:var(--color-muted-foreground);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.game-actions{justify-content:center;margin-top:1.25rem;display:flex}.mutashabihat-question .ayah-text{background:var(--primary-3);border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;font-size:1.3rem;line-height:2}.mutashabihat-options{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.mutashabihat-option{font-size:.85rem;font-family:var(--font-sans);background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:.75rem;transition:border-color .15s}.mutashabihat-option:hover:not(:disabled){border-color:var(--color-primary)}.mutashabihat-option.correct{background:var(--success-15);border-color:var(--color-success);color:var(--color-success)}.mutashabihat-option.wrong{background:var(--destructive-10);border-color:var(--color-destructive);color:var(--color-destructive)}.mutashabihat-shared-en{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.78rem;font-style:italic}.cluster-option{text-align:right;flex-direction:column;align-items:stretch;gap:.3rem;display:flex}.cluster-option-text{font-size:1.1rem;line-height:1.8}.cluster-option-ref{color:var(--color-muted-foreground);text-align:left;font-size:.7rem}.mutashabihat-options:has(.cluster-option){grid-template-columns:1fr}.bridge-question{text-align:center}.bridge-context{background:var(--primary-3);border-radius:10px;margin-bottom:1rem;padding:1.25rem}.bridge-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.72rem;font-weight:500;display:block}.bridge-context .ayah-text{margin-bottom:.5rem;font-size:1.2rem;line-height:2}.bridge-ref{color:var(--color-muted-foreground);font-size:.75rem}.bridge-arrow{color:var(--color-primary);margin:1rem 0;font-size:.85rem;font-weight:600}.bridge-options{flex-direction:column;gap:.5rem;display:flex}.bridge-option{background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:.85rem 1rem;font-size:1.1rem;line-height:1.6;transition:border-color .15s}.bridge-option:hover:not(:disabled){border-color:var(--color-primary)}.bridge-option.correct{background:var(--success-15);border-color:var(--color-success)}.bridge-option.wrong{background:var(--destructive-10);border-color:var(--color-destructive)}.bridge-revealed{background:var(--success-8);border-radius:10px;margin-top:1rem;padding:1rem}.bridge-revealed .ayah-text{font-size:1.1rem;line-height:1.8}.blind-recall-prompt{text-align:center;padding:2rem 1rem}.blind-recall-icon{color:var(--color-accent);opacity:.5;margin-bottom:1rem;font-size:2.5rem}.blind-recall-prompt h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.3rem}.blind-recall-range{color:var(--color-muted-foreground);margin-bottom:.75rem;font-size:.9rem}.blind-recall-hint{color:var(--color-muted-foreground);margin-bottom:1.25rem;font-size:.82rem;line-height:1.5}.random-start-prompt{text-align:center;margin-bottom:1rem}.random-start-prompt h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.3rem}.random-start-ref{color:var(--color-accent);margin-bottom:.5rem;font-size:1.5rem}.random-start-hint{color:var(--color-muted-foreground);margin-bottom:1rem;font-size:.82rem}.tashkeel-toggle{justify-content:center;gap:.35rem;margin-bottom:.75rem;display:flex}.tashkeel-btn{font-size:.7rem;font-family:var(--font-sans);border:1px solid var(--color-border);color:var(--color-muted-foreground);cursor:pointer;background:0 0;border-radius:12px;padding:.25rem .6rem;transition:all .15s}.tashkeel-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.tashkeel-awareness-note{color:var(--color-accent-readable);font-size:.75rem}.write-memory-word.tashkeel-diff{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:4px;text-decoration-style:wavy}.write-memory-card{text-align:center;padding:1rem 0}.write-memory-ref{color:var(--color-primary);margin-bottom:.25rem;font-size:1rem;font-weight:500}.write-memory-progress{color:var(--color-muted-foreground);margin-bottom:1.5rem;font-size:.72rem;display:block}.write-memory-input{border:1px solid var(--color-border);background:var(--color-card);width:100%;color:var(--color-foreground);font-size:1.2rem;line-height:2;font-family:var(--font-arabic);resize:vertical;border-radius:10px;margin-bottom:1rem;padding:1rem}.write-memory-input:focus{border-color:var(--color-primary);outline:none}.write-memory-score{color:var(--color-primary);margin-bottom:1rem;font-size:.9rem;font-weight:600}.write-memory-diff{background:var(--primary-3);border-radius:10px;margin-bottom:1rem;padding:1rem;font-size:1.15rem;line-height:2.2}.write-memory-word{border-radius:3px;margin:0 .1rem;padding:.1rem .15rem;display:inline}.write-memory-word.match{color:var(--color-success)}.write-memory-word.wrong{color:var(--color-destructive);text-decoration:line-through}.write-memory-word.missing{background:var(--accent-15);color:var(--color-accent)}.write-memory-word.extra{color:var(--color-destructive);opacity:.6;text-decoration:line-through}.write-memory-expected{color:var(--color-success);margin-right:.3rem;font-weight:500;text-decoration:none;display:inline}.write-memory-expected:before{content:" → ";color:var(--color-muted-foreground)}.write-memory-correct{background:var(--success-8);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem;line-height:2}.write-memory-label{font-family:var(--font-sans);color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.05em;text-align:left;margin-bottom:.3rem;font-size:.7rem;display:block}.surah-opening-name{color:var(--color-accent);margin:1.5rem 0;font-size:2rem;font-weight:700;line-height:1.4}.reverse-recall-prompt{background:var(--primary-3);border-left:4px solid var(--color-accent);text-align:center;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.reverse-recall-ref{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:.72rem;display:block}.reverse-recall-ending{color:var(--color-foreground);font-size:1.3rem;line-height:2}.page-position-ayah{background:var(--primary-3);text-align:center;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.page-position-ayah .ayah-text{margin-bottom:.5rem;font-size:1.2rem;line-height:2}.page-position-ref{color:var(--color-muted-foreground);font-size:.72rem}.page-position-choices{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.page-position-choice{background:var(--color-card);border:2px solid var(--color-border);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:1.25rem;transition:border-color .15s;display:flex}.page-position-choice:hover:not(:disabled){border-color:var(--color-primary)}.page-position-choice.correct{border-color:var(--color-success);background:var(--success-10)}.page-position-choice.incorrect{border-color:var(--color-destructive);background:var(--destructive-10)}.page-position-page-num{color:var(--color-foreground);font-size:1.5rem;font-weight:700}.page-position-page-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.game-empty{padding:3rem 2rem}.game-empty-content{text-align:center}.game-empty-content h3{color:var(--color-foreground);margin-bottom:.5rem;font-size:1.25rem}.game-empty-content p{color:var(--color-muted-foreground);margin-bottom:1.5rem;font-size:.88rem}.game-shell-title{color:var(--color-foreground);margin:0;font-size:1.1rem;font-weight:600}.game-shell-stats{align-items:center;gap:1rem;display:flex}.game-shell-score{color:var(--color-primary);font-size:.85rem;font-weight:600}.game-shell-timer{color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;font-size:.78rem}.game-progress-bar-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.game-shell-content{min-height:200px}.game-complete-card{background:var(--color-card);border:1px solid var(--color-border);text-align:center;max-width:400px;box-shadow:0 8px 32px var(--primary-8);border-radius:16px;margin:0 auto;padding:2.5rem 2rem}.game-complete-icon{margin-bottom:1rem;font-size:3rem}.game-complete-title{color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.game-complete-score{color:var(--color-accent);font-size:2.5rem;font-weight:700;font-family:var(--font-serif);margin-bottom:.25rem}.game-complete-percent{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:1.1rem}.game-complete-time{color:var(--color-muted-foreground);margin-bottom:1.5rem;font-size:.85rem}.game-ayah-ref{color:var(--color-muted-foreground);text-align:center;font-size:.82rem;font-family:var(--font-serif);margin-bottom:1rem}.game-instruction{color:var(--color-muted-foreground);text-align:center;margin-bottom:1.25rem;font-size:.88rem}.game-feedback-label{color:var(--color-foreground);margin-bottom:.35rem;font-size:.82rem;font-weight:600}.game-feedback-text{font-family:var(--font-arabic);text-align:right;color:var(--color-foreground);direction:rtl;font-size:1.05rem;line-height:2}.game-self-assess{text-align:center;margin-top:1.25rem}.game-self-assess-buttons{justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.btn-success{color:var(--color-success);border-color:var(--success-30)}.btn-success:hover{background:var(--color-success);border-color:var(--color-success);color:#fff}.game-card-title{color:var(--color-foreground);margin-bottom:.25rem;font-size:1rem;font-weight:600}.game-card-desc{color:var(--color-muted-foreground);font-size:.78rem;line-height:1.4}.audio-recall-game{text-align:center}.audio-recall-player{justify-content:center;margin-bottom:1.5rem;display:flex}.audio-play-btn{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.5rem;display:flex}.audio-recall-choices{flex-direction:column;gap:.5rem;display:flex}.audio-recall-choice{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-family:var(--font-arabic);text-align:right;direction:rtl;border-radius:8px;padding:.75rem 1rem;font-size:1.05rem;line-height:2;transition:all .15s}.audio-recall-choice:hover{border-color:var(--color-primary);background:var(--primary-3)}.audio-recall-choice.selected{border-color:var(--color-primary);background:var(--primary-6)}.audio-recall-choice.correct{background:var(--success-10);border-color:var(--color-success)}.audio-recall-choice.incorrect{background:var(--destructive-8);border-color:var(--color-destructive)}.word-order-game{direction:rtl}.word-order-built{border:2px dashed var(--color-border);background:var(--primary-2);direction:rtl;border-radius:10px;flex-wrap:wrap;gap:.5rem;min-height:60px;margin-bottom:1.25rem;padding:.75rem;display:flex}.word-order-placeholder{color:var(--color-muted-foreground);font-size:.85rem;font-family:var(--font-arabic);text-align:center;width:100%;padding:.35rem 0}.word-order-placed{background:var(--color-card);border:1px solid var(--color-border);font-family:var(--font-arabic);cursor:pointer;border-radius:6px;padding:.4rem .75rem;font-size:1.05rem;line-height:1.8;transition:all .15s;display:inline-block}.word-order-placed.correct{background:var(--success-10);border-color:var(--color-success);color:var(--color-success)}.word-order-placed.incorrect{background:var(--destructive-8);border-color:var(--color-destructive);color:var(--color-destructive)}.word-order-bank{direction:rtl;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.word-order-chip{background:var(--color-card);border:1px solid var(--color-border);font-family:var(--font-arabic);cursor:pointer;border-radius:6px;padding:.4rem .85rem;font-size:1.05rem;line-height:1.8;transition:all .15s}.word-order-chip:hover{border-color:var(--color-primary);background:var(--primary-3)}.word-order-chip.used{opacity:.3;cursor:default;pointer-events:none}.first-letters-game{direction:rtl}.first-letters-hint{direction:rtl;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.first-letter-chip{background:var(--color-primary);width:36px;height:36px;color:var(--color-primary-foreground);font-family:var(--font-arabic);border-radius:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.first-letters-input{border:1px solid var(--color-border);width:100%;min-height:100px;font-family:var(--font-arabic);text-align:right;background:var(--color-card);color:var(--color-foreground);resize:vertical;direction:rtl;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:1.1rem;line-height:2.2}.first-letters-input:focus{border-color:var(--color-primary);outline:none}.first-letters-revealed{background:var(--primary-4);font-family:var(--font-arabic);text-align:right;color:var(--color-foreground);direction:rtl;border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem;font-size:1.1rem;line-height:2.2}.complete-ayah-game{direction:rtl}.complete-ayah-text{font-family:var(--font-arabic);text-align:right;color:var(--color-foreground);direction:rtl;padding:1rem 0;font-size:1.15rem;line-height:2.4}.complete-ayah-word{display:inline}.complete-ayah-input{border:none;border-bottom:2px dashed var(--color-accent);width:5em;font-family:var(--font-arabic);font-size:inherit;line-height:inherit;text-align:center;color:var(--color-primary);vertical-align:baseline;direction:rtl;background:0 0;outline:none;padding:.15rem .35rem;display:inline-block}.complete-ayah-input:focus{border-bottom-color:var(--color-primary);border-bottom-style:solid}.complete-ayah-blank-result{font-family:var(--font-arabic);font-size:inherit;border-radius:4px;padding:.1rem .4rem;font-weight:600;display:inline-block}.complete-ayah-blank-result.correct{background:var(--success-12);color:var(--color-success)}.complete-ayah-blank-result.incorrect{background:var(--destructive-10);color:var(--color-destructive);text-decoration:line-through}.before-after-game{text-align:center}.before-after-prompt{margin-bottom:1.5rem}.before-after-text{font-family:var(--font-arabic);color:var(--color-foreground);background:var(--primary-4);border-right:3px solid var(--color-accent);direction:rtl;border-radius:8px;padding:1rem 1.25rem;font-size:1.2rem;line-height:2}.before-after-choices{flex-direction:column;gap:.5rem;display:flex}.before-after-choice{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-family:var(--font-arabic);text-align:right;direction:rtl;border-radius:8px;padding:.75rem 1rem;font-size:1.05rem;line-height:2;transition:all .15s}.before-after-choice:hover{border-color:var(--color-primary);background:var(--primary-3)}.before-after-choice.selected{border-color:var(--color-primary);background:var(--primary-6)}.before-after-choice.correct{background:var(--success-10);border-color:var(--color-success)}.before-after-choice.incorrect{background:var(--destructive-8);border-color:var(--color-destructive)}.speed-round-game{text-align:center}.speed-round-timer-bar{background:var(--color-muted);border-radius:3px;height:6px;margin-bottom:1.5rem;overflow:hidden}.speed-round-timer-fill{background:linear-gradient(90deg,var(--color-destructive) 0%,var(--color-accent) 50%,var(--color-success) 100%);border-radius:3px;height:100%;transition:width 1s linear}.speed-round-countdown{color:var(--color-primary);font-size:3rem;font-weight:700;font-family:var(--font-serif);animation:.3s both fadeInUp}.speed-round-type-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:.78rem;font-weight:600}.speed-round-prompt{font-family:var(--font-arabic);color:var(--color-foreground);direction:rtl;margin-bottom:1.25rem;font-size:1.2rem;line-height:2}.speed-round-choices{flex-direction:column;gap:.5rem;display:flex}.speed-round-choice{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-family:var(--font-arabic);text-align:right;direction:rtl;border-radius:8px;padding:.75rem 1rem;font-size:1.05rem;line-height:2;transition:all .15s}.speed-round-choice:hover{border-color:var(--color-primary);background:var(--primary-3)}.speed-round-choice.correct{background:var(--success-10);border-color:var(--color-success)}.speed-round-choice.incorrect{background:var(--destructive-8);border-color:var(--color-destructive)}.speed-round-results{text-align:center;padding:2rem 1rem}.speed-round-summary{color:var(--color-muted-foreground);font-size:.9rem;line-height:1.8}@media(max-width:768px){.mushaf-page{border-radius:8px;padding:1rem .75rem}.mushaf-skeleton{height:24rem}.mushaf-nav-btn{width:32px;height:32px;margin-top:8rem}.mushaf-nav{gap:.35rem}.word-tooltip{min-width:160px;max-width:260px;padding:.6rem .75rem}.vocab-item{grid-template-columns:auto 1fr}.vocab-item-root{display:none}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-background:#0f1419;--color-foreground:#e0e0e0;--color-card:#1a2332;--color-card-foreground:#e0e0e0;--color-popover:#1a2332;--color-popover-foreground:#e0e0e0;--color-primary:#8facc8;--color-primary-foreground:#0f1419;--color-secondary:#1e2a3a;--color-secondary-foreground:#c8d6e5;--color-muted:#1e2a3a;--color-muted-foreground:#89a;--color-accent:#d4b76a;--color-accent-foreground:#0f1419;--color-accent-readable:#d4b76a;--color-destructive:#e85d75;--color-destructive-foreground:#0f1419;--color-success:#4caf7a;--color-success-foreground:#0f1419;--color-info:#6aace8;--color-info-foreground:#0f1419;--color-sage:#7fb87f;--color-sage-foreground:#0f1419;--color-border:#8facc81f;--color-ring:#5a6a7a;--shadow-sm:#0000004d;--shadow-md:#0006;--overlay:#0009}:root:not([data-theme=light]) .mushaf-page{--mushaf-bg:#1c1814;--mushaf-fg:#e0d8c8;--mushaf-border:#d4b76a26}}:root[data-theme=dark]{--color-background:#0f1419;--color-foreground:#e0e0e0;--color-card:#1a2332;--color-card-foreground:#e0e0e0;--color-popover:#1a2332;--color-popover-foreground:#e0e0e0;--color-primary:#8facc8;--color-primary-foreground:#0f1419;--color-secondary:#1e2a3a;--color-secondary-foreground:#c8d6e5;--color-muted:#1e2a3a;--color-muted-foreground:#89a;--color-accent:#d4b76a;--color-accent-foreground:#0f1419;--color-accent-readable:#d4b76a;--color-destructive:#e85d75;--color-destructive-foreground:#0f1419;--color-success:#4caf7a;--color-success-foreground:#0f1419;--color-info:#6aace8;--color-info-foreground:#0f1419;--color-sage:#7fb87f;--color-sage-foreground:#0f1419;--color-border:#8facc81f;--color-ring:#5a6a7a;--shadow-sm:#0000004d;--shadow-md:#0006;--overlay:#0009}:root[data-theme=dark] .mushaf-page{--mushaf-bg:#1c1814;--mushaf-fg:#e0d8c8;--mushaf-border:#d4b76a26}.vocab-session{flex-direction:column;min-height:calc(100dvh - 6rem);padding:1rem;display:flex}.vocab-session-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.vocab-session-header .vocab-session-progress{flex:1}.vocab-exit-btn{flex-shrink:0}.vocab-session-body{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:540px;margin:0 auto;display:flex}.vocab-session-progress{width:100%}.vocab-progress-info{color:var(--color-muted-foreground);justify-content:space-between;margin-bottom:.35rem;font-size:.78rem;display:flex}.vocab-progress-bar{background:var(--color-muted);border-radius:3px;height:6px;overflow:hidden}.vocab-progress-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .4s}.vocab-card{background:var(--color-card);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);width:100%;min-height:320px;box-shadow:0 2px 8px var(--shadow-sm);border-radius:12px;flex-direction:column;padding:2rem 1.5rem;display:flex}.vocab-card-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.vocab-card-arabic{font-family:var(--font-arabic);color:var(--color-primary);cursor:pointer;padding:1rem;font-size:2.5rem;line-height:1.6;transition:opacity .2s}.vocab-card-arabic:hover{opacity:.8}.vocab-hint{color:var(--color-muted-foreground);margin-top:1rem;font-size:.82rem}.vocab-card-reveal{text-align:center;margin-top:.75rem;animation:.35s vocabReveal}@keyframes vocabReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vocab-card-meaning{color:var(--color-foreground);font-size:1.15rem;font-family:var(--font-serif);margin-bottom:.25rem}.vocab-card-translit{color:var(--color-muted-foreground);margin-bottom:.5rem;font-size:.82rem;font-style:italic}.vocab-card-root{color:var(--color-accent);font-size:.85rem}.vocab-card-root .font-arabic{font-size:1rem}.vocab-grade-buttons{grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;margin-top:1.5rem;display:grid}.vocab-grade-btn{cursor:pointer;background:var(--color-card);color:var(--color-foreground);border:2px solid #0000;border-radius:8px;padding:.6rem .5rem;font-size:.82rem;font-weight:600;transition:all .2s}.vocab-grade-btn:hover{transform:translateY(-1px)}.vocab-grade-btn.forgot{border-color:var(--color-destructive);color:var(--color-destructive)}.vocab-grade-btn.forgot:hover{background:var(--color-destructive);color:#fff}.vocab-grade-btn.hard{color:#f59e0b;border-color:#f59e0b}.vocab-grade-btn.hard:hover{color:#fff;background:#f59e0b}.vocab-grade-btn.good{border-color:var(--color-success,#22c55e);color:var(--color-success,#22c55e)}.vocab-grade-btn.good:hover{background:var(--color-success,#22c55e);color:#fff}.vocab-grade-btn.easy{border-color:var(--color-info,#3b82f6);color:var(--color-info,#3b82f6)}.vocab-grade-btn.easy:hover{background:var(--color-info,#3b82f6);color:#fff}.vocab-intro-next{margin-top:1.5rem}.vocab-mc-options{flex-direction:column;gap:.5rem;width:100%;margin-top:1rem;display:flex}.vocab-mc-option{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;text-align:left;width:100%;color:var(--color-foreground);border-radius:8px;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.vocab-mc-option:hover:not(:disabled){border-color:var(--color-primary);background:#f4f5f6}@supports (color:color-mix(in lab,red,red)){.vocab-mc-option:hover:not(:disabled){background:color-mix(in sRGB,var(--color-primary) 5%,var(--color-card))}}.vocab-mc-option.correct{border-color:var(--color-success,#22c55e);background:#eaf3ee}@supports (color:color-mix(in lab,red,red)){.vocab-mc-option.correct{background:color-mix(in sRGB,var(--color-success,#22c55e) 10%,var(--color-card))}}.vocab-mc-option.incorrect{border-color:var(--color-destructive);background:#fbe8ec}@supports (color:color-mix(in lab,red,red)){.vocab-mc-option.incorrect{background:color-mix(in sRGB,var(--color-destructive) 10%,var(--color-card))}}.vocab-mc-key{background:var(--color-muted);width:1.5rem;height:1.5rem;color:var(--color-muted-foreground);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.vocab-ayah-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;margin-bottom:1rem;padding:1.25rem}.vocab-ayah-text{font-family:var(--font-arabic);color:var(--color-foreground);font-size:1.5rem;line-height:2.2}.vocab-ayah-word{border-radius:4px;padding:.15rem .1rem;transition:background .2s}.vocab-ayah-word.highlighted{background:#c5a25340}@supports (color:color-mix(in lab,red,red)){.vocab-ayah-word.highlighted{background:color-mix(in sRGB,var(--color-accent) 25%,transparent)}}.vocab-ayah-word.highlighted{color:var(--color-accent);font-weight:600}.vocab-ayah-translation{color:var(--color-muted-foreground);margin-top:.75rem;font-size:.82rem;font-style:italic;line-height:1.5}.vocab-context-prompt{color:var(--color-muted-foreground);margin-bottom:.75rem;font-size:.85rem}.vocab-gold-separator{justify-content:center;align-items:center;margin:1rem 0;display:flex}.vocab-gold-diamond{background:var(--color-accent);width:8px;height:8px;transform:rotate(45deg)}.vocab-breakdown-grid{flex-wrap:wrap;justify-content:center;gap:.75rem;animation:.5s vocabReveal;display:flex}.vocab-breakdown-item{flex-direction:column;align-items:center;gap:.15rem;display:flex}.vocab-breakdown-arabic{font-family:var(--font-arabic);color:var(--color-primary);font-size:1.2rem}.vocab-breakdown-english{color:var(--color-muted-foreground);text-align:center;max-width:70px;font-size:.65rem;line-height:1.2}.vocab-readiness-badge{color:var(--color-accent);background:#c5a2531f;font-size:.72rem;font-weight:600}@supports (color:color-mix(in lab,red,red)){.vocab-readiness-badge{background:color-mix(in sRGB,var(--color-accent) 12%,transparent)}}.vocab-readiness-badge{border-radius:10px;margin-left:auto;margin-right:.25rem;padding:.15rem .5rem}.vocab-phase-icon.mastered{color:var(--color-success,#22c55e)}.vocab-phase-icon.learning{color:var(--color-accent)}.vocab-phase-icon.new{color:var(--color-muted-foreground);opacity:.4}.vocab-item:has(.vocab-phase-icon){grid-template-columns:auto auto 1fr auto}.vocab-practice-btn{width:100%;margin-top:.75rem}.vocab-nudge{color:var(--color-muted-foreground);margin-top:.35rem;font-size:.78rem;display:block}.rub-start-group{text-align:center}.vocab-results{text-align:center;flex-direction:column;align-items:center;max-width:440px;margin:0 auto;padding:2rem 1rem;display:flex}.vocab-results-ring{justify-content:center;align-items:center;margin-bottom:1.5rem;display:inline-flex;position:relative}.vocab-results-accuracy{font-family:var(--font-serif);color:var(--color-foreground);font-size:2rem;font-weight:600;position:absolute}.vocab-results-title{font-family:var(--font-serif);color:var(--color-foreground);margin-bottom:1.5rem;font-size:1.25rem}.vocab-results-breakdown{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;width:100%;margin-bottom:1.25rem;padding:1rem 1.25rem}.vocab-results-row{color:var(--color-foreground);justify-content:space-between;padding:.4rem 0;font-size:.88rem;display:flex}.vocab-results-row+.vocab-results-row{border-top:1px solid var(--primary-5)}.vocab-results-value{font-family:var(--font-serif);font-weight:600}.vocab-results-value.correct{color:var(--color-success,#22c55e)}.vocab-results-value.incorrect{color:var(--color-destructive)}.vocab-results-readiness{width:100%;margin-bottom:1.5rem}.vocab-readiness-update{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.88rem;display:flex}.vocab-readiness-before{color:var(--color-muted-foreground)}.vocab-readiness-arrow{color:var(--color-accent)}.vocab-readiness-after{color:var(--color-foreground);font-weight:600}.vocab-readiness-bar-outer{background:var(--color-muted);border-radius:4px;height:8px;overflow:hidden}.vocab-readiness-bar-fill{background:var(--color-accent);border-radius:4px;height:100%;transition:width .6s}.vocab-results-actions{gap:.75rem;width:100%;display:flex}.vocab-results-actions .btn{flex:1;justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.record-btn-container{flex-direction:column;align-items:center;gap:.75rem;display:flex}.record-btn-ring-wrapper{justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.record-btn-ring{border:2px solid #d4183d33;border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.record-btn-ring{border:2px solid color-mix(in sRGB,var(--color-destructive) 20%,transparent)}}.record-btn-ring{pointer-events:none;transition:transform .12s ease-out}.record-btn-ring-1{animation:2s ease-in-out infinite ring-breathe}.record-btn-ring-2{border-color:#d4183d1a;animation:2s ease-in-out .5s infinite ring-breathe}@supports (color:color-mix(in lab,red,red)){.record-btn-ring-2{border-color:color-mix(in sRGB,var(--color-destructive) 10%,transparent)}}@keyframes ring-breathe{0%,to{opacity:.6}50%{opacity:.2}}.record-btn{border:3px solid var(--color-primary);background:var(--primary-5);width:80px;height:80px;color:var(--color-primary);cursor:pointer;z-index:1;border-radius:50%;justify-content:center;align-items:center;transition:all .25s;display:flex;position:relative}.record-btn:hover:not(:disabled){background:var(--primary-8);transform:scale(1.05)}.record-btn:disabled{opacity:.5;cursor:not-allowed}.record-btn-active{border-color:var(--color-destructive);background:var(--destructive-10);color:var(--color-destructive);box-shadow:0 0 20px #d4183d40}@supports (color:color-mix(in lab,red,red)){.record-btn-active{box-shadow:0 0 20px color-mix(in sRGB,var(--color-destructive) 25%,transparent)}}.record-btn-row{align-items:center;gap:.5rem;display:flex}.record-btn-secondary{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);cursor:pointer;font-size:.8rem;font-family:var(--font-sans);border-radius:8px;align-items:center;gap:.3rem;padding:.4rem .75rem;transition:background .2s;display:flex}.record-btn-secondary:hover{background:var(--color-muted)}.record-btn-cancel{color:var(--color-muted-foreground)}.record-duration{font-size:2rem;font-family:var(--font-sans);color:var(--color-foreground);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:700}.record-state-label{color:var(--color-destructive);font-size:.82rem;font-weight:500;animation:1.5s ease-in-out infinite label-pulse}@keyframes label-pulse{0%,to{opacity:1}50%{opacity:.5}}.record-error{color:var(--color-destructive);text-align:center;max-width:300px;font-size:.82rem}.eq-visualizer{justify-content:center;align-items:flex-end;gap:3px;width:80px;height:40px;display:flex}.eq-bar{background:var(--color-muted);border-radius:3px;width:6px;min-height:4px;transition:height .12s ease-out,background .2s}.eq-bar-active{background:var(--color-destructive);animation:.6s ease-in-out infinite alternate eq-bounce}.eq-bar-active:nth-child(2){animation-delay:.1s}.eq-bar-active:nth-child(3){animation-delay:.2s}.eq-bar-active:nth-child(4){animation-delay:50ms}.eq-bar-active:nth-child(5){animation-delay:.15s}.eq-bar-active:nth-child(6){animation-delay:.25s}.eq-bar-active:nth-child(7){animation-delay:80ms}.recordings-library{flex-direction:column;gap:1.25rem;max-width:640px;margin:0 auto;display:flex}.recordings-header{justify-content:space-between;align-items:center;display:flex}.recordings-header h2{font-family:var(--font-serif);color:var(--color-foreground);font-size:1.5rem;font-weight:600}.recordings-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.recordings-search{background:var(--color-card);border:1px solid var(--color-border);border-radius:6px;flex:1;align-items:center;gap:.4rem;min-width:150px;padding:.4rem .6rem;display:flex}.recordings-search input{font-size:.82rem;font-family:var(--font-sans);color:var(--color-foreground);background:0 0;border:none;outline:none;width:100%}.recordings-filter-bar select{border:1px solid var(--color-border);background:var(--color-card);font-size:.82rem;font-family:var(--font-sans);color:var(--color-foreground);cursor:pointer;border-radius:6px;padding:.4rem .6rem}.recordings-sort-btn{border:1px solid var(--color-border);background:var(--color-card);font-size:.82rem;font-family:var(--font-sans);color:var(--color-foreground);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.3rem;padding:.4rem .6rem;display:flex}.recordings-sort-btn:hover{background:var(--color-muted)}.recordings-empty{color:var(--color-muted-foreground);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.recordings-list{flex-direction:column;gap:.5rem;display:flex}.recording-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;transition:border-color .2s;display:flex}.recording-card:hover{border-color:var(--primary-25)}.recording-card-play{background:var(--color-primary);width:36px;height:36px;color:var(--color-primary-foreground);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.recording-card-play:hover{opacity:.85}.recording-card-info{flex:1;min-width:0}.recording-card-title{color:var(--color-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.recording-card-meta{color:var(--color-muted-foreground);margin-top:.1rem;font-size:.78rem}.recording-card-tags{color:var(--color-muted-foreground);align-items:center;gap:.3rem;margin-top:.3rem;display:flex}.recording-tag{background:var(--primary-5);color:var(--color-primary);border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.recording-tag-removable{cursor:pointer;align-items:center;gap:.2rem;display:inline-flex}.recording-tag-removable:hover{background:var(--primary-8)}.recording-card-score{border-radius:4px;flex-shrink:0;padding:.2rem .5rem;font-size:.78rem;font-weight:600}.score-high{background:var(--success-10);color:var(--color-success)}.score-mid{background:var(--accent-10,#c5a2531a)}@supports (color:color-mix(in lab,red,red)){.score-mid{background:var(--accent-10,color-mix(in sRGB, var(--color-accent) 10%, transparent))}}.score-mid{color:var(--color-accent-readable)}.score-low{background:var(--destructive-10);color:var(--color-destructive)}.recording-card-delete{width:30px;height:30px;color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.recording-card-delete:hover{background:var(--destructive-10);color:var(--color-destructive)}.standalone-record-page{flex-direction:column;gap:1.5rem;max-width:480px;margin:0 auto;display:flex}.standalone-record-page h2{font-family:var(--font-serif);color:var(--color-foreground);font-size:1.5rem;font-weight:600}.standalone-record-back{align-self:flex-start}.standalone-record-capture{flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 1rem;display:flex}.standalone-record-hint{color:var(--color-muted-foreground);text-align:center;font-size:.9rem}.standalone-record-count{color:var(--color-muted-foreground);font-size:.82rem}.standalone-record-edit{flex-direction:column;gap:1.25rem;display:flex}.standalone-record-player{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.standalone-record-player-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.standalone-record-player-bar{background:var(--color-muted);border-radius:2px;height:4px;overflow:hidden}.standalone-record-player-bar-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .1s linear}.standalone-record-player-times{color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.72rem;display:flex}.standalone-record-size{color:var(--color-muted-foreground);white-space:nowrap;font-size:.78rem}.standalone-record-details-toggle{color:var(--color-muted-foreground);font-size:.82rem;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.4rem 0;transition:color .2s;display:flex}.standalone-record-details-toggle:hover{color:var(--color-foreground)}.standalone-record-form{flex-direction:column;gap:.75rem;display:flex}.standalone-record-form label{color:var(--color-foreground);font-size:.82rem;font-weight:500;font-family:var(--font-sans);flex-direction:column;gap:.3rem;display:flex}.standalone-record-form select,.standalone-record-form input,.standalone-record-form textarea{border:1px solid var(--color-border);background:var(--color-card);font-size:.85rem;font-family:var(--font-sans);color:var(--color-foreground);resize:vertical;border-radius:6px;padding:.5rem .6rem}.standalone-record-form select:focus,.standalone-record-form input:focus,.standalone-record-form textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.standalone-record-ayah-row{gap:.75rem;display:flex}.standalone-record-ayah-row label{flex:1}.standalone-record-tag-input{border:1px solid var(--color-border);background:var(--color-card);border-radius:6px;flex-wrap:wrap;gap:.3rem;padding:.4rem;display:flex}.standalone-record-tag-input input{flex:1;min-width:100px;border:none!important;outline:none!important;padding:.2rem!important}.standalone-record-actions{gap:.75rem;display:flex}.standalone-record-actions .btn{flex:1;justify-content:center}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
