/* Generated by scripts/sync-logical-art.py from machines.json.
 * Do not edit: the pre-deploy drift gate compares sha256.
 *
 * Each machine's accent, sampled from its hardware where possible.
 * A machine that cannot cite one takes the neutral.
 * The studio itself stays achromatic; these belong to the machines.
 */

/* Morse: brass, from the sounder and key hardware of the period, which is the one material every telegraph office had in common. The colour marks a letter whose code costs more than its frequency deserves. */
[data-machine="morse"] { --machine: #c8b273; }

/* Baudot: chosen, not sampled, and the reason is the roster rather than the hardware. Morse at #c8b273 and Punch Cards at #bcac90 already hold the brass-and-paper end of the palette, and a third machine about paper tape sampled off paper tape would be indistinguishable from both at pill size. This marks a punched hole and the shift state, so it had to be legible against them rather than agree with them. */
[data-machine="baudot"] { --machine: #7fb2d9; }

/* Flip-Flop: deltaE 12.14 from crc, 13.12:1 on the page. Derived by la-accent-pick.py against 42 published accents, not chosen by eye. */
[data-machine="flip-flop"] { --machine: #00f0b8; }

/* Punch Cards: Sampled 2026-08-06, replacing a provisional guess. Modal colour of the clean stock on the face card of a 1969 IBM 5081 deck, photographed by Arnold Reinhold (Wikimedia Commons, 'Punched card program deck.agr.jpg', CC BY-SA 3.0 / GFDL; sampled, not republished). Measured hue 38deg, saturation 25%, and 8.75:1 against the page, so it clears the 4.5:1 an accent has to carry. Caveat kept on purpose: this is one photograph under unknown white balance, not an IBM stock specification, and IBM cards shipped in several colours. It is evidence, which is more than the previous value had, and it is not a spec. */
[data-machine="punch-cards"] { --machine: #bcac90; }

/* Interlace: Chosen, not sampled. Picked with la-accent-pick.py, which measures against every accent already on the timeline: 18.14 deltaE (CIEDE2000) from its nearest neighbour, hamming, and 13.12:1 on --la-page. A cool blue-white because that is roughly what a monochrome television phosphor was, which is an association rather than a measurement and is recorded here as one. The obvious cyans were refused by the picker: baudot and fifteen-planes already hold that part of the space. */
[data-machine="interlace"] { --machine: #d0d0ff; }

/* Rangekeeper: provisional; brass and dial-lamp amber */
[data-machine="rangekeeper"] { --machine: #c9a227; }

/* Bitwise: a switching arrangement has no colour to sample, so it takes the neutral. */
[data-machine="bitwise"] { --machine: var(--la-instrument); }

/* The Adder: deltaE 12.42 from count-distinct, 8.87:1 on the page. Derived by la-accent-pick.py. */
[data-machine="adder"] { --machine: #6cc428; }

/* Stored Program: Chosen, not sampled. la-accent-pick.py against the 37 published accents: 12.20 deltaE from punch-cards, 7.78:1 on the page. Warm because the subject is paper tape and a report, not a device. */
[data-machine="stored-program"] { --machine: #cc9977; }

/* Two's Complement: deltaE 12.15 from masking, 8.44:1 on the page. Derived by la-accent-pick.py. */
[data-machine="twos-complement"] { --machine: #fc8c6c; }

/* Trigger: none earned yet, and phosphor green was declined on purpose: it is the tube's colour, and this page refuses to simulate the tube. */
[data-machine="trigger"] { --machine: var(--la-instrument); }

/* Bit, Nibble, Byte: undecided; a unit of information has no hardware to sample, so it takes the neutral. */
[data-machine="bit-nibble-byte"] { --machine: var(--la-instrument); }

/* Transistor: Chosen, not sampled. 13.88 deltaE from winsock, 5.16:1 on the page. The gold foil on the point-contact device is the one colour the 1947 photographs actually show. */
[data-machine="transistor"] { --machine: #888800; }

/* The Middle Square:  */
[data-machine="middle-square"] { --machine: var(--la-instrument); }

/* Score Reel: none earned yet. Score reels are white numerals on a dark drum lit by a 6.3-volt lamp, and the colour in every photograph is the lamp rather than the machine. Takes the studio neutral until one is measured. */
[data-machine="score-reel"] { --machine: var(--la-instrument); }

/* Hamming: chosen, not sampled, and there is nothing to sample: a checking number is arithmetic, not an object. Violet because every other hue on this roster is held by a machine with a physical referent to photograph, and borrowing one of those would imply a material this machine does not have. It marks the position the checking number names. */
[data-machine="hamming"] { --machine: #a78bd0; }

/* Huffman: Chosen, not sampled. The 1952 paper is four pages of monochrome typesetting and there is no object to photograph. Picked with la-accent-pick.py, which measures against every accent already on the timeline: this is 19.48 deltaE (CIEDE2000) from its nearest neighbour, punch-cards, and reads 12.00:1 on --la-page. Warm, because the machine it answers is Morse, and pale rather than brass so the two do not read as one. */
[data-machine="huffman"] { --machine: #ffbbaa; }

/* Core Memory: none earned yet. Ferrite cores are a dark grey-brown and the colour varies by batch and by photograph, so there is nothing reliable to sample. Takes the studio neutral. */
[data-machine="core-memory"] { --machine: var(--la-instrument); }

/* Hash Table: deltaE 12.14 from write-ahead-log, 8.06:1 on the page. Derived by la-accent-pick.py. */
[data-machine="hash-table"] { --machine: #c89c9c; }

/* The Interrupt: none earned yet. */
[data-machine="interrupt"] { --machine: var(--la-instrument); }

/* DMA:  */
[data-machine="dma"] { --machine: var(--la-instrument); }

/* CORDIC: deltaE 12.01 from interlace, 8.28:1 on the page. Derived by la-accent-pick.py. */
[data-machine="cordic"] { --machine: #a0a8c8; }

/* The Call Stack:  */
[data-machine="call-stack"] { --machine: var(--la-instrument); }

/* Garbage: deltaE 12.71 from dns, 5.02:1 on the page. Derived by la-accent-pick.py. */
[data-machine="garbage"] { --machine: #3c9070; }

/* CRC: chosen, not sampled. A CRC is arithmetic and has no object to photograph, and the roster already spends its reds and oranges on machines that are about damage. Green because the one thing that earns colour here is a burst the check CAUGHT, which is the good outcome, and the machine is worth a page precisely because that outcome is guaranteed rather than likely. */
[data-machine="crc"] { --machine: #7ec8a9; }

/* The Pipeline: deltaE 12.42 from hamming, 5.01:1 on the page. Derived by la-accent-pick.py. */
[data-machine="pipeline"] { --machine: #947898; }

/* Round Robin: deltaE 12.38 from fringes, 5.00:1 on the page. Derived by la-accent-pick.py. */
[data-machine="round-robin"] { --machine: #c0609c; }

/* Page Fault: Chosen, not sampled. 13.93 deltaE from fringes, 7.64:1 on the page. A fault is an alarm and the page marks exactly one thing with it. */
[data-machine="page-fault"] { --machine: #ff7788; }

/* Context Switch: SHARED with count-distinct, deliberately. The palette is full: no colour clears the 12.0 deltaE floor against the 49 already published, and lowering that floor is a gate-policy change rather than a fix. Contrast on the page is unaffected. Measured by la-accent-pick.py --check. */
[data-machine="context-switch"] { --machine: #b9c96a; }

/* ASCII: Chosen by measurement, not sampled. The tempting sample would be a green terminal phosphor or the paper in a Teletype, and both would be a guess dressed as a measurement: ASCII is a table of numbers and has no colour of its own. So hue 132 is the midpoint of the largest unoccupied arc on the timeline's hue wheel, 47 degrees between Turnaround at 108 and CRC at 155. It sits 34.5 deltaE from its nearest neighbour and reads 13.21:1 on --la-page. That it lands near a phosphor green is a coincidence worth enjoying and not a provenance. */
[data-machine="ascii"] { --machine: #60f07b; }

/* Abend: provisional; the pale green of fanfold greenbar printout, which is what a job actually came back as. */
[data-machine="abend"] { --machine: #a8c8a0; }

/* The Shuffle:  */
[data-machine="seeded-shuffle"] { --machine: var(--la-instrument); }

/* Packet Switching:  */
[data-machine="packet-switching"] { --machine: var(--la-instrument); }

/* Out of Order:  */
[data-machine="out-of-order"] { --machine: var(--la-instrument); }

/* Bresenham: SHARED with fifteen-planes, deliberately, for the same reason as context-switch: the palette is full at 49 accents and the distinctness floor is not mine to move. Measured by la-accent-pick.py --check. */
[data-machine="bresenham"] { --machine: #63c5d4; }

/* CPU Cache: Chosen, not sampled. 12.46 deltaE from huffman, 12.27:1 on the page, which is the highest contrast left in the band and this machine marks small numbers in a dense table. */
[data-machine="cpu-cache"] { --machine: #ffbbcc; }

/* Deadlock:  */
[data-machine="deadlock"] { --machine: var(--la-instrument); }

/* Race: Chosen, not sampled. Picked with la-accent-pick.py against 23 published accents: 16.86 deltaE (CIEDE2000) from its nearest neighbour, masking, and 9.17:1 on --la-page. A collision colour for a machine about two things arriving at once. */
[data-machine="race"] { --machine: #ff9944; }

/* Fragmentation:  */
[data-machine="fragmentation"] { --machine: var(--la-instrument); }

/* SIMD:  */
[data-machine="simd"] { --machine: var(--la-instrument); }

/* Fifteen Planes: chosen, not sampled. There is nothing to photograph: this is arithmetic. Colour marks the one measured thing, which here is the structure that should not be there, so it goes on the planes and on nothing else. Cool rather than warm because the roster spends its reds on damage and its greens on checks that came out right, and a generator quietly failing in a dimension nobody looked at is neither: it is a measurement nobody took. Distinct from Baudot's softer blue and CRC's green-teal. */
[data-machine="fifteen-planes"] { --machine: #63c5d4; }

/* DRAM Refresh:  */
[data-machine="dram-refresh"] { --machine: var(--la-instrument); }

/* Regular Expressions:  */
[data-machine="regex"] { --machine: var(--la-instrument); }

/* B-tree: Chosen, not sampled. Picked with la-accent-pick.py: 15.49 deltaE (CIEDE2000) from its nearest neighbour, fifteen-planes, and 5.58:1 on --la-page. */
[data-machine="b-tree"] { --machine: #009999; }

/* Compare and Swap:  */
[data-machine="compare-and-swap"] { --machine: var(--la-instrument); }

/* Bloom Filter:  */
[data-machine="bloom-filter"] { --machine: var(--la-instrument); }

/* Line Mode: Chosen, not sampled. la-accent-pick.py against the 51 published accents: 12.70 deltaE from count-distinct, 13.11:1 on the page, the highest contrast left in the band. Amber because the subject is a terminal. */
[data-machine="linemode"] { --machine: #e4d820; }

/* The Inode:  */
[data-machine="inode"] { --machine: var(--la-instrument); }

/* Raster:  */
[data-machine="raster"] { --machine: var(--la-instrument); }

/* Double Buffer:  */
[data-machine="double-buffer"] { --machine: var(--la-instrument); }

/* Avalanche:  */
[data-machine="avalanche"] { --machine: var(--la-instrument); }

/* Backoff: the yellow of 10BASE5 coaxial cable, whose jacket was yellow-to-orange fluorinated ethylene propylene, chosen for fire resistance and nicknamed the frozen yellow garden hose. The colour marks collisions on the page, which are the event this machine explains rather than an error in it. */
[data-machine="backoff"] { --machine: #e0b341; }

/* Checkout: the 632.8 nm helium-neon line the first supermarket scanners read with. The wavelength is a fact; turning a monochromatic line into an sRGB triple is a choice, and this is a reasonable one rather than a measured one. */
[data-machine="checkout"] { --machine: #e8402a; }

/* Sequence Numbers:  */
[data-machine="sequence-numbers"] { --machine: var(--la-instrument); }

/* Front Panel: sampled off the Altair's lamps */
[data-machine="frontpanel"] { --machine: #ff4b3e; }

/* Diffie-Hellman: The accent space is full. Thirty-four live machines each hold a colour at least 12 deltaE from every other inside the band the estate occupies, and at that point only two mutually distinct colours were left for four new machines. This one deliberately reuses Morse's, which sits a hundred and thirty years away in the chronology so the two are never adjacent on the timeline. Recorded rather than hidden, and the decision about whether to widen the band belongs to the operator. */
[data-machine="diffie-hellman"] { --machine: #c8b273; }

/* Dithering:  */
[data-machine="dithering"] { --machine: var(--la-instrument); }

/* Zero Address: none earned yet. The artifact is an instruction set, which has no colour. */
[data-machine="zero-address"] { --machine: var(--la-instrument); }

/* Fringes: Chosen, not sampled. Picked with la-accent-pick.py: 18.46 deltaE (CIEDE2000) from its nearest neighbour, pagerank, and 5.41:1 on --la-page. Magenta because that is literally the fringe: a subpixel-rendered stem goes magenta on one edge and green on the other, which is what the machine is named for. The picker refused the softer pinks and purples nearby, which belong to pagerank and UTF-8. */
[data-machine="fringes"] { --machine: #ff2288; }

/* LZ77: The accent space is full. Thirty-four live machines each hold a colour at least 12 deltaE from every other inside the band the estate occupies, and at that point only two mutually distinct colours were left for four new machines. This one deliberately reuses Punch Cards's, which sits half a century away in the chronology so the two are never adjacent on the timeline. Recorded rather than hidden, and the decision about whether to widen the band belongs to the operator. */
[data-machine="lz77"] { --machine: #bcac90; }

/* Signature: Chosen, not sampled. This machine first shipped wearing Hamming's colour, with a note saying the accent space was full and only two mutually distinct colours were left. That was an artefact of the picker's grid step of 17, not a fact about the palette: refining the sweep found twelve. 12.24 deltaE from morse, 12.71:1 on the page. */
[data-machine="signature"] { --machine: #f8c898; }

/* Logical Clock:  */
[data-machine="logical-clock"] { --machine: var(--la-instrument); }

/* MVCC:  */
[data-machine="mvcc"] { --machine: var(--la-instrument); }

/* Z-Characters: none earned yet. The artifact is a file rather than an object, and the packaging colours belong to Infocom's designers rather than to the machine. Takes the studio neutral. */
[data-machine="z-characters"] { --machine: var(--la-instrument); }

/* Merkle Proof: Chosen, not sampled. Picked with la-accent-pick.py against the published accents, clearing both floors: deltaE from its nearest neighbour and contrast on --la-page. */
[data-machine="merkle-proof"] { --machine: #0088cc; }

/* Memory Ordering:  */
[data-machine="memory-ordering"] { --machine: var(--la-instrument); }

/* 300 Baud: Resolved 2026-08-07, and the answer is the neutral. The provisional #f0a500 was wrong twice over: a Smartmodem's indicators are red, not amber, and the colour that can actually be evidenced is the unlit lens, sampled at #9f0007 from a photograph of a 1982 unit. That is 2.13:1 against the page background where an accent has to carry 4.5:1, so it cannot be the accent. Source: Wikimedia Commons, 'Hayes Smartmodem 1982 (2).jpg' by Aeroid, CC BY-SA 4.0, sampled not republished. */
[data-machine="300baud"] { --machine: var(--la-instrument); }

/* Branch Prediction: Chosen, not sampled. 14.39 deltaE from pagerank, 12.80:1 on the page. */
[data-machine="branch-prediction"] { --machine: #ffbbff; }

/* Write-Ahead Log: Chosen, not sampled. la-accent-pick.py against the 42 published accents: 16.04 deltaE from masking, 5.05:1 on the page. The colour marks exactly one thing here, the instant after which the transaction survives a power cut. */
[data-machine="write-ahead-log"] { --machine: #a07878; }

/* Interleave: none earned. A CD's rainbow is diffraction, not pigment, so there is no colour on the object to sample. Takes the studio neutral; the only hue on the page is damage. */
[data-machine="interleave"] { --machine: var(--la-instrument); }

/* Eight Sprites: Chosen, not sampled, and the NES is the reason it could not be sampled: the 2C02 has no canonical RGB palette. It generates an NTSC signal directly, so every RGB rendering of 'the NES palette' is one decoder's opinion and they disagree visibly. Taking a value from one of them and calling it measured would be inventing a provenance. So it was measured a different way: hue 235 is the midpoint of the largest unoccupied arc on the timeline's hue wheel, 58 degrees between Baudot at 206 and Hamming at 264, at the median saturation of the accents in use. It sits 29.7 deltaE from its nearest neighbour and reads 5.37:1 on --la-page, with headroom over AA because an accent on this site also has to clear contrast on panels lighter than the page. */
[data-machine="eight-sprites"] { --machine: #717bf0; }

/* DNS: Chosen, not sampled. Picked with la-accent-pick.py: 17.01 deltaE (CIEDE2000) from its nearest neighbour, winsock, and 5.10:1 on --la-page. */
[data-machine="dns"] { --machine: #778866; }

/* False Sharing:  */
[data-machine="false-sharing"] { --machine: var(--la-instrument); }

/* Cache Coherence:  */
[data-machine="cache-coherence"] { --machine: var(--la-instrument); }

/* LZW:  */
[data-machine="lzw"] { --machine: var(--la-instrument); }

/* Premultiplied Alpha:  */
[data-machine="premultiplied-alpha"] { --machine: var(--la-instrument); }

/* Floating Point: sampled from the ceramic lid of an Intel 8087, the first chip to implement a draft of 754. The gold of the lid marking, not the pin plating. One photograph, so it is a reading and not a measurement. */
[data-machine="floating-point"] { --machine: #e0b341; }

/* Erase Block:  */
[data-machine="erase-block"] { --machine: var(--la-instrument); }

/* Slow Start: Chosen, not sampled. Picked with la-accent-pick.py against the published accents, clearing both floors. */
[data-machine="slow-start"] { --machine: #bb7711; }

/* RAID Parity:  */
[data-machine="raid-parity"] { --machine: var(--la-instrument); }

/* Longest Chain: Chosen, not sampled. 13.23 deltaE from hamming, 5.00:1 on the page, which is exactly the floor and was checked rather than assumed. */
[data-machine="longest-chain"] { --machine: #7880a0; }

/* JPEG: Chosen, not sampled. 12.95 deltaE from fifteen-planes, 12.63:1 on the page, which is the highest contrast available and this machine marks small numbers in an 8 by 8 grid. */
[data-machine="jpeg"] { --machine: #00e8e0; }

/* UTF-8: Chosen, not sampled. The object would be the placemat Ken Thompson worked the bit-packing out on, and Rob Pike's account ends 'I very clearly remember Ken writing on the placemat and wished we had kept it!' There is nothing to photograph. So it was measured instead: hue 294 is the midpoint of the largest unoccupied arc on the timeline's hue wheel, 60 degrees wide between Hamming at 264 and PageRank at 324; saturation 0.53 is the median of every accent already in use. It sits 36.3 deltaE from its nearest neighbour and reads 6.42:1 on --la-page. */
[data-machine="utf-8"] { --machine: #d569e0; }

/* Masking: chosen, not sampled, and there is nothing to sample: masking is an event in a listener rather than an object with a colour. A warm orange because the one thing that earns colour here is a component the model threw away, and it had to read as a loss against the blues and greens the rest of the roster uses for signal. */
[data-machine="masking"] { --machine: #c86f4a; }

/* Longest Prefix:  */
[data-machine="longest-prefix"] { --machine: var(--la-instrument); }

/* Winsock: Chosen, not sampled. Picked with la-accent-pick.py against 22 published accents: 19.16 deltaE (CIEDE2000) from its nearest neighbour, count-distinct, and 5.51:1 on --la-page. The picker refused every cyan and teal tried first, which belong to fifteen-planes and crc, and the magenta, which is Fringes. A terminal green for a machine about the moment a modem stopped screeching. */
[data-machine="winsock"] { --machine: #559900; }

/* TLS Handshake:  */
[data-machine="tls-handshake"] { --machine: var(--la-instrument); }

/* PNG Filters:  */
[data-machine="png-filters"] { --machine: var(--la-instrument); }

/* Gamma:  */
[data-machine="gamma"] { --machine: var(--la-instrument); }

/* PageRank: chosen, not sampled. Nothing here is photographable and the page must not borrow Google's brand colours, which would read as endorsement of a company rather than a reading of a paper. Colour marks the one measured thing, which on this page is the TOTAL: the number the paper says will be one. The roster spends its reds on damage and its greens on checks that came out right, and a sum that is neither wrong nor harmful but simply not what its own paper claims is neither of those, so it takes the one hue nothing else on the roster uses. */
[data-machine="pagerank"] { --machine: #cf8fb5; }

/* AES:  */
[data-machine="aes"] { --machine: var(--la-instrument); }

/* Merge Collapse: Chosen, not sampled. Same correction as Signature: this first shipped wearing Baudot's colour on a measurement that was a grid artefact. 12.55 deltaE from b-tree, 5.56:1 on the page. */
[data-machine="merge-collapse"] { --machine: #6090a0; }

/* Merkle DAG: Chosen, not sampled. 13.84 deltaE from dns, 5.05:1 on the page. */
[data-machine="merkle-dag"] { --machine: #908060; }

/* Count Distinct: Chosen, not sampled. HyperLogLog has no object to photograph: it is four pages of analysis and a few kilobytes of registers. This lime-olive was picked to sit apart from every accent already on the timeline, and saying so is better than inventing a provenance for it. */
[data-machine="count-distinct"] { --machine: #b9c96a; }

/* Majority:  */
[data-machine="majority"] { --machine: var(--la-instrument); }

/* Rowhammer:  */
[data-machine="rowhammer"] { --machine: var(--la-instrument); }

/* Spectre:  */
[data-machine="spectre"] { --machine: var(--la-instrument); }

/* LLM Lab: chosen, not sampled */
[data-machine="llmlab"] { --machine: #10b981; }
