Design for Arivu
This page lists what the Arivu web UI implements in src/styles/global.css, layouts under src/layouts/, and related components.
Typography
- Font stack:
Verdana, Geneva, sans-seriffor UI and article text (--sansand--serifin CSS both use this stack). - Root:
htmlusesfont-size: 12px;bodyusesfont-size: 1.083333rem(about 13px) andline-height: 1.5. - Headings: Doc titles use the serif token (same Verdana stack) with larger size and bold weight per page templates.
- Code:
--monois system monospace; code blocks use--code-bg(#f3f1ea) and--code-border(#e3dfd3). - Pronunciation: Inline control for “Ah-Ree-Voo” uses italic, muted color, dotted underline (
--faint). Click opens a popover with copy fromsite-copy.ts. Positioning for the popover is set inpublic/scripts/pronunciation-popover.js(beside the trigger, same line when there is space).
Color (CSS)
Implemented tokens on :root:
| Token | Value | Use |
|---|---|---|
--fg | #000000 | Body text |
--muted | #464646 | Secondary text |
--faint | #a0a0a0 | Borders, hints |
--bg / --panel | #ffffff | Page and panels |
--link | #000099 | Default links |
--link-hover | #0000cc | Link hover |
--rule | #e7e5df | Dividers |
--accent | #8a1f1f | Accent (e.g. login screen emphasis) |
--code-bg / --code-border | see above | Code blocks |
::selection uses background #fff1a8 with foreground --fg.
Layout
- Shell: Flex column; max width about
60remfor the outer layout; article content max--max-content(38rem). - Sidebar: Sticky at top; brand row, section select, category links, logout. On narrow viewports the listing hero block in the main column is hidden where CSS duplicates that context (
listing-herohidden under 899px). - Spacing: Padding and gaps use
remplusenv(safe-area-inset-*)on the layout container.
Screens and components
- BaseLayout: Sidebar plus main content; optional breadcrumbs, back link, copy-markdown control; client auth guard script when enabled.
- AuthShell: Full-height auth wrapper for login and similar pages (no doc sidebar).
- Login page: Card with glass-style panel, fixed full-viewport background gradients, primary Google button, legal footer text.
- Sidebar logout: Buttons with
data-arivu-logoutcall the shared logout helper.
Motion and focus
- Hover and focus transitions on interactive elements use short durations (CSS
transitionon buttons and links). --tapis44pxminimum touch target where applied.:focus-visibleon links usesoutline: 2px solid var(--link)and offset2px.