TITLE: EMBER — a focus ritual PROMPT: Build 'EMBER — a focus ritual', a pomodoro timer as fire ceremony. Palette: deep ember (#2A1614), terracotta (#C4552D), apricot glow (#E8A87C), ash cream. A wide SVG arc fills like a coal heating up; spark particles drift as the session progresses and the room subtly brightens toward completion. Completed sessions light as little candle dots below. Interactions: drag around the arc to set the duration (5 to 60 minutes, snapped), start/pause makes the ember breathe, and finishing triggers a soft chime (WebAudio, gesture-gated) plus a new candle; a stoke button intensifies the glow. Warm, analog, calming. DESCRIPTION: A pomodoro timer staged as tending a fire. A wide 270° SVG arc — graduated ticks, a gradient that runs ember-dark to apricot-bright — fills like a coal heating up while the session burns; inside it, a radial-shaded coal with a breathing hot core, a monospace countdown and a phase label (SET / BURNING / HOLDING · STOKED). Spark particles lift off the arc with buoyancy and sway, drifting faster as the session progresses; the whole room subtly brightens toward completion and stays lit after each finished session. Completed sessions rise as little candles with flickering flames below the arc. Drag anywhere around the arc to set 5–60 minutes (5-minute snapping ring with tactile spark feedback), Begin/Pause makes the ember breathe, Stoke intensifies the glow for 24 seconds, and finishing triggers a soft C–E–G chime plus a new candle. TECHNIQUES: SVG arc geometry computed in radians with dynamic A-path strings (large-arc-flag aware) for track, heat fill and a dashed ghost marking the chosen duration; pointer events map atan2 angle into the arc domain with 5-minute magnetic snapping. Canvas 2D spark system with per-particle radial gradients, negative buoyancy, sinusoidal sway and life-based fade, spawn rate keyed to session progress and stoke state. The breathing core, flickering candle flames and candle rise are CSS keyframes layered over radial-gradient coal shading; room brightening is a body class that cross-fades two layered radial-gradient backgrounds. Chime is three staggered sine oscillators with linear attack and exponential decay — AudioContext created strictly inside the start-button gesture, try/catch guarded, quiet (~0.11 gain). prefers-reduced-motion disables sparks, breathing and flame animations; keyboard shortcuts S/K; Georgia serif + Courier New readouts; fully offline, responsive 360px→4K. INTERACTION: Drag around the arc to set duration (5–60 min, snaps to 5s) — sparks confirm each step; press Begin (or S) to start and pause — the ember breathes while burning; press Stoke (or K) for a 24-second surge of glow and sparks; when time completes, a chime sounds, the room brightens and a new candle lights below; Reset lays a fresh coal.