/* Quran review — responsive design tokens inherited from the library */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip}
body{overflow-x:clip}
.memorize-main{width:min(100% - 32px,1040px);max-width:1040px;min-width:0;margin-inline:auto;padding:clamp(16px,3vw,36px) 0 max(80px,env(safe-area-inset-bottom))}
.memorize-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#173b32,#245c4b);color:#fff;padding:clamp(24px,5vw,48px);border-radius:24px;margin-bottom:22px;box-shadow:0 12px 28px #10302518}
.memorize-hero::after{content:"۞";position:absolute;inset-inline-end:0;top:-.8em;font-family:serif;font-size:clamp(160px,30vw,320px);line-height:1;color:#ffffff0b;z-index:-1;pointer-events:none}
.memorize-hero .eyebrow{color:#e5c77b;font-weight:750;letter-spacing:.02em}
.memorize-hero h1{font-family:Amiri,serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1.28;margin:10px 0}
.memorize-hero p{color:#e4f3ed;max-width:65ch;line-height:1.95}
.memorize-card{min-width:0;background:var(--surface);padding:clamp(16px,3vw,28px);border:1px solid var(--line);border-radius:20px;margin-bottom:18px;box-shadow:0 3px 16px #142c2409}
.memorize-card h2{font-family:Amiri,serif;font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.3;margin:0 0 18px;color:var(--ink)}
.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px}
.review-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--ink);font-weight:700;font-size:.86rem}
.review-grid label:first-child,.review-grid label:nth-child(2){grid-column:span 2}
.review-grid select,.review-grid input{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}
.review-grid select:focus-visible,.review-grid input:focus-visible,.review-actions button:focus-visible,.review-verses button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.review-actions{grid-column:1/-1;display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:6px}
.review-actions button{min-height:44px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;font-weight:650;cursor:pointer;touch-action:manipulation;transition:background .15s ease,border-color .15s ease}
.review-actions #startReview{background:var(--brand);border-color:var(--brand);color:#fff}
.review-actions #startReview:hover{filter:brightness(1.08)}
.review-actions button:not(#startReview):hover{background:var(--brand-soft);border-color:var(--brand)}
.review-actions #stopReview{border-color:#b96b61;color:#a33f36}
.review-message[hidden]{display:none}
.review-message{margin-top:16px;border-radius:10px;background:#b7453215;color:#a83d24;padding:12px;line-height:1.7}
.review-note{margin-top:18px;line-height:1.8;font-size:.81rem;color:var(--muted)}
.player-review{border-color:color-mix(in srgb,var(--brand) 24%,var(--line))}
.player-review #reviewStatus{line-height:1.8;overflow-wrap:anywhere}
.review-progress{min-height:1.5em;margin-top:8px;color:var(--brand);font-weight:750;line-height:1.8;overflow-wrap:anywhere}
.player-review audio{display:block;width:100%;min-width:0;max-width:100%;height:54px;margin:18px 0;direction:ltr}
.player-review .review-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.review-verses{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.review-verses:empty{display:none}
.review-verses button{min-height:44px;min-width:82px;border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:var(--surface-2);color:var(--ink);cursor:pointer;touch-action:manipulation}
.review-verses button.active,.review-verses button[aria-current="true"]{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:750}
.memorize-card:last-child p{line-height:1.85;margin-block:8px;overflow-wrap:anywhere}
.memorize-card a{color:var(--brand);text-underline-offset:3px}
@media(max-width:850px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid label:first-child,.review-grid label:nth-child(2){grid-column:span 1}.player-review .review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.memorize-main{width:calc(100% - 24px);padding-top:14px}.memorize-hero{padding:24px 20px;border-radius:18px;margin-bottom:15px}.memorize-card{padding:18px 15px;border-radius:16px;margin-bottom:14px}.review-grid{gap:12px}.review-grid label:first-child,.review-grid label:nth-child(2),.review-grid label:nth-child(7){grid-column:1/-1}.review-grid select,.review-grid input{padding-inline:9px}.review-actions{gap:9px}.review-grid>.review-actions button{flex:1 1 150px}.player-review .review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.player-review .review-actions button{padding:9px 8px;font-size:.83rem}.review-verses{gap:7px}.review-verses button{flex:1 0 calc(33.333% - 7px);min-width:0}.site-header .header-inner{min-width:0;gap:8px}.site-header .brand{min-width:0}.site-header .back-link{flex:0 0 auto;font-size:.78rem;white-space:nowrap}}
@media(max-width:350px){.review-grid{grid-template-columns:1fr}.review-grid label{grid-column:1/-1!important}.review-verses button{flex-basis:calc(50% - 7px)}.site-header .back-link{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.review-actions button{transition:none}}

.review-tracking{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.review-tracking h3{font-size:1.08rem;color:var(--ink);margin:0 0 8px}.review-tracking p{color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.review-tracking .review-actions{margin-top:12px}.review-tracking button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.review-tracking{padding:12px}.review-tracking .review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.review-tracking button{padding-inline:7px;font-size:.78rem}}@media(max-width:370px){.review-tracking .review-actions{grid-template-columns:1fr}}

/* Memorization: icon-led, touch-friendly action groups (October 2026). */
.memorize-main .review-actions{width:100%;min-width:0;margin-block-start:12px;gap:10px}
.memorize-main .review-grid > .review-setup-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}
.memorize-main .player-review > .review-playback-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.memorize-main .review-tracking .review-progress-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body .memorize-main .review-actions button{width:100%;max-width:100%;min-width:0;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;background:#18332d;color:#fff;border:1.5px solid #b18b45;border-radius:12px;font-family:inherit;font-weight:800;font-size:clamp(.88rem,1.8vw,1rem);line-height:1.45;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal;box-shadow:0 3px 10px rgba(15,45,34,.09)}
body .memorize-main .review-actions button:hover:not(:disabled){filter:none;background:#285448;border-color:#d9b96a;color:#fff;box-shadow:0 5px 14px rgba(15,45,34,.14)}
body .memorize-main .review-actions button:focus-visible,.memorize-main .review-verses button:focus-visible{outline:3px solid #b18b45;outline-offset:3px}
body .memorize-main .review-setup-actions #startReview{background:#d9b768;color:#18332d;border-color:#c7a457}
body .memorize-main .review-setup-actions #startReview:hover:not(:disabled){background:#f0cf83;color:#18332d;border-color:#c7a457}
body .memorize-main .review-setup-actions :is(#saveReview,#shareReview){background:#fff;color:#18332d}
body .memorize-main .review-setup-actions :is(#saveReview,#shareReview):hover:not(:disabled){background:#f7f1e4;color:#18332d}
body .memorize-main .review-actions :is(#stopReview,#resetSaved){background:#fff9f7;border-color:#c8887d;color:#8a352d}
body .memorize-main .review-actions :is(#stopReview,#resetSaved):hover:not(:disabled){background:#fbe9e5;border-color:#b86053;color:#792a22}
.memorize-main .memo-icon-button .memo-action-icon{display:block;flex:0 0 19px;width:19px;height:19px;pointer-events:none}
.memorize-main .memo-icon-button .memo-action-label{display:block;min-width:0;max-width:100%;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.memorize-main .review-verses button.memo-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-color:#cdb783;font-weight:700;min-width:0}
.memorize-main .review-verses button.memo-icon-button .memo-action-icon{width:15px;height:15px;flex-basis:15px}
.memorize-main .review-verses button.memo-icon-button:hover:not(:disabled){background:#e9efe7}
.memorize-main .review-verses button.memo-icon-button:is(.active,[aria-current="true"]){background:#18332d;border-color:#b18b45;color:#fff}
.memorize-main .review-verses button.memo-icon-button:is(.active,[aria-current="true"]):hover{background:#285448}
@media(max-width:850px){
 .memorize-main .review-grid > .review-setup-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
 .memorize-main .player-review > .review-playback-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .memorize-main .review-grid > .review-setup-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:12px}
 .memorize-main .review-setup-actions #startReview{grid-column:1/-1;min-height:52px}
 .memorize-main .player-review > .review-playback-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .memorize-main .review-tracking .review-progress-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body .memorize-main .review-actions button{font-size:clamp(.84rem,3.5vw,.97rem);padding:10px 7px;gap:6px;min-height:48px}
 .memorize-main .memo-icon-button .memo-action-icon{width:18px;height:18px;flex-basis:18px}
 .memorize-main .review-verses button.memo-icon-button{padding-inline:6px}
}
@media(max-width:370px){
 .memorize-main .review-tracking .review-progress-actions{grid-template-columns:1fr}
 body .memorize-main .review-actions button{padding-inline:6px;font-size:.83rem}
}
@media(prefers-reduced-motion:reduce){.memorize-main .review-actions button{transition:none}}
