:root{--green:#14532d;--green-light:#166534;--amber:#b45309;--bg:#f7f6f0;--page-bg:#fffdf7;--card:#fff;--border:#e3ddc9;--text:#1c1c1c;--muted:#6b6b6b;--gold:#a5842a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app-navbar{display:flex;align-items:center;gap:1.2rem;padding:.6rem 1.2rem;background:var(--green);color:#fff;flex-wrap:wrap}.app-navbar-brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;letter-spacing:.02em}.app-navbar-links{display:flex;gap:.4rem;flex:1 1 auto}.app-navbar-link{color:hsla(0,0%,100%,.75);text-decoration:none;font-size:.88rem;padding:.35rem .7rem;border-radius:999px}.app-navbar-link:hover{color:#fff;background:hsla(0,0%,100%,.1)}.app-navbar-link.active{color:#fff;background:hsla(0,0%,100%,.18);font-weight:600}.app-navbar-user{display:flex;align-items:center;gap:.8rem}.app-navbar-hello{font-size:.85rem;opacity:.85}.app-navbar-logout{background:none;border:1px solid hsla(0,0%,100%,.5);color:#fff;padding:.3rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem}.app-navbar-logout:hover{background:hsla(0,0%,100%,.15)}@media (max-width:560px){.app-navbar-hello{display:none}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--green);color:#fff;padding:.7rem 1rem}.topbar-row{gap:.6rem;max-width:900px;margin:0 auto}.icon-btn,.nav-btn,.topbar-row{display:flex;align-items:center}.icon-btn,.nav-btn{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.3);color:#fff;width:2.2rem;height:2.2rem;border-radius:8px;font-size:1.2rem;cursor:pointer;justify-content:center}.icon-btn:hover,.nav-btn:hover{background:hsla(0,0%,100%,.22)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.page-jump{display:flex;align-items:baseline;gap:.3rem;font-size:.9rem}.page-jump input{width:3.4rem;padding:.3rem .4rem;border-radius:6px;border:1px solid hsla(0,0%,100%,.4);background:hsla(0,0%,100%,.1);color:#fff;font-size:.95rem;text-align:center}.page-jump input::-webkit-inner-spin-button,.page-jump input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-of{opacity:.85}.surah-select{flex:1 1;min-width:0}.script-select,.surah-select{padding:.4rem .5rem;border-radius:6px;border:1px solid hsla(0,0%,100%,.4);background:#fff;color:var(--text);font-size:.85rem}.script-select{flex:0 0 auto}.page-info{max-width:900px;margin:.4rem auto 0;font-size:.78rem;opacity:.9;display:flex;gap:1rem;flex-wrap:wrap}.container{max-width:900px;margin:0 auto;padding:1.2rem 1rem 3rem}.mushaf-page-wrap{display:flex;justify-content:center;touch-action:pan-y}.mushaf-page{width:820px;background:var(--page-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:1.6rem 2rem;direction:rtl}.mushaf-line{text-align:center;white-space:nowrap;font-family:Amiri Quran,Noto Naskh Arabic,Scheherazade New,serif;font-size:2rem;font-weight:700;line-height:2.7;padding:.1em 0}.mushaf-line--full{text-align:justify;text-align-last:justify}.mushaf-page.script-indopak .bismillah,.mushaf-page.script-indopak .mushaf-line{font-family:Scheherazade New,Noto Naskh Arabic,Amiri Quran,serif}.mushaf-page.script-nastaleeq .bismillah,.mushaf-page.script-nastaleeq .mushaf-line{font-family:Noto Nastaliq Urdu,Scheherazade New,serif;line-height:3.1}.word{display:inline;cursor:pointer;border-radius:3px;padding:0 .05em;border-bottom:3px solid transparent}.word:hover{background:rgba(20,83,45,.07)}.word.selected{background:rgba(20,83,45,.12)}.ayah-end{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;padding:0 .15em;font-size:.6em;border:1.5px solid var(--gold);border-radius:50%;color:var(--gold);vertical-align:middle;cursor:default;font-family:Noto Naskh Arabic,serif}.word--has-ayah-end{position:relative}.word--has-ayah-end-narrow{margin-left:.7em}.word--has-ayah-end-wide{margin-left:1.6rem}.ayah-end--nested{position:absolute;left:-.5em;bottom:1em}.ayah-end--nested-wide{left:-1.6rem}.sajda-mark{font-size:.9em}.ruku-mark,.sajda-mark{color:var(--green);cursor:default;vertical-align:middle}.ruku-mark{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;border:2px solid var(--green);border-radius:50%;font-size:.55em;font-family:-apple-system,sans-serif;font-weight:700}.surah-banner{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin:.8rem 0 .6rem;padding:.6rem;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}.surah-banner-name{font-family:Amiri Quran,serif;font-size:1.4rem;color:var(--gold)}.surah-banner-meta{font-size:.72rem;color:var(--muted);direction:ltr}.bismillah{font-family:Amiri Quran,Noto Naskh Arabic,serif;font-size:1.5rem;direction:rtl}.status{margin-top:1rem;font-size:.9rem;color:var(--muted);text-align:center;min-height:1.2em}.status.status-error{color:#9b1c1c}.color-popover{position:absolute;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:.5rem;display:flex;gap:.4rem;align-items:center;z-index:50}.color-popover[hidden]{display:none}.color-swatch{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid rgba(0,0,0,.08);cursor:pointer}.color-swatch:hover{transform:scale(1.12)}.color-popover .remove-btn{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;font-size:.9rem}.color-popover .remove-btn,.legend-panel{display:flex;align-items:center;justify-content:center}.legend-panel{position:fixed;inset:0;background:rgba(0,0,0,.4);flex-direction:column;z-index:100;padding:1rem}.legend-panel[hidden]{display:none}.legend-panel>*{width:100%;max-width:360px;background:#fff}.legend-panel h2{margin:0;padding:1.2rem 1.2rem 0;border-radius:12px 12px 0 0;font-size:1.1rem}.legend-panel p{margin:0;padding:.4rem 1.2rem 1rem;font-size:.85rem;color:var(--muted)}.legend-swatches{display:flex;flex-wrap:wrap;gap:.6rem;padding:0 1.2rem 1rem}.legend-swatches .color-swatch{width:1.9rem;height:1.9rem}.legend-panel .btn{padding:.7rem;border:none;border-top:1px solid var(--border);border-radius:0 0 12px 12px;background:var(--green);color:#fff;cursor:pointer;font-size:.95rem;width:100%}.tajweed-rules{gap:.7rem;padding:0 1.2rem 1rem;max-height:60vh;overflow-y:auto}.tajweed-rule,.tajweed-rules{display:flex;flex-direction:column}.tajweed-rule{gap:.4rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.tajweed-rule:last-child{border-bottom:none;padding-bottom:0}.tajweed-rule-top{display:flex;align-items:center;gap:.5rem}.tajweed-rule-reorder{display:flex;flex-direction:column;flex:0 0 auto}.tajweed-reorder-btn{width:1.4rem;height:1.1rem;border:none;background:none;color:var(--muted);cursor:pointer;font-size:.6rem;line-height:1;display:flex;align-items:center;justify-content:center}.tajweed-reorder-btn:hover:not(:disabled){color:var(--text)}.tajweed-reorder-btn:disabled{opacity:.25;cursor:not-allowed}.tajweed-rule-name{flex:1 1;font-size:.9rem;font-weight:600}.tajweed-rule-swatches{display:flex;flex-wrap:wrap;gap:.4rem}.tajweed-rule-swatches .color-swatch{width:1.6rem;height:1.6rem}.tajweed-rule-swatches .color-swatch.active{border-color:var(--text);box-shadow:inset 0 0 0 2px #fff}.tajweed-rule-off-btn{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.tajweed-rule-off-btn.active{border-color:var(--text);color:var(--text)}.tajweed-mark{border-radius:2px}@media (max-width:560px){.topbar-row{flex-wrap:wrap;row-gap:.5rem}.page-jump{flex:1 1;justify-content:center}.script-select,.surah-select{order:10;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.3rem);font-size:.8rem}.icon-btn,.nav-btn{width:2.75rem;height:2.75rem;font-size:1.3rem}.page-jump input{padding:.5rem .4rem;font-size:1rem}.script-select,.surah-select{padding:.55rem .5rem}.app-navbar-link{padding:.5rem .7rem}}.hifz-container{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.auth-card{max-width:380px;margin:3rem auto;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:2rem}.auth-card h1{margin-top:0;color:var(--green)}.auth-card form{display:flex;flex-direction:column;gap:.4rem}.auth-card label{font-size:.85rem;color:var(--muted);margin-top:.5rem}.auth-card input{padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:1rem}.auth-card button{margin-top:1.2rem;padding:.7rem;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.auth-card button:hover{background:var(--green-light)}.auth-card button:disabled{opacity:.6;cursor:not-allowed}.switch-auth{text-align:center;margin-top:1rem;font-size:.9rem;color:var(--muted)}.switch-auth a{color:var(--green)}.error{background:#fde8e8;color:#9b1c1c;padding:.6rem .8rem;border-radius:8px;font-size:.9rem}.dashboard-header h1{margin-bottom:.2rem;color:var(--green)}.subtitle{color:var(--muted);margin-top:0}.suggestion-card{background:var(--card);border:1px solid var(--border);border-left:6px solid var(--green);border-radius:12px;padding:1.5rem;margin:1.5rem 0 2rem}.suggestion-card.suggestion-weak{border-left-color:var(--amber)}.suggestion-card.suggestion-empty{border-left-color:var(--border);color:var(--muted)}.suggestion-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--muted)}.suggestion-para{font-size:2rem;font-weight:700;color:var(--green)}.suggestion-meta{color:var(--muted);font-size:.9rem;margin:.4rem 0 1rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-right:.4rem}.badge-weak{background:#fef3c7;color:var(--amber)}.btn{padding:.6rem 1.1rem;border:none;border-radius:8px;cursor:pointer;font-size:.95rem}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:.4rem .8rem;font-size:.85rem;background:var(--green);color:#fff}.btn-small:disabled{background:#d4d4d4;cursor:not-allowed}.settings-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem}.settings-card summary{cursor:pointer;font-weight:600;color:var(--green)}.settings-explainer{color:var(--text);font-size:.9rem;line-height:1.5;margin:.8rem 0}.settings-hints{font-size:.85rem;color:var(--muted);margin:0 0 1rem;padding-left:1.2rem}.settings-hints li{margin-bottom:.2rem}.settings-form{display:flex;align-items:center;gap:1rem}.settings-form input[type=range]{flex:1 1;max-width:320px}.para-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.para-table td,.para-table th{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}.para-table th{background:#f0efe9;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.para-num{font-weight:700;color:var(--green)}tr.row-dim{color:var(--muted)}.toggle-btn{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:.8rem}.toggle-btn.toggle-on{background:var(--green);color:#fff;border-color:var(--green)}.toggle-btn.toggle-weak.toggle-on{background:var(--amber);border-color:var(--amber)}.toggle-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.hifz-container{padding:1.2rem .9rem 3rem}.dashboard-header h1{font-size:1.4rem}.auth-card{margin:1.5rem auto;padding:1.5rem}.suggestion-card{padding:1.1rem}.suggestion-para{font-size:1.6rem}.suggestion-card .btn-primary{width:100%}.settings-card{padding:.9rem 1rem}.settings-form{flex-wrap:wrap}.settings-form input[type=range]{max-width:none;flex-basis:100%}.settings-form .btn{margin-left:auto}.para-table,.para-table tbody{display:block;background:none;border:none}.para-table thead{display:none}.para-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .55rem;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.04);padding:.65rem .8rem;margin-bottom:.55rem}.para-table td{display:block;padding:0;border:none}.para-table td.para-num{display:flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:50%;background:#e9f1ea;font-size:1rem;line-height:1}.toggle-btn{padding:.4rem .85rem;font-size:.8rem}.td-action{margin-left:auto;order:3}.td-action .btn-small{padding:.45rem 1rem;font-size:.85rem;border-radius:999px}.para-table tr:after{content:"";width:100%;order:4}.td-count,.td-last{color:var(--muted);font-size:.78rem}.td-count{order:5;margin-left:2.85rem}.td-count:after{content:" reads"}.td-last{order:6}.td-last:before{content:"\00B7  "}.para-table tr.row-dim{padding:.45rem .8rem;box-shadow:none}.para-table tr.row-dim .td-action,.para-table tr.row-dim .td-count,.para-table tr.row-dim .td-last,.para-table tr.row-dim .td-weak,.para-table tr.row-dim:after{display:none}.para-table tr.row-dim .para-num{width:1.9rem;height:1.9rem;font-size:.85rem;background:transparent;border:1px solid var(--border)}.para-table tr.row-dim .toggle-btn{margin-left:auto;padding:.35rem .85rem}}