Neumorphism
Toggle Switches
Three neumorphic toggle switches auto-cycle on/off with a smooth ochre-accented thumb slide and inset shadow track.
csslight complexitysubtle motion
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Settings panels or preference UIs where a neumorphic soft-UI aesthetic is desired.
When not to
Production interactive controls — remove auto-cycle and wire click handlers before shipping. Avoid on dark backgrounds; colors are hardcoded to light gray.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change the accent color from #A68D3F to #00c896 and slow the cycle interval from 1400ms to 2200ms by updating setInterval(tick, 1400). Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- accent color (#A68D3F)
- cycle interval (1400ms in setInterval)
- switch labels (WIFI/BT/VPN)
- track/panel background (#e0e5ec)
- thumb travel distance (translateX(28px))
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- IIFE wrapper
- prefers-reduced-motion guard
- visibilitychange pause/play
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- Auto-cycles by default — add click handlers and remove setInterval for production use
- Background color hardcoded to light gray; does not support dark mode
More Neumorphism components
- Progress TrackNeumorphic inset progress track fills 0→100% via a slate-to-olive gradient fill, cycling with a percentage counter. Resets and loops automatically.
- Volume KnobA neumorphic volume knob with 24 tick marks auto-rotates back and forth over 6 seconds, its gradient marker sweeping the full 360 degrees.
- Stat CardsFour neumorphic stat cards (temp, humidity, power, signal) cycle through live-updating values one at a time, each card pulsing its shadow on update.
- Ring GaugeSVG ring gauge fills with a sage-to-slate gradient arc over 4 seconds, counting a numeric percentage; resets and loops continuously.