TITLE The Moon Tonight PROMPT A single-purpose tool: it shows the Moon as it is right now: the phase computed from the viewer's actual date and time: as a large, beautifully shaded cratered sphere, with the illuminated fraction, the age of the Moon in days, the name of the phase, and the dates of the next new, first-quarter, full and last-quarter moons. Concept: a quiet instrument you would keep open in a tab; one object in a field of emptiness. Astronomy (computed in the page; no external data): phase from the mean synodic month (29.530588853 days) counted from a known new moon epoch (2000 January 6, 18:14 UTC, Julian date 2451550.1), which is accurate to within several hours: state on the page that phase times are approximate ("to within half a day"); illuminated fraction k = (1 − cos(phase angle)) / 2; age in days; phase names by eighths (new, waxing crescent, first quarter, waxing gibbous, full, waning gibbous, last quarter, waning crescent). Optionally apply the main periodic correction terms if the implementer is sure of them; otherwise keep the mean model and the stated tolerance. Mood: still, nocturnal, reverent, precise. Palette: night black #0A0A0D background (required by the subject), moonlight ivory #E8E4D8, shadowed regolith grey #8F8B80, and one warm accent, harvest gold #F2C879, used only for the "today" marker and the next-full-moon date. Dark page with nothing decorative: no gradients, no glow halos beyond a very faint, physically motivated bloom around the lit limb; a sparse field of tiny fixed stars that are occulted by the Moon's dark side. The Moon (signature object): a sphere rendered per-pixel on Canvas 2D (or a WebGL fragment shader with a Canvas fallback) at a diameter of about 60% of the shorter viewport side (up to 70% on phones, where there is room): for each pixel inside the disc compute the sphere normal, apply the sun direction for the current phase angle, and shade with a lunar-like (flatter than Lambert) falloff so the full moon looks evenly bright to the limb while the terminator is sharp; surface from procedural data: a height field of many craters of varying radius generated from a fixed seed (bowl, raised rim, central peak for the largest, bright ray systems for a few young ones), plus large dark maria placed as soft-edged irregular blotches in a plausible arrangement (an evocation, not an accurate map: do not label real features), with normal perturbation and a row-wise horizon sweep for true cast shadows, so craters near the terminator cast long shadows and stand out in relief exactly as through a telescope, while near the limb they foreshorten. Earthshine: the dark side is faintly visible (very dim blue-grey) around new moon. The orientation shows a waxing moon lit from the right (northern-hemisphere view), with a small N/S toggle that flips it for southern observers. Layout: the Moon centred slightly above middle; beneath it, in very large thin type, the phase name ("Waning Gibbous"); below, a single line of small tabular data separated by thin rules: illumination "83.4%" · age "18.2 days" · the real date. At the bottom edge: a month strip built as a sliding tape under a fixed centre index: small moons, one per calendar day (about thirty across a desktop, fewer on a phone), each correctly shaded as a simple two-arc glyph with its day number, with today ringed in gold and the four principal phases dated beneath; the strip can be dragged (with a little momentum), wheeled or arrow-keyed (one day; Shift for six hours) to scrub through time: the signature moment: as the viewer scrubs, the big Moon's terminator sweeps smoothly across the cratered surface, shadows lengthening and shortening in real relief, and the readouts tick; releasing leaves it at that date with a "return to tonight" control (gold dot). A "play a month" control runs one full lunation in about 12 seconds. Details: hovering/touching a point on the lit surface shows the local sun elevation there ("the Sun is 6° above this horizon: long shadows"); a line of quiet copy that changes with the phase, written with care (new: "Nothing to see. It is up there all day, lost beside the Sun."; full: "Rises at sunset, sets at sunrise, keeps the whole night."; thin crescent: "Look west after sunset. The dark part is lit by us."); next-phase list in a small column: "Full · 24 Nov" etc. computed from the model; "moonlight mode" key (M, or its button) hides all text for a pure view and floats the Moon to the centre; any tap or key returns. Further keys: Space plays a month, T returns to tonight, H flips the hemisphere. The browser tab title and icon carry the live phase. Typography: one family used with extreme weight contrast: phase name in a light, elegant serif at huge size (Didot/"Bodoni MT"/Baskerville/Georgia, weight normal, tight tracking) in ivory; data in 11–12px tracked small caps sans and tabular numerals in grey; nothing else. Entrance: black; the Moon's lit limb appears as a hairline and the light sweeps across to the correct phase in about two seconds while the title letters settle in. Reduced motion: the Moon appears at the correct phase immediately; scrubbing updates without easing. Performance: craters baked once into a height/normal buffer; per-frame shading only when the phase changes; DPR capped at 2. DESCRIPTION A quiet nocturnal instrument: one cratered Moon hanging in a sparse field of fixed stars on night black, shown at the phase it has at this very minute. Beneath it the phase name is set in very large, light serif type, followed by one italic line of copy written for that phase and a single ruled row of tabular data (illumination, age, date and time). A small column lists the next four principal phases, with the coming full moon in harvest gold; along the bottom edge a tape of day-by-day moon glyphs slides under a fixed index, today ringed in gold. Dragging the tape sweeps the terminator across real relief: crater rims catch the light, floors fill with shadow, the old Moon in earthshine appears around new, and every readout ticks along. The page opens in darkness, the lit limb arrives as a hairline, the light sweeps to the true phase and the title letters settle into place. VISUAL TECHNIQUES - Per-pixel sphere rendering on Canvas 2D from buffers baked once: height field, perturbed normals, albedo, edge coverage - Procedural surface from a fixed seed: about 2,500 craters with a power-law size distribution (bowl, raised rim, flat floors and central peaks on the largest, older craters softened), young craters with noise-broken ray systems - Maria as a merged field of soft blobs eroded by four octaves of lattice noise, with fewer craters inside them - Lunar (Lommel-Seeliger style) photometry so the full disc is evenly bright to the limb while the terminator stays sharp - True cast shadows from a row-wise horizon sweep, exact because the Sun always lies in the plane of each pixel row - Earthshine: a dim blue-grey rendering of the night side that swells toward new moon - Faint scattered-light bloom built from two down-sampled copies of the frame, no blur filters - Seeded star field occulted by the opaque dark limb - Canvas tape of two-arc phase glyphs with a lens swell at the index, edge fade and dated principal phases - Phase astronomy from the mean synodic month counted from the 6 January 2000 new moon; next phases, age and illuminated fraction computed live - Light didone-style serif at display size against 11px tracked small-caps data with tabular numerals; four-colour palette with gold reserved for today and the next full moon - Entrance choreography with custom easing: hairline limb, sweeping light, staggered letter settle; live phase glyph drawn into the tab icon INTERACTION MODEL Drag the day tape at the bottom (mouse or touch, with gentle momentum), scroll over it, or press the left and right arrow keys to move one day at a time (Shift for six hours); the big Moon re-shades continuously and the name, copy, illumination, age, date and next-phase list follow. Once away from the present a gold dot labelled "Return to tonight" appears with the offset; clicking it, or pressing T, Home or Escape, glides back. "Play a month" (or Space) runs one full lunation in about twelve seconds and can be stopped. Hovering or touching the disc shows a small reticle and reads out the Sun's elevation at that spot, with a note on the light there. The N / S switch (or H) rotates the Moon for southern observers and mirrors the glyphs; the choice is remembered. Moonlight (button or M) hides every piece of text and centres the Moon; any tap, M or Escape brings the instrument back. With reduced motion the Moon appears at its phase at once, scrubbing is immediate and playback steps a day at a time.