Skip to content

No.96 · Cards· New

Rim Glow Card

A dark glass tile lit from below: a thick rim of coloured light runs round its edge, brightest down the left and along the bottom, and a hot band rises from the bottom edge; the light climbs on hover.

The prompt

Copy this text

Automatic copying is unavailable. Copy the selected text using your device’s copy command.

Written for the variant you picked above: Amber

Build a square feature tile lit from below by a coloured rim (React + CSS, no libraries). Tile: 19em square (16px base), radius 2.2em, clipped. A 0.22em transparent border shows a conic gradient (border-box) of the rim colour that is brightest along the bottom (the light tint at 180°), strong down the left (270–310°) and the bottom-right (140°), and fades almost to grey toward the top right (6% at 50°). The interior (padding-box) runs from a dark tint of the colour at the top through near-black #0a0a0c to the tint again at the bottom. Shadows: a coloured glow under the tile and off its left side, an inset 0.5em glow just inside the rim, and an inset glow in the top-left corner. Band: the bottom 62% carries a vertical gradient from the light tint at the edge through the colour (7%) and fading colour (20%, 38%) to transparent by 62%, masked by a wide ellipse so it softens at the corners, blurred 0.35em and breathing from the bottom over 6s, so the bottom edge burns and the light rises into the dark. Content at the top (padding 0.95em 1.15em): a 2.55em icon tile (dark, with a coloured hairline and glow, a 1.5-stroke white icon), a 1.9em regular-weight title, a 0.9em warm-grey line and a bold 0.8em link with an arrow that nudges right on hover. Hover lifts the tile slightly, stretches the band 18% higher and strengthens every glow. Reduced motion stops the breathing. Props: icon, title, children, action, href, tone {color, light, tint}. Selected variant — Amber (amber): Rim #ff7a1a with a #ffc56b hot tint and a #1d0d06 interior tint; inbox icon, 'Morning Brief'. This selection takes precedence over references to other themes or options in the general brief. Implement this selected appearance; do not add a variant picker or alternative appearances unless requested. Implementation requirements: Use React and TypeScript. Keep the component self-contained, with uniquely scoped CSS and no animation libraries. Include required imports, styles and font setup in the result. Interaction: Hover lifts the tile, raises the band of light and nudges the link's arrow. Motion: Band breathes over 6s; hover glows ease over 0.5s and the band climbs over 0.7s; the arrow nudges with a small overshoot. Accessibility: An article with a real heading, paragraph and link; the band is aria-hidden. Copy sits in the dark top half, above 7:1. Visible focus ring on the link. Reduced motion stops the breathing. Responsive behavior: 19em square that shrinks to its container while staying square; meant for a row of three. Touch: No hover on touch; the band keeps breathing. Preserve keyboard access, visible focus and reduced-motion behavior. Keep fictional demo data and simulated service calls in a separate usage example; expose callbacks for real actions and recover from rejected requests. Keep usage-example links inside the demo: use local buttons or prevent navigation. Demonstration links must not navigate to Vitrine routes or open other pages; preserve real URL support in the reusable component itself. Verify the result at narrow and wide viewport sizes, with keyboard input and reduced motion enabled.

Notes

Interaction
Hover lifts the tile, raises the band of light and nudges the link's arrow.
Motion
Band breathes over 6s; hover glows ease over 0.5s and the band climbs over 0.7s; the arrow nudges with a small overshoot.
Accessibility
An article with a real heading, paragraph and link; the band is aria-hidden. Copy sits in the dark top half, above 7:1. Visible focus ring on the link. Reduced motion stops the breathing.
Responsive
19em square that shrinks to its container while staying square; meant for a row of three.
On touch
No hover on touch; the band keeps breathing.

Featured

442 components