TITLE Seven Sisters — A Nest of Dolls PROMPT A CSS-only (no JavaScript) set of seven nesting dolls. The viewer clicks the largest doll: it splits at the waist, its top half lifts and tips aside, and the next doll hops out and stands beside it; and so on down to the seventh, which is tiny and solid and holds a surprise. Each doll is illustrated purely in CSS (divs, border-radius, gradients, box-shadows, pseudo-elements, clip-path), each with its own painted pattern and expression. Concept: the delight of opening, reproduced with checkboxes. Mood: joyful, folk, hand-painted, warm. Palette: cream paper #F8EFD9 background, lacquer red #C8102E, sunflower gold #F2A900, forest green #0B6E4F, soot black #1D1D1B for outlines, hair and eyes; plus small touches of cream-white for faces and a rosy cheek pink (#F4A6A0). Light page; glossy lacquer highlights on the dolls (a soft white streak down the left side), small contact shadows beneath. The dolls: classic nesting-doll silhouette (a small head dome merging into a wide rounded body: built from two overlapping rounded shapes or one element with an elaborate border-radius), with a round face panel (cream), simple features (two dot eyes with lashes, tiny curved mouth, pink cheeks), a headscarf knotted under the chin, an apron panel on the belly carrying each doll's own motif made from CSS shapes, and a decorative band at the waist that hides the seam. The seven sisters, largest to smallest, each with a name lettered on a small ribbon beneath and a distinct colourway and motif: 1 Vasilisa (red scarf, apron with a big sunflower built from rotated petals); 2 Marfa (green scarf, strawberries and leaves); 3 Darya (gold scarf, a rooster); 4 Olena (black scarf with gold dots, a samovar); 5 Yeva (red with white polka dots, a bunch of rowan berries); 6 Nina (green, a single tulip); 7 Little Zoya (plain red, eyes closed, asleep, does not open). Sizes decrease by a constant ratio (about 0.8). Mechanics: seven (six opening) hidden checkboxes with labels covering each doll. When doll n is checked: its top half (a separate element clipped at the waist) rises with a springy cubic-bezier(.34,1.56,.64,1), rotates and settles tilted beside its bottom half like a set-down lid, revealing a dark hollow interior with a wooden rim; then doll n+1, initially scaled down and hidden inside, pops up with a hop (two-stage keyframes: rise, overshoot, land with a squash), slides to its place in the row to the right (or below on narrow screens), and gives a little side-to-side wobble; its label becomes clickable. The dolls are nested in the markup exactly as they are in life (each sister lives between her elder's hollow and front wall), every length is in the doll's own em so the 0.8 ratio is one font-size rule, and the lid is set down on the shelf to the left, leaning behind its own bottom half. As sisters come out the whole row glides to stay centred. Unchecking (clicking an opened doll's top) reverses: the smaller doll hops back in and the lid closes: only allowed visually when inner dolls are closed (use sibling selectors so closing an outer doll also hides all inner ones gracefully). The seventh, Little Zoya: clicking her does not open her; instead she wakes: her eyes open, she blushes, and a small painted bird that was her apron motif flies up out of the pattern and circles above the row (keyframed path), while tiny painted flowers bloom along the bottom border of the page one after another: the signature finale. Composition: the dolls stand on a shelf line drawn as a decorated folk border (a repeating pattern of diamonds, dots and leaves made with gradients) across the lower third; behind them a large faint circular floral rosette built from conic/radial gradients rotates extremely slowly. Title at top in a decorative but legible display treatment: "Seven Sisters" in a bold serif (Georgia/"Palatino" bold) with small ornamental dots between letters, red on cream, and a subtitle in small tracked caps: "a nest of dolls · open gently". A counter line uses CSS counters to report how many dolls are out: "3 of 7 sisters are out". Beside it a short red hint changes with every state ("tap Vasilisa at the waist", "Olena has put the kettle on", "hush, Little Zoya is asleep. Tap her", "Zoya is awake, and so is the garden"). Name ribbons hang beneath the shelf and unfurl after each landing. Idle life: closed dolls blink occasionally (staggered keyframes) and sway by a degree; hovering a doll makes her lean toward the cursor side (using left/right hover zones) and brightens the highlight. All labels are keyboard-focusable (inputs visually hidden but focusable, with a clear focus ring drawn around the doll in black-and-gold dashes), Space toggles. Layout: a single row on desktop, with the row wrapping onto a second decorated shelf on phones and portrait tablets (two sisters above, five below; Darya hops down to the lower shelf) (dolls scale via clamp/vw so the largest is no wider than ~40vw at 360px); no horizontal overflow at any stage of the animations. Reduced motion: dolls appear/disappear with short opacity transitions and no hopping, blinking or rotation. DESCRIPTION A sheet of cream paper with a folk-painted shelf across its lower third, a slowly turning floral rosette behind it, and one lacquered nesting doll standing in the middle. Tap her at the waist and her top half springs up, tips and is set down leaning on the shelf, a dark wooden hollow appears, and the next sister rises out of it, hops over the rim, lands with a squash and a wobble, and gets her name ribbon; the row slides to stay centred as the family grows. Six times this repeats, each sister smaller by a fifth and painted with her own scarf, face and apron motif (sunflower, strawberries, rooster, samovar, rowan, tulip), until Little Zoya, who is solid and asleep. Tapping Zoya wakes her: her eyes open, she blushes and jumps, the painted bird leaves her apron, grows as it climbs and circles above the sisters, and seventeen flowers bloom one by one along the bottom border. All of it runs without a single line of script. VISUAL TECHNIQUES - Seven checkboxes and general-sibling selector chains as the only state machine; a doll is open only when she and all her elders are checked - Recursively nested dolls sized in their own em, so one font-size rule gives the constant 0.8 ratio and stacking order (hollow, inner doll, front wall, lid) is correct at every depth - State passed down the nest through inherited custom properties that drive calc() transforms, transition delays, z-index, visibility and even animation names - Doll halves cut with matching clip-path polygons along an elliptical seam, with a curved waist band, wooden lip and dark radial-gradient hollow - Lid choreography split over four nested wrappers (lift on a spring curve, slide, drop, tilt) so each axis has its own easing and delay in both directions - Multi-stage hop keyframes with squash, rebound and a decaying wobble; a separate hop-back for closing - Faces, scarves, knots and six apron motifs built from border-radius shapes, rotated petals, gradients and multi-box-shadow clusters - Lacquer gloss streaks from soft radial gradients, contact shadows, polka-dot scarf patterns from layered radial gradients - Shelf and garden borders drawn entirely with repeating linear and radial gradients (diamonds, dots, leaves, scallops) - Rosette from repeating conic gradients, radial masks and dotted circular borders, rotating once every six minutes - Bird flight as two phase-shifted sine-eased axis animations (an ellipse with depth scaling and a direction flip), preceded by a climb that scales it up from apron size - CSS counters and custom-property strings for the live "n of 7 sisters are out" line and its changing hint - Paper grain from speckle gradients; full reduced-motion variant with opacity-only changes INTERACTION MODEL Click or tap a doll (top or bottom half) to open her: the lid lifts and is set aside, and the next sister hops out to the right, or down to the second shelf on narrow screens. Click an opened doll or her lid to close her; her younger sisters hop back inside first, all the way down the nest, and reopening her brings them back as they were. Hovering the left or right half of a closed doll makes her lean that way and brightens her lacquer highlight; hovering a set-down lid rocks it. Tab moves through the sisters that are currently out, showing a black-and-gold dashed ring around the focused one, and Space toggles her. Tapping Little Zoya wakes her and starts the finale (bird and blooming border); tapping her again sends her back to sleep, the bird returns to her apron and the flowers fold away. The counter line and its hint update with every change. With reduced motion enabled, dolls and lids simply fade in and out in place.