/* ACE SUPERENTRY — consolidated responsive stylesheet */
:root{--ace-text:#253247;--ace-heading:#17365c;--ace-muted:#64748b;--ace-primary:#1d4d88;--ace-border:#dbe2ec;--ace-bg:#f7f9fc;--ace-hover:#f0f6ff;--ace-orange:#e87916;--ace-radius:12px}
*{box-sizing:border-box}
.ace-page{max-width:1500px;margin:12px auto;padding:0 14px;font-family:Arial,sans-serif;color:var(--ace-text)}
.ace-panel{background:var(--ace-bg);border:1px solid var(--ace-border);border-radius:var(--ace-radius);padding:14px;margin-bottom:14px}
.ace-heading{font-size:22px;margin:0 0 12px}
.ace-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.ace-filters label{display:flex;flex:1 1 170px;min-width:145px;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.ace-filters select,.ace-flash-filters select{width:100%;min-width:0;padding:8px 10px;border:1px solid #c9d3df;border-radius:7px;background:#fff;color:var(--ace-text);font-size:13px}
.ace-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.ace-summary span{font-size:14px}.ace-summary strong{color:#52657d}
.ace-pattern{margin:12px 0;overflow:hidden;background:#fff;border:1px solid var(--ace-border);border-radius:10px}
.ace-pattern-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#eef3f9}
.ace-pattern-header h3{margin:0;font-size:16px}.ace-badge{padding:4px 9px;background:#fff;border:1px solid #d4dfeb;border-radius:20px;font-size:12px}
.ace-scroll{overflow-x:auto}.ace-table{width:100%;min-width:450px;border-collapse:collapse}.ace-table th{background:#f8fafc;color:#52657d;font-size:13px}
.ace-table th,.ace-table td{padding:8px 12px;border-bottom:1px solid #e7ecf2;text-align:center}.ace-table tbody tr:nth-child(even){background:#fafbfd}.ace-table tbody tr:hover{background:var(--ace-hover)}
.ace-table .ace-arabic{font-family:'Noto Naskh Arabic','Amiri','Traditional Arabic',serif;font-size:25px;line-height:1.6;white-space:nowrap;direction:rtl}.ace-table .ace-translation{text-align:left;font-size:14px}.ace-empty{padding:16px;color:#6b7787}
/* Flashcard shell and compact filter toolbar */
.ace-flash-shell{max-width:1080px;margin:10px auto;padding:10px;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#17233b}
.ace-flash-toolbar{padding:12px 16px;margin-bottom:10px;background:var(--ace-bg);border:1px solid var(--ace-border);border-radius:10px}
.ace-flash-toolbar h2,.ace-flash-toolbar-header h2{margin:0 0 10px;font-size:18px;color:var(--ace-heading)}
.ace-flash-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(135px,1.2fr) minmax(210px,2fr) minmax(85px,100px);gap:10px;align-items:end}
.ace-flash-filters label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;font-weight:600}
/* Flashcard: all content visible without flipping */
.ace-flash-stage{max-width:900px;margin:10px auto}.ace-flash-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:6px;color:#5a6880;font-size:12px}
.ace-flash-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:245px;padding:20px 20px 14px;text-align:center;background:linear-gradient(155deg,#fff,#f4f8ff);border:1px solid #dce4f0;border-radius:16px;box-shadow:0 5px 20px #18345d12;cursor:default}
.ace-flash-eyebrow{font-size:12px;color:#64738a;letter-spacing:.04em;text-transform:uppercase}
.flashcard-token{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%}
.arabic-token,.ace-arabic-token,.ace-flash-arabic{font-family:'Noto Naskh Arabic','Amiri','Traditional Arabic',serif;font-size:clamp(38px,6vw,64px);line-height:1.6;text-align:center;direction:rtl;overflow-wrap:anywhere;color:#142e59}
.ipa-token,.ace-ipa-token{font-family:'Charis SIL',Arial,sans-serif;font-size:clamp(16px,2vw,20px);line-height:1.4;color:var(--ace-muted);text-align:center;direction:ltr;unicode-bidi:isolate}
.ace-flash-translation{margin:4px 0;font-size:clamp(20px,3.5vw,30px);font-weight:650;color:#142e59}.ace-flash-detail{font-size:13px;line-height:1.5;color:#617089}
/* Place the single-line grammatical footer at the very bottom. */
.ace-flash-footer,.ace-flash-hint{position:static;margin-top:auto;padding-top:12px;width:100%;font-size:12px;line-height:1.6;color:#617089;text-align:center;overflow-wrap:anywhere}
.ace-flash-footer{border-top:1px solid var(--ace-border)}
/* Optional explicit morpheme classes: existing inline token colors remain intact. */
.ace-prefix,.ace-suffix,.ace-suff1,.ace-suff2,.ace-suff3,.ace-suff4,.ace-suff6{color:var(--ace-orange)}
.ace-token-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}.ace-token-link:hover{text-decoration:underline}
/* Unified, space-efficient navigation */
.ace-flash-controls,.ace-index-nav,.ace-form-nav,.ace-flash-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:8px 0}
.ace-flash-controls button,.ace-index-nav button,.ace-form-nav a,.ace-form-nav .ace-nav-disabled,.ace-flash-nav a,.ace-flash-nav button{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #c9d5e5;border-radius:8px;background:#fff;color:var(--ace-heading);font-size:13px;text-decoration:none;line-height:1.3}
.ace-flash-controls button,.ace-index-nav button,.ace-flash-nav button{cursor:pointer}
.ace-flash-controls button:hover:not(:disabled),.ace-index-nav button:hover:not(:disabled),.ace-form-nav a:hover,.ace-flash-nav a:hover,.ace-flash-nav button:hover:not(:disabled){background:var(--ace-hover);border-color:#9cb9de}
.ace-flash-controls button.primary{background:var(--ace-primary);border-color:var(--ace-primary);color:#fff}
.ace-flash-controls button:disabled,.ace-index-nav button:disabled,.ace-flash-nav button:disabled,.ace-nav-disabled{opacity:.4;cursor:default}
.ace-flash-controls button:focus-visible,.ace-index-nav button:focus-visible,.ace-form-nav a:focus-visible,.ace-flash-nav a:focus-visible,.ace-flash-nav button:focus-visible,.ace-flash-filters select:focus-visible{outline:3px solid #3c79d8;outline-offset:2px}
.ace-index-label{font-weight:650;color:var(--ace-heading);text-align:center}.ace-flash-count{min-width:65px;text-align:center;font-variant-numeric:tabular-nums}
.ace-flash-empty{padding:24px;text-align:center;border:1px dashed #ccd5e3;border-radius:12px}
@media(max-width:700px){.ace-flash-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ace-flash-card{min-height:220px;padding:15px}.ace-flash-toolbar{padding:10px}.ace-flash-shell{padding:6px}.ace-flash-footer{font-size:11px}}
@media(max-width:380px){.ace-flash-filters{grid-template-columns:1fr}.ace-page{padding:0 8px}.ace-flash-nav{gap:4px}.ace-flash-nav a,.ace-flash-nav button{padding:6px 8px}}
