/* Memorization uses the normal reader workspace, page sizing and audio dock CSS.
   Only learning controls and statistics have surface-specific styling. */
body.is-memorizing>.top{display:none}
body.is-memorizing .reader-workspace>.reader-center{position:relative}
body.is-memorizing .practice-selection{position:relative;top:auto;gap:0;padding:0;max-height:100%;border:0;border-radius:0;background:transparent;overflow:auto;scrollbar-width:thin}
body.is-memorizing .practice-selection-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 16px}
body.is-memorizing .practice-selection-heading h2{font-size:20px;margin:0;font-weight:550}
body.is-memorizing .practice-reader-back{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
body.is-memorizing .practice-reader-back svg{width:16px;height:16px}
body.is-memorizing #practice-config{gap:14px;margin-bottom:16px}
.practice-basis-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.practice-basis-switch button{min-height:40px;padding:8px 10px;border:0;border-radius:9px;font-size:14px;color:var(--muted)}
.practice-basis-switch [aria-pressed=true]{background:#23433c;color:#e5f5ee;box-shadow:inset 0 0 0 1px #567b6d}
body.is-memorizing .practice-selection .field{font-size:12px;gap:7px;margin:0}
body.is-memorizing .practice-selection :is(select,input[type=number]){min-height:46px;font-size:14px;border-radius:11px;background-color:var(--bg)}
body.is-memorizing .practice-selection .two-col{gap:10px}
body.is-memorizing .practice-selection-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:12px 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
body.is-memorizing .practice-selection-summary>strong{font-size:16px}.practice-selection-summary>small{font-size:11px;color:var(--muted)}
body.is-memorizing .practice-selection-summary>span{font-size:12px;color:var(--muted)}
.practice-section-label{font-size:11px;color:var(--muted);margin:0 0 10px}
body.is-memorizing .practice-phase-actions{display:grid;gap:8px;margin:10px 0 0}
body.is-memorizing .practice-phase-actions button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 14px;font-size:14px;border-radius:11px}
body.is-memorizing .practice-phase-actions button>span{margin:0}
body.is-memorizing .practice-phase-actions svg{width:19px;height:19px;flex:none}
body.is-memorizing .practice-start-cta{border:1px solid #5bc3ad;background:var(--accent);color:#102824;font-weight:600}
body.is-memorizing .practice-start-cta:hover{background:#77e6d2;border-color:#77e6d2}
body.is-memorizing .practice-stop-cta{border:1px solid #805046;background:#442b29;color:#ffe3d7}
body.is-memorizing .practice-phase-actions .practice-start-hint{margin:0;font-size:10px;line-height:1.5;color:var(--muted);text-align:center}
body.is-memorizing .practice-phase-actions [data-action=practice-clear-selection]{min-height:30px;padding:4px;font-size:11px;color:var(--muted);border:0}
body.is-memorizing .practice-recorder{padding:12px 0 0;margin:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
body.is-memorizing #practice-status{font-size:11px;line-height:1.6;margin:0 0 8px;padding:7px 9px}
body.is-memorizing .practice-recorder .row-actions{display:grid;gap:7px;grid-template-columns:1fr}
body.is-memorizing .practice-recorder button{font-size:12px;min-height:40px}
body.is-memorizing .practice-file-label{margin-top:10px;font-size:10px}.practice-file-label input{max-width:100%}
.practice-privacy{font-size:11px;color:var(--muted);margin-top:8px}.practice-privacy summary{cursor:pointer;min-height:28px}.practice-privacy .source{font-size:10px;line-height:1.6}
/* Mask source advances rather than reflowing chosen words. Both sheets stay mounted. */
.practice-paper .practice-masked-word,.practice-paper .practice-masked-row{visibility:hidden;pointer-events:none;user-select:none}
.practice-paper.practice-text-hidden .mushaf,.practice-paper.practice-pages-loading .mushaf{visibility:hidden;pointer-events:none;user-select:none}
.practice-paper.practice-empty-spread .printed-page,.practice-paper .practice-unselected-sheet .printed-page{visibility:hidden}
.practice-paper-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#0b1517dc;color:var(--ink);font-size:13px;z-index:1}
.practice-paper-status:empty{display:none}
/* Same position and dimensions as Explanation; content is actual local progress. */
body.is-memorizing #verse-context.practice-statistics .context-head{display:block}
body.is-memorizing #verse-context.practice-statistics .context-head .eyebrow{font-size:10px;color:var(--muted)}
body.is-memorizing #verse-context.practice-statistics .context-head h2{font-size:24px;margin:7px 0 0}
body.is-memorizing #verse-context.practice-statistics .context-body{padding:22px}
.practice-overall-progress{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.practice-progress-ring{flex:none;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,var(--surface) 80%,transparent 82%),conic-gradient(var(--accent) var(--practice-percent),#29413c 0)}
.practice-progress-ring>strong{font-size:23px;font-weight:550}.practice-overall-progress>div:last-child>span{font-size:12px;color:var(--muted)}
.practice-overall-progress p{font-size:13px;margin:7px 0 0}.practice-overall-progress p>strong{font-size:23px;font-weight:550;color:var(--ink)}
.practice-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.practice-metric-grid>div{padding:13px;border:1px solid var(--line);border-radius:12px;min-width:0}
.practice-metric-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.practice-metric-grid strong{font-size:24px;font-weight:550}.practice-metric-grid small{font-size:11px;color:var(--faint);margin-inline-start:5px}
.practice-section-stats{padding-top:18px;border-top:1px solid var(--line)}.practice-section-stats h3{font-size:15px;font-weight:550;margin:0 0 12px}
.practice-stats-range{font-size:17px;font-weight:500;margin:0 0 10px}.practice-section-meter{height:5px;border-radius:6px;background:#29413c;overflow:hidden}.practice-section-meter>span{display:block;height:100%;background:var(--accent);border-radius:inherit}
.practice-section-stats>.source{font-size:11px;margin:8px 0 12px}
.practice-stats-actions{display:grid;gap:6px}.practice-stats-actions button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:12px;border-radius:10px}.practice-stats-actions button>span{margin:0}.practice-stats-actions svg{width:17px;height:17px}.practice-stats-actions .text-button{min-height:28px;padding:4px;font-size:11px;color:var(--muted);border:0}
.practice-stats-notes{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.7}.practice-stats-notes summary{cursor:pointer;min-height:30px}.practice-stats-notes p{margin:8px 0}
body.is-memorizing #practice-feedback{margin-top:22px}body.is-memorizing #practice-feedback h2{font-size:18px}.practice-statistics .feedback-arabic{font-size:25px;padding:16px}.practice-statistics .practice-score strong{font-size:30px}.practice-statistics .feedback-legend{font-size:10px;gap:5px}
body.is-memorizing #verse-context .context-footer{font-size:11px;color:var(--muted)}
@media(max-width:699px){
 body.is-memorizing .practice-selection-heading{display:block;margin-bottom:12px}.practice-reader-back{margin-top:6px}
 body.is-memorizing .practice-selection-heading h2{font-size:18px}
 body.is-memorizing #practice-config{gap:10px}
 body.is-memorizing .practice-selection .two-col{grid-template-columns:1fr}
 body.is-memorizing .practice-selection-summary>strong{font-size:14px}
 body.is-memorizing .practice-phase-actions button{font-size:12px;min-height:42px;padding:10px 6px}
 body.is-memorizing .practice-selection .sidebar-head{gap:5px}
 .practice-metric-grid{gap:8px}.practice-overall-progress{gap:14px;margin-bottom:18px}.practice-progress-ring{width:76px;height:76px}.practice-progress-ring>strong{font-size:20px}
 body.is-memorizing #verse-context.practice-statistics .context-head{padding:14px}.practice-statistics .context-head .eyebrow{display:none}
 body.is-memorizing #verse-context.practice-statistics .context-head h2{font-size:21px;margin:0}
 body.is-memorizing #verse-context.practice-statistics .context-body{padding:14px}
}

/* Browse first; choose exact ayahs without triggering recitation. */
body.is-memorizing .practice-browse-controls{display:grid;gap:16px}
body.is-memorizing .practice-browse-controls label[for=practice-goto-page]{display:flex;align-items:center;justify-content:space-between;margin:0 0 -9px}
.practice-input-range{font-size:11px;color:var(--faint);font-weight:400}
.practice-page-jump{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px;align-items:center}
body.is-memorizing .practice-page-jump>button{display:grid;place-items:center;min-height:46px;width:44px;padding:10px;border:1px solid #3b5a53;border-radius:11px;background:#1c3833;color:var(--accent)}
.practice-whole-pages{margin:4px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.practice-whole-pages h3{font-size:13px;font-weight:500;margin:0 0 10px;color:var(--muted)}
#practice-page-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#practice-page-choices button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 6px;font-size:12px;border-radius:10px}
#practice-page-choices button svg{width:16px;height:16px;flex:none}
#practice-page-choices [aria-pressed=true]{border-color:#689082;background:#24483e;color:#daf5e7}
body.is-memorizing .practice-interactive-choice{display:block;padding:16px 0 8px;margin-top:2px}
.practice-choice-count{display:flex;align-items:baseline;gap:10px}.practice-choice-count>strong{font-size:26px;font-weight:550;color:var(--ink)}.practice-choice-count>span{font-size:13px;color:var(--muted)}
.practice-choice-pages{font-size:11px;color:var(--faint);margin:0 0 10px}
.practice-picked-verses{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow:auto;overscroll-behavior:contain;padding:2px 0}
.practice-picked-verses>button,.practice-picked-verses>span{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:5px 9px;min-height:32px;border:1px solid #47669b88;border-radius:8px;background:#25418f24;font-size:12px;color:#d4dff6}
.practice-picked-verses>button>span{font-size:16px;color:#9fb2d2;margin:0}
body.is-memorizing .practice-interactive-choice>.source{font-size:12px;margin:7px 0;line-height:1.65}
body.is-memorizing .practice-listen-cta{background:#1c3833;border-color:#476c60;color:#dcf2e8}
/* A single inward focus contour cannot be cut by the rail's scroll clip. */
body.is-memorizing .practice-selection :is(input,select):focus-visible,.reader-rail :is(#surah-select,#reader-language):focus-visible{border-color:transparent;box-shadow:none;outline:2px solid var(--accent);outline-offset:-2px}
button.primary:focus-visible,.practice-start-cta:focus-visible,#player .audio-play:focus-visible{outline-color:#122024;outline-offset:-4px}
/* Actual progress text grows, not merely its containing cards. */
body.is-memorizing #verse-context.practice-statistics .context-head h2{font-size:26px}
.practice-progress-ring{width:104px;height:104px}.practice-progress-ring>strong{font-size:26px}
.practice-overall-progress>div:last-child>span{font-size:15px}.practice-overall-progress p{font-size:15px}.practice-overall-progress p>strong{font-size:28px}
.practice-metric-grid span{font-size:14px}.practice-metric-grid strong{font-size:30px}.practice-metric-grid small{font-size:13px}
.practice-section-stats h3{font-size:18px}.practice-stats-range{font-size:18px;line-height:1.7;overflow-wrap:anywhere}
.practice-section-stats>.source{font-size:14px}.practice-stats-actions button{font-size:14px;min-height:44px}.practice-stats-actions .text-button{font-size:13px}
.practice-stats-notes{font-size:13px}.practice-statistics .practice-progress{font-size:15px}
body.is-memorizing #verse-context .context-footer{font-size:13px}
@media(max-width:699px){
 #practice-page-choices{grid-template-columns:1fr}
 body.is-memorizing .practice-page-jump{grid-template-columns:minmax(0,1fr) 36px;gap:5px}
 body.is-memorizing .practice-page-jump>button{width:36px;padding:8px}
 body.is-memorizing .practice-browse-controls{gap:12px}
 body.is-memorizing .practice-phase-actions [data-action=practice-listen]{white-space:normal;line-height:1.45}
 .practice-choice-count{gap:7px;flex-wrap:wrap}.practice-choice-count>strong{font-size:23px}.practice-choice-count>span{font-size:12px}
 .practice-picked-verses{max-height:110px;gap:5px}.practice-picked-verses>button{font-size:11px;padding:5px 7px}
 body.is-memorizing #verse-context.practice-statistics .context-head h2{font-size:24px}
 .practice-progress-ring{width:88px;height:88px}.practice-progress-ring>strong{font-size:23px}
 .practice-overall-progress{gap:12px}.practice-overall-progress>div:last-child>span{font-size:14px}
}

body.is-memorizing .practice-selection .sidebar-head{flex-wrap:wrap;gap:8px}
.practice-header-links{display:flex;gap:6px;margin-inline-start:auto}
body.is-memorizing .practice-header-links .sidebar-dashboard{font-size:12px;padding:7px 8px;gap:5px;white-space:nowrap}
.practice-header-links svg{width:17px;height:17px}
#practice-recording-time{display:block;font-size:24px;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--ink);margin:0 0 10px}
body.is-memorizing .practice-phase-actions [data-action=practice-finish]{font-size:12px;min-height:36px;background:transparent;color:var(--muted)}
@media(max-width:699px){.practice-header-links{width:100%;margin:0;gap:5px}.practice-header-links .sidebar-dashboard{flex:1;justify-content:center}body.is-memorizing .practice-header-links .sidebar-dashboard{font-size:11px;padding:6px 4px}.practice-header-links svg{width:15px;height:15px}}

/* Same content styling as Verse Recognition; the native paper has no overlay. */
#practice-capture{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:14px 0 4px}
#practice-capture .voice-lead{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;margin-bottom:16px}
#practice-capture .practice-visibility-state{flex:none;font-size:10px;line-height:1.5;letter-spacing:.1px;color:#bad6c9;background:#26483d;border:1px solid #446555;border-radius:6px;padding:3px 6px}
#practice-capture #practice-recording-time{display:flex;align-items:baseline;gap:5px;margin:0;white-space:nowrap;letter-spacing:-.6px;font-size:30px}
#practice-capture .practice-time-limit{font-size:12px;letter-spacing:0;color:var(--muted)}
#practice-capture #practice-status{font-size:12px;margin:4px 0 0;line-height:1.5}
#practice-capture .voice-live{align-items:center;margin-bottom:16px}
#practice-capture .voice-submit{border-radius:10px}
#practice-capture .practice-record-again{border:1px solid #476c60;background:#1c3833;color:#dcf2e8;font-weight:500}
#practice-capture .voice-model-note{font-size:11px;text-align:center}
#practice-capture .practice-import{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6}
#practice-capture .practice-import summary{cursor:pointer;min-height:28px}
#practice-capture .practice-import input{max-width:100%;font-size:11px;margin:6px 0 0}
#practice-capture .voice-meter{opacity:.35}
#practice-capture[data-state=recording] .voice-meter{opacity:1}
#practice-capture[data-state=listening] .voice-mic{color:var(--accent)}
#practice-capture[data-state=error] .voice-mic{color:#F09389}
@media(max-width:699px){
 #practice-capture{padding:11px;border-radius:12px;margin-top:12px}
 #practice-capture .voice-lead{display:block;font-size:13px;margin-bottom:13px}
 #practice-capture .practice-visibility-state{display:inline-block;margin-top:6px;font-size:10px}
 #practice-capture .voice-live{gap:7px;flex-wrap:wrap;margin-bottom:12px}
 #practice-capture .voice-mic{width:30px;height:30px}#practice-capture .voice-mic svg{width:19px;height:19px}
 #practice-capture #practice-recording-time{font-size:24px;display:block;line-height:1.25}
 #practice-capture .practice-time-limit{display:block;font-size:11px;line-height:1.5;letter-spacing:0}
 #practice-capture .voice-meter{width:20px;gap:2px;height:28px}
 #practice-capture .voice-meter span{width:2px}
 #practice-capture #practice-status{font-size:11px}
 #practice-capture .voice-submit{font-size:12px;min-height:42px;padding:10px 6px}
 #practice-capture .voice-model-note{font-size:10px;text-align:start}
}

/* One readable status within the right leaf, never across the book's gutter. */
.practice-paper .mushaf-sheet{position:relative}
.practice-concealed-notice{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:min(260px,calc(100% - 48px));padding:26px 16px;border:1px solid #79938455;border-radius:16px;background:#eef2e9;color:#28473b;text-align:center;direction:ltr;font-family:Inter,ui-sans-serif,system-ui,sans-serif;pointer-events:none;box-sizing:border-box}
.practice-concealed-notice .practice-hidden-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#dce6d9;color:#456655}
.practice-hidden-symbol svg{width:24px;height:24px}
.practice-concealed-notice>strong{font-size:20px;font-weight:550;line-height:1.4}
.practice-concealed-notice>span:last-child{font-size:13px;line-height:1.5;color:#607568}
.tone-dark .practice-concealed-notice{background:#182622;border-color:#577365;color:#e0ece4}
.tone-dark .practice-concealed-notice .practice-hidden-symbol{background:#294237;color:#bcd8c8}
.tone-dark .practice-concealed-notice>span:last-child{color:#a9c0b2}
@media(max-width:699px){
 .practice-concealed-notice{width:calc(100% - 12px);padding:12px 4px;gap:7px;border-radius:9px}
 .practice-concealed-notice .practice-hidden-symbol{width:26px;height:26px}.practice-hidden-symbol svg{width:16px;height:16px}
 .practice-concealed-notice>strong{font-size:11px;line-height:1.5}
 .practice-concealed-notice>span:last-child{display:none}
}
