@import "https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;600&family=Inter:wght@400;500;600&display=swap";:root{--bg:#edf2fa;--surface:#fff;--border:#d0ddf3;--text-primary:#0e1b38;--text-secondary:#475a82;--accent:#143aa2;--accent-hover:#0d276f;--accent-light:#e3ebfa;--accent-border:#adc5f5;--hidden-bg:#dbe5f7;--hidden-text:#839dcb;--rail-collapsed:48px;--rail-expanded:280px;accent-color:var(--accent);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text-primary);-webkit-tap-highlight-color:transparent;max-width:100vw;margin:0;padding:0;overflow-x:hidden}.app-shell-rails{max-width:100vw;min-height:100dvh;padding-left:var(--rail-collapsed);padding-right:var(--rail-collapsed);box-sizing:border-box;display:flex;position:relative}.mobile-header,.rail-backdrop{display:none}.main-column{flex:1;min-width:0;max-width:1400px;margin:0 auto;padding:1.5rem clamp(.75rem,3vw,2rem) 4rem}.content-layout{display:block}.page-column{width:100%;margin:0 auto}.side-rail{height:100dvh;width:var(--rail-collapsed);background:var(--surface);border-color:var(--border);z-index:30;flex-shrink:0;transition:width .18s;position:fixed;top:0;bottom:0;overflow:hidden}.left-rail{border-right:1px solid var(--border);left:0}.right-rail{border-left:1px solid var(--border);right:0}@media (hover:hover) and (pointer:fine){.side-rail:hover{width:var(--rail-expanded);overscroll-behavior:contain;overflow-y:auto}.side-rail:hover .rail-collapsed-icon{display:none}.side-rail:hover .rail-expanded{display:flex}}.side-rail.pinned{width:var(--rail-expanded);overscroll-behavior:contain;overflow-y:auto}.rail-collapsed-icon{justify-content:center;padding:12px 0;display:flex}.side-rail.pinned .rail-collapsed-icon{display:none}.rail-collapsed-icon button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;width:36px;height:36px;font-size:16px}.rail-emoji{display:inline-block}.rail-expanded{width:var(--rail-expanded);flex-direction:column;gap:12px;padding:12px;display:none}.side-rail.pinned .rail-expanded{display:flex}.rail-expanded-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.rail-pin-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:14px}.rail-section{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.rail-section:last-child{border-bottom:none;padding-bottom:0}.rail-section button,.rail-section select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;padding:8px 10px;font-size:13px;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.rail-section button:hover:not(:disabled):not(.active),.rail-section select:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-border);transform:translateY(-1px)}.rail-section button:active:not(:disabled),.rail-section select:active:not(:disabled){transform:translateY(0)}.rail-section button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.hide-buttons-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.hide-buttons-grid button{text-align:center;padding:7px 4px;font-size:12px;font-weight:500}.page-input-form{margin:2px 0}.page-input-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.page-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.page-input-prefix{color:var(--text-secondary);font-size:12px;font-weight:600}.page-number-input{width:54px;font:inherit;text-align:center;border:1px solid var(--border);background:var(--bg);color:var(--text-primary);-moz-appearance:textfield;border-radius:6px;outline:none;padding:4px 6px;font-size:13px;font-weight:600}.page-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-total-label{color:var(--text-secondary);flex:1;font-size:11px}.page-go-btn{font:inherit;cursor:pointer;font-weight:600;transition:background .15s,transform .12s;background:var(--accent)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:4px 10px!important;font-size:12px!important}.page-go-btn:hover{transform:translateY(-1px);background:var(--accent-hover)!important}.rail-sliders{gap:10px}.slider-control{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.slider-control input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.surah-list-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.surah-list-items button{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;display:flex}.surah-list-items button:hover{background:var(--hidden-bg)}.surah-list-items button.active{background:var(--accent);color:#fff}.surah-list-number{width:1.4em;color:inherit;opacity:.7;font-size:11px}.surah-list-name{direction:rtl;font-family:Noto Naskh Arabic,serif;font-size:16px}.surah-list-en{opacity:.7;margin-left:auto;font-size:11px}@media (width<=1024px){:root{--rail-expanded:min(320px, 86vw)}.app-shell-rails{flex-direction:column;padding-left:0;padding-right:0}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border);box-sizing:border-box;z-index:50;justify-content:space-between;align-items:center;width:100%;height:52px;padding:0 12px;display:flex;position:sticky;top:0;left:0;right:0}.mobile-nav-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex}.mobile-nav-btn:active{background:var(--hidden-bg)}.mobile-btn-icon{font-size:15px}.mobile-page-nav{background:var(--bg);border:1px solid var(--border);border-radius:20px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.mobile-nav-arrow{cursor:pointer;color:var(--text-primary);touch-action:manipulation;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:18px;font-weight:600;display:flex}.mobile-nav-arrow:disabled{opacity:.3;cursor:not-allowed}.mobile-nav-arrow:not(:disabled):hover{background:var(--accent-light);color:var(--accent)}.mobile-page-form{align-items:center;gap:2px;display:inline-flex}.mobile-page-prefix{color:var(--text-secondary);font-size:11px;font-weight:600}.mobile-page-input{width:44px;font:inherit;text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);-moz-appearance:textfield;border-radius:12px;outline:none;padding:2px 4px;font-size:13px;font-weight:600}.mobile-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mobile-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobile-page-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.rail-backdrop{-webkit-backdrop-filter:blur(2px);z-index:90;opacity:0;pointer-events:none;background:#00000073;transition:opacity .2s;display:block;position:fixed;inset:0}.rail-backdrop.active{opacity:1;pointer-events:auto}.side-rail{background:var(--surface);z-index:100;width:min(320px,86vw);height:100dvh;transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;overflow-y:auto;box-shadow:0 0 24px #0003}.left-rail{border-right:1px solid var(--border);left:0;transform:translate(-100%)}.right-rail{border-left:1px solid var(--border);right:0;transform:translate(100%)}.side-rail.mobile-open{transform:translate(0)}.side-rail .rail-collapsed-icon{display:none}.side-rail .rail-expanded{box-sizing:border-box;width:100%;padding:16px;display:flex}.main-column{box-sizing:border-box;width:100%;max-width:100%;padding:.75rem 4px 3.5rem}}.mushaf-page{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:16px;margin:0 auto;padding-block:clamp(.75rem,3%,2rem);padding-inline:clamp(.5rem,2.5%,2rem);transition:max-width .15s;box-shadow:0 4px 20px -2px #143aa212;container:mushaf/inline-size}@media (width<=1024px){.mushaf-page{border-radius:12px;padding-block:.75rem;padding-inline:10px}}@media (width<=640px){.mushaf-page{border-radius:10px;padding-block:.6rem;padding-inline:4px}.mushaf-page-header{margin-bottom:.75rem;font-size:11px}.surah-name-line{margin:1rem 0 .5rem;padding:.35rem 0}.basmallah-line{margin-bottom:.85rem}}.mushaf-page-header{color:var(--text-secondary);justify-content:space-between;margin-bottom:1.5rem;font-size:12px;display:flex}.font-missing-notice{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:1.5rem;padding:10px 14px;font-size:13px}.surah-name-line{text-align:center;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);background:var(--accent-light);border-radius:8px;margin:1.75rem 0 .5rem;padding:.6rem 0}.surah-name-line .fallback-name{color:var(--accent);font-family:Noto Naskh Arabic,serif;font-weight:600;display:inline-block}.basmallah-line{text-align:center;color:var(--text-primary);direction:rtl;margin-bottom:1.25rem;font-family:Noto Naskh Arabic,serif;font-size:30px}.ayah-line{box-sizing:border-box;direction:rtl;width:100%;margin:0;font-size:46px;line-height:2.8;white-space:nowrap!important}@media (width>=641px){.ayah-line{line-height:3.3}}.ayah-line.justified{align-items:baseline;flex-wrap:nowrap!important;justify-content:space-between!important;display:flex!important}.ayah-line.centered{align-items:baseline;flex-wrap:nowrap!important;justify-content:center!important;display:flex!important}.word{cursor:pointer;touch-action:manipulation;border-radius:4px;flex-shrink:0;padding:0 1px;transition:background .1s}.word:hover{background:var(--hidden-bg)}.word.hidden{color:#0000;border-bottom:3px solid var(--hidden-text)}.ayah-marker-group{vertical-align:middle;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.ayah-play-btn{color:#fff;background:var(--accent);cursor:pointer;width:.38em;min-width:11px;height:.38em;min-height:11px;box-shadow:0 0 0 1px var(--surface);touch-action:manipulation;z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.ayah-play-btn svg{width:50%;height:50%;margin-left:6%}.ayah-play-btn:hover{background:var(--accent-hover);box-shadow:0 0 0 1.5px var(--surface);transform:translate(-50%,-50%)scale(1.18)}.ayah-end-marker{cursor:pointer;color:var(--text-primary);line-height:1;transition:color .12s;display:inline-block}.ayah-end-marker:hover,.ayah-end-marker.hidden-state,.ayah-end-marker.playing{color:var(--accent)}.translation-block{text-align:left;color:var(--text-secondary);border-left:2px solid var(--border);direction:ltr;margin:.4rem 0 1.25rem;padding-left:10px;font-size:15px}.loading,.error{text-align:center;color:var(--text-secondary);padding:3rem 0}.test-mode-btn{font-weight:600;background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.test-mode-btn:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.test-mode{max-width:720px;margin:0 auto}.test-mode-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1.5rem;display:flex}.test-mode-top>button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform .12s}.test-mode-top>button:hover{background:var(--accent-light);border-color:var(--accent-border);transform:translateY(-1px)}.test-mode-tabs{gap:8px;display:flex}.test-mode-tabs button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;transition:background .15s,border-color .15s,transform .12s}.test-mode-tabs button:hover:not(.active){background:var(--accent-light);border-color:var(--accent-border);transform:translateY(-1px)}.test-mode-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.test-mode-empty{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;padding:3rem}.quiz-status-row{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.quiz-streak{font-weight:600}.quiz-progress-track{background:var(--hidden-bg);border-radius:999px;height:8px;margin-bottom:20px;overflow:hidden}.quiz-progress-fill{background:var(--accent);height:100%;transition:width .2s}.quiz-card{color:#fff;text-align:center;background:linear-gradient(135deg,#143aa2 0%,#0c266e 100%);border-radius:16px;margin-bottom:20px;padding:2rem 1.5rem;box-shadow:0 8px 24px #143aa233}.quiz-card-label{text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin:0 0 10px;font-size:13px}.quiz-card-prompt{direction:rtl;margin:0;font-size:clamp(20px,5.5vw,30px);line-height:2.1}.quiz-options{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.quiz-option{cursor:pointer;color:#fff;touch-action:manipulation;direction:rtl;border:none;border-radius:12px;padding:16px 12px;font-size:clamp(16px,4.5vw,22px);transition:transform .1s,opacity .1s,outline .1s}.quiz-option:hover:not(:disabled){transform:translateY(-2px)}.opt-blue{background:#2563eb}.opt-teal{background:#0d9488}.opt-coral{background:#e0663f}.opt-pink{background:#d6336c}.quiz-option.correct{opacity:1;outline:4px solid #16a34a}.quiz-option.incorrect{opacity:1;outline:4px solid #dc2626}.quiz-option.dimmed{opacity:.35}.quiz-feedback-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quiz-feedback{margin:0;font-size:15px;font-weight:600}.quiz-feedback.good{color:#16a34a}.quiz-feedback.bad{color:#dc2626}.quiz-next-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s,transform .12s}.quiz-next-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.quiz-finished{text-align:center;padding:3rem 1.5rem}.quiz-finished-score{margin:0 0 6px;font-size:40px;font-weight:700}.quiz-finished-sub{opacity:.85;margin:0 0 20px;font-size:14px}.quiz-finished button{font:inherit;color:var(--accent);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:10px 24px;font-weight:600;transition:transform .15s,box-shadow .15s}.quiz-finished button:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000026}@media (width<=560px){.quiz-options{grid-template-columns:1fr}}.test-scope-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:1.25rem;display:flex}.test-scope-label{color:var(--text-secondary);font-size:12px}.test-scope-row button,.test-scope-row select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s,transform .12s}.test-scope-row button:hover:not(.active),.test-scope-row select:hover:not(.active){background:var(--accent-light);border-color:var(--accent-border);transform:translateY(-1px)}.test-scope-row button.active,.test-scope-row select.active{background:var(--accent);color:#fff;border-color:var(--accent)}.dashboard{max-width:760px;margin:0 auto}.dashboard-reset{color:var(--text-secondary);font-size:12px!important}.dashboard-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:1.75rem 0 .75rem;font-size:13px}.dashboard-empty-note{color:var(--text-secondary);font-size:14px}.stat-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{color:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:1.25rem 1rem;display:flex}.stat-value{font-size:26px;font-weight:700}.stat-label{opacity:.9;font-size:12px}.stat-blue{background:#2563eb}.stat-teal{background:#0d9488}.stat-coral{background:#e0663f}.stat-pink{background:#d6336c}.heatmap{grid-template-columns:repeat(15,1fr);gap:4px;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--hidden-bg);border-radius:3px}.heatmap-cell.level-0{background:var(--hidden-bg)}.heatmap-cell.level-1{background:#c5d4f5}.heatmap-cell.level-2{background:#8aa9ea}.heatmap-cell.level-3{background:#3e6ed8}.heatmap-cell.level-4{background:#143aa2}.weak-ayat-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.weak-ayat-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.weak-ayat-ref{font-family:Noto Naskh Arabic,serif;font-size:15px;display:block}.weak-ayat-sub{color:var(--text-secondary);font-size:12px;display:block}.weak-ayat-item button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:13px}@media (width<=640px){.test-mode-top{flex-direction:column;align-items:stretch;gap:10px}.test-mode-top>button{align-self:flex-start}.test-mode-tabs{width:100%;display:flex}.test-mode-tabs button{text-align:center;flex:1;padding:8px 10px;font-size:12px}.test-scope-row{gap:6px}.test-scope-row button,.test-scope-row select{padding:6px 10px;font-size:12px}.quiz-card{padding:1.5rem 1rem}.stat-cards{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:1rem .75rem}.stat-value{font-size:22px}.heatmap{grid-template-columns:repeat(10,1fr);gap:3px}.weak-ayat-item{flex-direction:column;align-items:flex-start;gap:8px}.weak-ayat-item button{align-self:flex-end}}
