.mumin-layout #main :is(.flow-page,.flow-question){max-width:720px;margin-inline:auto;min-width:0;color:var(--text)}
.mumin-layout #main .flow-page-head,.flow-quiet{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin-bottom:18px}
.mumin-layout .flow-difficulty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 22px}
.mumin-layout .flow-difficulty button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;min-height:76px;min-width:0;font-size:14px;background:var(--wood);color:var(--text);border:1px solid var(--line);border-radius:9px}
.mumin-layout .flow-difficulty button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:var(--wood-raised)}
.flow-difficulty small{font-size:11px;color:var(--muted)}
.mumin-layout #main .flow-parchment{position:relative;max-width:560px;margin:28px auto 0;padding:30px 24px 28px;background:var(--wood);color:var(--text);border:1px solid var(--line);outline:none;border-radius:10px;text-align:center}
.mumin-layout #main .flow-parchment h1{font-size:clamp(24px,6vw,30px);font-weight:500;line-height:1.5;margin:8px 0;color:var(--text)}
.flow-eyebrow{font-size:11px;letter-spacing:1px;margin:0;color:var(--muted)}.flow-rule{display:flex;gap:12px;align-items:center;width:70%;margin:20px auto;color:#aa8d66}.flow-rule:before,.flow-rule:after{content:'';height:1px;background:currentColor;flex:1}
.flow-note{font-size:13px;line-height:1.65;color:var(--muted);margin:14px 0}.flow-parchment .flow-note{color:var(--muted)}
.flow-ranges{padding:0;list-style:none;margin:20px 0}.flow-ranges li{padding:10px 0;border-bottom:1px solid #bfa37444}.flow-ranges strong,.flow-ranges span{display:block}.flow-ranges span{font-size:13px;color:var(--muted);margin-top:4px}
.flow-brief-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.flow-brief-stats>div{border:1px solid #bfa37488;padding:16px 6px;border-radius:6px}.flow-brief-stats strong{display:block;font-size:22px}.flow-brief-stats span{font-size:12px;display:block;margin-top:6px}
.mumin-layout #main .flow-parchment button{background:var(--wood-raised);color:var(--text);border-color:#806153;min-height:48px}.mumin-layout #main .flow-parchment .full{width:100%}
.mumin-layout #main .flow-question h1{text-align:center;font-size:19px;font-weight:500;margin:30px 0 12px}.flow-question>.flow-note{text-align:center}.mumin-layout #main .flow-ayah{font-family:var(--arabic-font);font-size:clamp(29px,5vw,38px);line-height:2.3;direction:rtl;text-align:center;margin:18px 0 24px;overflow-wrap:anywhere;color:var(--text)}
.flow-blank{display:inline-block;vertical-align:baseline;min-width:75px;width:2em;height:1.1em;border-bottom:3px dotted var(--gold)}
.mumin-layout #main .flow-context{display:block;margin:0 auto 24px;background:transparent;border:0;color:var(--muted);font-size:13px;min-height:44px}
.flow-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mumin-layout #main .flow-answers button{font-family:var(--arabic-font);font-size:27px;padding:12px 6px;min-height:64px;color:var(--text);background:var(--wood);border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere;min-width:0}
.flow-typing label{font-size:13px;color:var(--muted)}.mumin-layout #main .flow-typing input{width:100%;font-size:26px;margin:10px 0;min-width:0;background:var(--wood);color:var(--text);border:1px solid var(--line);padding:12px;border-radius:8px}.mumin-layout #main .flow-typing button{width:100%;min-height:48px}
.mumin-layout #main .flow-feedback{margin:26px auto 0;padding:14px 20px;border-radius:10px;text-align:center}.flow-feedback.correct{width:max-content;max-width:100%;border:1px solid #8cae87;background:var(--wood-raised);color:#edf5e8;font-weight:600}.flow-feedback.wrong{max-width:440px;border:1px solid var(--line);background:var(--wood);color:var(--text)}.flow-feedback.wrong>p{font-size:30px;line-height:1.8;margin:8px 0 18px}.flow-feedback button{width:100%;min-height:48px}
.flow-certificate .certificate-score{font-size:clamp(58px,16vw,76px);line-height:1.3;margin:18px 0 4px;font-family:Georgia,serif;color:var(--text)}.certificate-score span{font-size:27px}.flow-verdict{font-weight:bold;font-size:14px;padding:6px 16px;border:1px solid currentColor;border-radius:24px;width:max-content;margin:20px auto 0}.flow-verdict.pass{color:var(--gold);background:var(--wood-raised)}.flow-verdict.fail{color:#783d30;background:#783d300d}
.flow-certificate-actions{max-width:560px;margin:20px auto 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flow-certificate-actions button{min-height:48px;min-width:0}.flow-certificate-actions .full{grid-column:1/-1}
.flow-word-review{max-width:560px;margin:24px auto;border-block:1px solid var(--line);padding:16px 0}.flow-word-review summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:550}.flow-word-review>ul{padding:0;list-style:none}.flow-word-review>ul>li{padding:16px 0;border-top:1px solid var(--line)}.flow-review-word{display:flex;justify-content:space-between;align-items:center;gap:16px}.flow-review-word strong{font-size:30px;font-weight:500}.flow-word-review ol{font-size:13px;color:var(--muted);padding-inline-start:24px}.flow-practice-score{font-size:42px;margin:24px 0}
@media(max-width:400px){.mumin-layout .flow-difficulty{gap:6px}.mumin-layout .flow-difficulty button{font-size:13px;padding-inline:3px}.flow-difficulty small{font-size:10px}}
.flow-certificate .certificate-score{direction:ltr!important;unicode-bidi:isolate-override!important}
.flow-map-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;margin:24px 0 12px}.flow-map-controls>div{display:flex;gap:8px;direction:ltr}.flow-map-controls button{width:44px;min-height:44px;padding:6px;font-size:18px}
.flow-journey-map{width:100%;height:320px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;direction:ltr;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 10% 20%,var(--wood-raised),transparent 70%),var(--wood);scrollbar-color:var(--gold) var(--wood)}
.flow-map-track{position:relative;display:flex;align-items:flex-start;gap:120px;width:max-content;min-width:100%;height:300px;padding-inline:var(--map-padding,100px);isolation:isolate}.flow-map-trail{position:absolute;inset:0;z-index:-1;pointer-events:none}.flow-map-trail path{fill:none;stroke:var(--line);stroke-width:7;stroke-linecap:round;stroke-dasharray:2 15}
.flow-map-stop{flex:0 0 120px;width:120px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-top:50px;color:var(--text)}.flow-map-stop:nth-of-type(2n){margin-top:135px}.mumin-layout #main .flow-map-stop button{display:grid;place-items:center;width:76px;height:76px;min-height:76px;border-radius:50%;font-size:26px;padding:0;border:3px solid var(--line);background:var(--wood-raised);color:var(--text);box-shadow:0 5px 0 var(--bg)}
.mumin-layout #main .flow-map-stop.current button{border-color:var(--gold);box-shadow:0 0 0 7px color-mix(in srgb,var(--gold) 15%,transparent),0 5px 0 var(--bg)}.mumin-layout #main .flow-map-stop.completed button{background:var(--gold);color:var(--bg);border-color:var(--gold)}.flow-map-stop small{font-size:12px;line-height:1.4;color:var(--muted);max-width:120px}.flow-map-stop strong{font-size:14px;font-weight:550}.flow-map-stop.locked,.flow-map-stop.unavailable{opacity:1}.flow-map-stop button:disabled{opacity:1;cursor:default}
.mumin-layout #main .flow-map-stop[data-map-current] button{border-color:var(--gold);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 12%,transparent)}
.mumin-layout #main .flow-journey-page{max-width:760px;margin-inline:auto}.mumin-layout #main .flow-journey-page>h1{font-size:28px;font-weight:500;margin:0 0 8px}.mumin-layout #main .flow-journey-status{margin:22px 0;padding:16px;background:var(--wood);border:1px solid var(--line);border-radius:10px;display:block}.mumin-layout #main .flow-journey-status h2{font-size:16px;margin:0 0 8px}.mumin-layout #main .flow-journey-status p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:12px}.mumin-layout #main .flow-journey-status button{font-size:13px;padding:8px 12px}.flow-journey-setup{border-block:1px solid var(--line);padding:14px 0;margin-top:22px}.flow-journey-setup summary{min-height:44px;padding:8px 0;cursor:pointer}


/* Structure first: no ornamental separators in setup/results. */
.flow-rule{display:none}
