Tokens
- --nv-color-glow role (light and dark) and a glow scale: --nv-glow-sm/md/lg,
--nv-glow-blur-*, --nv-glow-spread-*, --nv-glow-strength
- --nv-stagger (0ms under reduced motion) and --nv-duration-shimmer
Components
- Card: --lit (lit top edge in --nv-card-tint), --glow, --spotlight
(light follows the pointer); light layers combine with every elevation
- Tile: small raised key for a glyph or product mark; --solid, --glow, sizes
- Avatar: raised disc with --ring / --glow, sizes, __status, avatar group
- Stat: readings set into one recessed well (.nv-stat-group)
- Steps: markers set into a rail; done steps light their stretch; vertical
- Deck: one surface in front of stacked layers of its kind
- Skeleton: recessed placeholder with a slow sweep, still under reduced motion
- Text: .nv-text-lit and .nv-text-lit--accent
Continuity
- .nv-reveal / .nv-reveal-group: content arrives once as it scrolls into view
(nv-arrive keyframe); niveus.js marks pending state, so nothing is hidden
without the script or under reduced motion
- niveus.js tracks the pointer for .nv-card--spotlight
README and REFERENCE document every new class, token and attribute;
tools/check.py passes and dist/ is rebuilt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fonts/static/ holds Instrument Sans (with italics) and JetBrains Mono at
400, 500, 600 and 700 as plain TrueType files. The stylesheet keeps using
the variable woff2 files; native toolkits and font configurations often
register a variable font as a single Regular style, and pick weights by
name rather than by axis.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bevelled controls with light falling across them, fields as wells, solid
windows, and glass kept for the chrome that floats over everything else.
Warm graphite in dark, soft paper in light, one brand color driving both.
Ships its own fonts (Instrument Sans, JetBrains Mono; OFL).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>