:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17332d;background:#f4f1e9;font-synthesis:none;--green: #123d35;--green-soft: #dbeae3;--gold: #b58a43;--border: #d9d5c9}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;padding:48px 20px 24px;background:radial-gradient(circle at 10% 0%,rgba(181,138,67,.13),transparent 30%),linear-gradient(180deg,#edf3ed 0,#f7f4ed 440px)}.hero{max-width:760px;margin:0 auto 28px;text-align:center}.brand-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border:1px solid rgba(181,138,67,.7);border-radius:18px 18px 18px 4px;color:var(--gold);font:600 34px/1 Noto Naskh Arabic,serif}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}h1{margin:0;color:var(--green);font-size:clamp(30px,5vw,48px);letter-spacing:-.04em}.subtitle{max-width:600px;margin:14px auto 0;color:#61716c;line-height:1.6}.checker-card{max-width:820px;margin:0 auto;padding:clamp(22px,5vw,42px);border:1px solid rgba(217,213,201,.9);border-radius:28px;background:#fffffcf0;box-shadow:0 24px 70px #19332c1a}.selectors{display:grid;grid-template-columns:2fr 1fr;gap:16px}label span,.ayah-caption,.result-caption{display:block;margin-bottom:8px;color:#75817d;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}select{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;color:var(--green);background:#fff}select:focus{outline:3px solid rgba(181,138,67,.2);border-color:var(--gold)}.ayah-panel{margin-top:26px;padding:24px;border:1px solid #e2dfd6;border-radius:18px;background:#fbfaf6;transition:opacity .2s}.ayah-panel.muted{opacity:.55}.ayah-text{min-height:52px;margin:4px 0 0;color:#153b33;font:600 clamp(28px,5vw,42px)/1.9 "Noto Naskh Arabic",serif;text-align:center}.ayah-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.ayah-navigation button{padding:9px 12px;border:0;color:#587069;background:transparent;font-size:13px;font-weight:600}.ayah-navigation button:hover:not(:disabled){color:var(--green)}.ayah-navigation button:disabled{cursor:not-allowed;opacity:.35}.navigation-hint{margin:2px 0 0;color:#8a9490;font-size:11px;text-align:center}.navigation-hint kbd{min-width:27px}.recording-area{display:flex;flex-direction:column;align-items:center;padding:28px 0 10px;text-align:center}.hint,.processing-state,.recording-state{min-height:24px;margin:0 0 18px;color:#71807b;font-size:14px}.recording-state{color:#b44343;font-weight:600}.pulse-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#c84c4c;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}.record-button{min-width:230px;padding:15px 24px;border:0;border-radius:14px;color:#fff;background:var(--green);font-weight:700;box-shadow:0 10px 25px #123d3533;transition:transform .15s,background .15s}.record-button:hover:not(:disabled){transform:translateY(-1px);background:#195147}.record-button.recording{background:#a84141}.record-button:disabled{cursor:not-allowed;opacity:.5}.record-icon{margin-right:8px;font-size:12px}.record-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;margin-top:18px;color:#75817d;font-size:12px}.auto-stop-option{display:flex;align-items:center;gap:7px;cursor:pointer}.auto-stop-option input{accent-color:var(--green)}.keyboard-hint{display:flex;align-items:center;gap:6px}kbd{min-width:46px;padding:3px 7px;border:1px solid #d1cec5;border-bottom-width:2px;border-radius:6px;color:#52635e;background:#f7f6f1;font:600 11px/1.2 inherit}.error-message{margin-top:16px;padding:13px 16px;border-radius:12px;color:#8e3434;background:#fbe9e7;font-size:14px}.result-panel{margin-top:20px;padding-top:24px;border-top:1px solid #e5e1d8;scroll-margin-top:16px}.score-row{display:flex;align-items:end;justify-content:space-between;gap:20px}.score-row strong{color:var(--green);font-size:42px;line-height:1}.score-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.score-summary .result-caption{width:100%;margin-bottom:0}.result-verdict{color:#42645b;font-size:17px;font-weight:700}.metrics{display:flex;gap:8px}.metrics span{padding:7px 10px;border-radius:999px;color:#67736f;background:#f1f0eb;font-size:12px}.word-results{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 20px;font:600 28px/1.7 Noto Naskh Arabic,serif}.result-word{position:relative;padding:4px 9px;border-bottom:3px solid;border-radius:8px 8px 3px 3px}.result-word.correct{color:#17664c;border-color:#52a17f;background:#e9f5ef}.result-word.wrong{color:#a03737;border-color:#cc6969;background:#fbeceb}.result-word.missing{color:#9a742d;border-color:#d2a74e;background:#fbf3df}.correction-mark{position:absolute;top:-13px;right:-5px;color:#527d70;font:700 13px/1 sans-serif}.error-details{display:grid;gap:9px;margin-top:16px}.error-details h2{margin:0 0 3px;color:#596b66;font-size:13px}.error-comparison{display:grid;grid-template-columns:82px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;border-left:3px solid;border-radius:10px;background:#faf8f3}.error-comparison.wrong{border-color:#cc6969;background:#fdf3f2}.error-comparison.missing{border-color:#d2a74e;background:#fdf8e9}.error-comparison.extra{border-color:#a477ad;background:#f7eff8}.error-type{color:#6e7875;font-size:11px;font-weight:700;text-transform:uppercase}.comparison-value{min-width:0}.comparison-value small{display:block;margin-bottom:2px;color:#84908c;font-size:10px}.comparison-value b{display:block;overflow-wrap:anywhere;color:#213f37;font:600 21px/1.45 Noto Naskh Arabic,serif}.comparison-value>span{color:#7b8581;font-size:12px}.comparison-arrow{color:#9ca5a2;text-align:center}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;color:#75817d;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%}.legend .correct{background:#52a17f}.legend .wrong{background:#cc6969}.legend .missing{background:#d2a74e}.legend .extra{background:#a477ad}.retry-button{width:100%;margin-top:24px;padding:13px;border:1px solid #b8c6c1;border-radius:12px;color:var(--green);background:transparent;font-weight:700}.retry-button:hover{background:#f1f6f3}footer{max-width:820px;margin:22px auto 0;color:#7d8582;font-size:11px;text-align:center}footer a{color:#56776e}@media(max-width:600px){.page-shell{padding:28px 12px 18px}.checker-card{border-radius:20px}.selectors{grid-template-columns:1fr}.ayah-navigation button{padding-inline:4px;font-size:12px}.score-row{align-items:start;flex-direction:column}.word-results{font-size:25px}.error-comparison{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.error-type{grid-column:1 / -1}}
