:root{--font-arabic:"Noto Naskh Arabic","Amiri","Geeza Pro","Traditional Arabic",serif;--font-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--khatam:polygon(100% 50%,85.4% 35.4%,85.4% 14.6%,64.6% 14.6%,50% 0,35.4% 14.6%,14.6% 14.6%,14.6% 35.4%,0 50%,14.6% 64.6%,14.6% 85.4%,35.4% 85.4%,50% 100%,64.6% 85.4%,85.4% 85.4%,85.4% 64.6%);--page-bg:#f4ead6;--page-deep:#e6d5b6;--panel-bg:#fffaf0;--panel-alt:#fbf1de;--card-bg:#fffdf8;--card-lit:rgba(232,182,76,.16);--ink:#241a3d;--ink-soft:#6b5a41;--line:#ddc9a2;--accent:#2b3a86;--accent-ink:#fff7e6;--accent-soft:#dfe3f6;--gilt:#8a5f12;--gilt-line:rgba(138,95,18,.42);--select-bg:#2b3a86;--select-ink:#fff7e6;--danger:#9d3620;--correct:#1c6b52;--tint-correct:#d3ecdd;--tint-wrong:#f6e3c0;--glow:rgba(154,107,22,.3);--shadow:0 10px 30px rgba(58,41,18,.16);--lattice:rgba(43,58,134,.07);--lamp-a:rgba(232,182,76,.34);--lamp-b:rgba(43,58,134,.12);--scrim:rgba(36,26,61,.55);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--page-bg:#0b0e2a;--page-deep:#05061a;--panel-bg:#161a42;--panel-alt:#1c2150;--card-bg:#1a1e4a;--card-lit:rgba(232,182,76,.12);--ink:#f7ecd6;--ink-soft:#b8a98d;--line:#38407f;--accent:#e8b64c;--accent-ink:#16112c;--accent-soft:#262c63;--gilt:#f0c96a;--gilt-line:hsla(43,82%,68%,.45);--select-bg:#2e3578;--select-ink:#f7ecd6;--danger:#d9694a;--correct:#43bf95;--tint-correct:#1b5147;--tint-wrong:#5b3f1c;--glow:rgba(232,182,76,.35);--shadow:0 14px 40px rgba(0,0,0,.55);--lattice:hsla(43,82%,68%,.07);--lamp-a:rgba(232,182,76,.18);--lamp-b:rgba(96,66,180,.24);--scrim:rgba(2,3,14,.72)}}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-ui);color:var(--ink);background:var(--page-bg);-webkit-font-smoothing:antialiased}body:before{z-index:-2;background-image:radial-gradient(110% 70% at 50% -8%,var(--lamp-a),transparent 62%),radial-gradient(90% 60% at 8% 108%,var(--lamp-b),transparent 68%),linear-gradient(180deg,var(--page-bg),var(--page-deep))}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:-1;background-image:repeating-linear-gradient(0deg,var(--lattice) 0 1px,transparent 1px 64px),repeating-linear-gradient(90deg,var(--lattice) 0 1px,transparent 1px 64px),repeating-linear-gradient(45deg,var(--lattice) 0 1px,transparent 1px 45.25px),repeating-linear-gradient(135deg,var(--lattice) 0 1px,transparent 1px 45.25px);background-position:0 0,0 0,16px 0,16px 0}.khatam-marker:before{content:"";display:inline-block;width:.72em;height:.72em;margin-right:.5em;vertical-align:baseline;background:var(--gilt);-webkit-clip-path:var(--khatam);clip-path:var(--khatam)}.app-shell{max-width:760px;margin:0 auto;padding:1rem 1rem 3rem}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--gilt-line);margin-bottom:1rem}.app-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin:0;color:var(--ink)}.app-nav{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}button{font-family:var(--font-ui);font-size:1rem;cursor:pointer}.btn{min-height:44px;padding:.6rem 1rem;border-radius:.7rem;border:1px solid var(--gilt-line);background:var(--panel-bg);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--gilt-line)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:0 0 0 1px var(--gilt-line)}.btn-ghost{background:transparent;border:1px dashed var(--gilt-line)}.btn-correct{background:var(--correct);border-color:var(--correct);color:#fff}.btn-wrong{background:var(--danger);border-color:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--panel-bg);border:1px solid var(--gilt-line);border-radius:1rem;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow)}.card-face{position:relative;background:radial-gradient(120% 85% at 50% 26%,var(--card-lit),transparent 68%),var(--card-bg);border:1px solid var(--gilt-line);border-radius:1.6rem 1.6rem .9rem .9rem;box-shadow:var(--shadow),inset 0 0 0 1px color-mix(in srgb,var(--gilt) 18%,transparent);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden}.card-arch{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% -20%,transparent 60%,var(--gilt-line) 61%,transparent 63%)}.glyph{font-family:var(--font-arabic);font-size:clamp(4rem,22vw,9rem);line-height:1;color:var(--ink);text-align:center;word-break:keep-all;max-width:100%}.box-strip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.4rem;gap:.4rem;margin:1rem 0}.box-cell{background:var(--panel-alt);border:1px solid var(--gilt-line);border-radius:.6rem;padding:.5rem .25rem;text-align:center;min-height:56px;display:flex;flex-direction:column;justify-content:center}.box-cell .count{font-size:1.4rem;font-weight:700;color:var(--gilt)}.box-cell .label{font-size:.7rem;color:var(--ink-soft)}.reward-row{display:flex;flex-wrap:wrap;gap:.5rem}.reward-chip{background:var(--accent-soft);color:var(--ink);border:1px solid var(--gilt-line);border-radius:999px;padding:.35rem .8rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:.4rem;gap:.4rem}.pool-letter{min-height:44px;font-family:var(--font-arabic);font-size:1.4rem;border-radius:.6rem;border:1px solid var(--gilt-line);background:var(--panel-alt);color:var(--ink)}.pool-letter[aria-pressed=true]{background:var(--select-bg);color:var(--select-ink);border-color:var(--select-bg)}.form-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}.form-toggle{min-height:44px;min-width:44px;padding:.5rem .8rem;border-radius:.6rem;border:1px solid var(--gilt-line);background:var(--panel-alt);color:var(--ink)}.form-toggle[aria-pressed=true]{background:var(--select-bg);color:var(--select-ink);border-color:var(--select-bg)}.error-banner{background:var(--tint-wrong);border:1px solid var(--danger);color:var(--danger);border-radius:.6rem;font-weight:600}.error-banner,.notice-banner{padding:.7rem 1rem;margin:.5rem 0}.notice-banner{background:var(--accent-soft);border:1px solid var(--gilt-line);color:var(--ink);border-radius:.6rem}.drill-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.invite{background:var(--panel-alt);border:1px dashed var(--gilt-line);border-radius:.8rem;padding:.8rem 1rem;margin:1rem 0;font-size:.95rem}select{min-height:44px;padding:.4rem .6rem;border-radius:.6rem;border:1px solid var(--gilt-line);background:var(--panel-bg);color:var(--ink);font-size:1rem}.help-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.help-card{background:var(--panel-bg);color:var(--ink);border:1px solid var(--gilt-line);border-radius:1rem;padding:1.25rem;max-width:460px}.help-card kbd{background:var(--panel-alt);border:1px solid var(--gilt-line);border-radius:.3rem;padding:.1rem .4rem;font-family:monospace}@media (max-width:480px){.app-shell{padding:.75rem .6rem 2.5rem}.drill-controls .btn,.form-toggle,.pool-letter{flex:1 1 auto}.box-strip{gap:.25rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-property:opacity!important;transition-duration:80ms!important;transition-timing-function:linear!important;animation:none!important}}