:root{--teal:#0f766e;--bg:#0f172a;--surface:#1e293b;--text:#f1f5f9;--muted:#94a3b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.topnav{background:var(--surface);z-index:10;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.topnav a,.link-button{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;text-decoration:none}.page{max-width:640px;margin:0 auto;padding:1rem}.subtitle{color:var(--muted);margin-top:-.5rem}.form-stack{flex-direction:column;gap:.5rem;max-width:360px;display:flex}.form-stack input,.form-stack textarea,.form-stack select{border:1px solid var(--surface);background:var(--surface);color:var(--text);border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem}.hint{color:var(--muted);margin:0;font-size:.8rem}.form-stack button{background:var(--teal);color:#fff;border:none;border-radius:8px;min-height:44px;padding:.85rem;font-size:1rem}.form-error{color:#f87171;font-size:.9rem}.dev-note{color:#fde68a;background:#78350f;border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.masjid-list{margin:0;padding:0;list-style:none}.masjid-row a{border-bottom:1px solid var(--surface);color:var(--text);justify-content:space-between;align-items:center;padding:.6rem .25rem;text-decoration:none;display:flex}.masjid-badge{color:var(--muted);font-size:.75rem}.achievement-stats{padding-left:1.1rem}.btn-scan-cta{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:44px;margin:.75rem 0;padding:.85rem;font-size:1rem;font-weight:600;display:flex}.btn-ghost{border:1px solid var(--surface);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;min-height:44px;padding:.75rem;font-size:.95rem}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg);border-radius:16px 16px 0 0;flex-direction:column;gap:.5rem;width:100%;max-width:480px;padding:1.25rem;display:flex}.modal-title{text-align:center;margin:0;font-size:1.1rem}.modal-subtitle{text-align:center;color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.qr-reader-box{background:#000;border-radius:12px;width:100%;min-height:280px;margin-bottom:.5rem;overflow:hidden}
