body{margin:0;font:16px/1.65 -apple-system,Segoe UI,Roboto,Arial,sans-serif; background:var(--mk-bg);color:var(--mk-text)} .wrap{max-width:760px;margin:0 auto;padding:28px 18px 80px} h1{font-size:1.7rem;margin:0 0 6px} h2{font-size:1.15rem;margin:26px 0 8px} .muted{color:var(--mk-text-muted)} .prov{color:var(--mk-text-muted);font-size:13px;margin:6px 0} .card{border:1px solid var(--mk-border);border-radius:12px;padding:16px 18px;margin:14px 0;background:var(--mk-panel)} fieldset{border:1px solid var(--mk-border);border-radius:10px;margin:14px 0;padding:12px 14px} legend{padding:0 6px;font-weight:700} .opt{display:flex;gap:9px;align-items:flex-start;padding:4px 0;cursor:pointer} .field{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:6px 0;flex-wrap:wrap} .field input,.field select{background:var(--mk-bg);color:var(--mk-text);border:1px solid var(--mk-border); border-radius:8px;padding:7px 10px;font:inherit;min-width:8ch} .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:5px 0} .rowlab{min-width:11ch;color:var(--mk-text-muted);font-size:13px} .vas{margin:10px 0} .vas input[type=range]{width:100%} .vasends{display:flex;justify-content:space-between;font-size:12px;color:var(--mk-text-muted)} button{padding:10px 18px;border:1px solid var(--mk-accent);background:var(--mk-accent);color:#1a1306; border-radius:10px;font-weight:800;cursor:pointer;font:inherit;font-weight:800} button.ghost{background:transparent;color:var(--mk-text);border-color:var(--mk-border)} button[disabled]{opacity:.45;cursor:not-allowed} a{color:var(--mk-accent)} .limits li{margin:8px 0} .limits b{display:block} .key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.06em; background:var(--mk-bg);border:1px dashed var(--mk-border);border-radius:8px;padding:9px 11px; display:inline-block;word-break:break-all} table{width:100%;border-collapse:collapse;font-size:14px} td,th{border-bottom:1px solid var(--mk-border);padding:6px 4px;text-align:left} .consult{border:1px solid var(--mk-border);border-left:3px solid var(--mk-text-muted);border-radius:8px; padding:10px 14px;margin:0 0 18px;background:var(--mk-panel);font-size:14px} .consult p{margin:4px 0} .stage{min-height:160px;display:flex;align-items:center;justify-content:center; border:1px solid var(--mk-border);border-radius:12px;margin:12px 0;font-size:15px;color:var(--mk-text-muted)} .swatch{width:100%;height:160px;border-radius:11px} .beat{width:22px;height:22px;border-radius:50%;background:var(--mk-border);margin:0 4px;display:inline-block} .beat.on{background:var(--mk-accent)}
Sixteen rhythmic figures on one sixteen-step grid at one tempo. What varies is the arrangement of the strokes, not the speed — each khayt is its own figure, and a tempo test would be a different and much duller question.
In the Egyptian zar, the thread — khayt — is the distinctive drum rhythm belonging to each spirit, and the kodia who leads the ceremony is expected to know the songs and rhythms of each. She performs them one at a time and watches for a reaction, and the rhythm that produces one identifies the spirit.
Look at the shape of that rather than at the metaphysics. A fixed enumerated set of stimuli. Serial presentation. A response criterion. Classification by maximal differential response. That is a within-person psychophysical protocol, and it was built centuries before anybody wrote down a method section.
We are borrowing the method. We are not borrowing the cosmology. This page will name a rhythm. It will never name a spirit, a Thread or a deity, and it does not map any rhythm to one — not because that would be impolite, but because no instrument can do it and the statement would be false.
The khayt-as-drum-rhythm account is the standard one and is consistent across the sources read, but it is marked partially verified: El Hadidi (2016), Zar: Spirit Possession, Music, and Healing Rituals in Egypt (AUC Press) is the scholarly source and has not been read in full here. The protocol does not depend on it — it stands as psychophysics either way — but this attribution does, and saying so is cheaper than implying otherwise.
You will be shown each of the 16 rhythms for 8 seconds and asked, after each, how much of a response it produced. There is no right answer and no wrong one, and “nothing at all” is a real answer that is worth giving.
This result will never be worded as: “This is your Thread.”
Your browser made you a random key. We store a one-way hash of it, never the key. It is the only thing linking this sitting to your next one — write it down.
…
Under a minute. None of it is required, every question can be skipped, and "prefer not to say" is recorded as itself rather than turned into a default. This is not part of the exam and nothing here is scored.
The figures are laid on the same look-ahead scheduler the metronome uses — the JavaScript timer wakes every 25 ms and schedules 100 ms of audio into the future, which is what keeps a browser rhythm steady instead of merely approximate.
Nothing here is ever reported as a millisecond. This exam measures DIFFERENTIAL RESPONSE across a stimulus set, not synchronisation. No number it produces is a sound-to-movement interval, so the calibration ladder that governs signed asynchrony does not apply and no result here is ever a millisecond.
A visual-only metronome is a far worse timing reference than a click. Say so; do not hide it.
The same protocol runs over the sixteen hues. The comparison between the two is the interesting part: a person whose rhythm profile repeats and whose hue profile does not has learned something about themselves that neither run gives on its own.
This is not a medical device and this is not medical advice. Nothing here diagnoses, treats, cures or prevents any disease, and nothing here is offered as capable of improving anyone’s health or bodily functions. What is offered is the published research, including the studies that found no effect, so you can weigh it yourself.