SPB Git

spb/autoscholar

Public
4.5 KB · 39 lines markdown
1# AutoScholar.ai design system (redesign, 2026-10-30)23## Audit of the previous UI (evidence: `tests/e2e/screenshots/redesign/before/*`)4- Mobile header used two rows (logo + Research button + theme toggle, then a scrolling secondary nav) and consumed ~110 px before content.5- 19 px horizontal overflow on every page at 768 px (container padding + `max-w-6xl` grid gaps); the mobile hero headline (~3 rem) and a 5-line lede dominated the first screen.6- `/research` stacked ten form fields vertically before the first result (results below the fold on every phone).7- `/methodology` listed eleven identical heading/paragraph blocks; `/about` was a serif essay with no structure.8- The paper page used a native `<object>` PDF embed (no navigation, no mobile fallback beyond a link), `details` for provenance, and small-text metadata.9- Admin: dense but unstructured on mobile; tables overflowed inside cards.1011## Direction12A digital research institute: academic credibility (serif titles, numbered references, verified-status badges), editorial sophistication (distinct compositions per page, hairline rules, measured whitespace) and product craftsmanship (compact controls, 44 px touch targets, skeletons, subtle motion).1314## Typography15- Serif **Newsreader** (static 400/500 + italics) — display, titles, paper prose. Interface sans **Geist**; mono **Geist Mono** for identifiers, hashes, execution data. All self-hosted through `next/font` (CSP `font-src 'self'`).16- Scale (CSS `clamp`): `.display` 2.125→4.25 rem, `.title-1` 1.75→2.75, `.title-2` 1.375→1.875, `.title-3` 1.125→1.3, `.lede` 1→1.19 rem; body 16 px / 1.55; `.prose-paper` 1→1.125 rem / 1.65; `.prose-editorial` with a drop cap for abstracts.17- Labels: `.eyebrow` (11 px, 0.16 em tracking, accent) and `.label` (11 px, subtle).1819## Colour20Tokens in `apps/web/src/app/globals.css` (`@theme` + `:root`/`.dark`): graphite ink (`#16150f`…`#0d0d0a`), warm ivory (`#fcfbf7`, `#f6f3eb`, `#ece7da`), stone neutrals, **oxide** accent (`#a84a25`, evolved terracotta) and **cobalt** scientific secondary (`#2f5fb3`) for visualizations and pipeline markers. Semantic ok/warn/danger/info. Dark theme is tuned separately (warmer ink surfaces, lifted accents `#d8784d` / `#7ea3e6`), not inverted. `--fg-subtle` meets 4.5:1 on both themes (axe-verified).2122## Layout23`.container-x` (max 80 rem, safe-area-aware padding), `.container-narrow` (48 rem), `.container-reading` (42 rem), `.section` / `.section-tight` vertical rhythm, 12-column grids for editorial pages, `.rule`, `.rule-ornament`. Grid/flex children get `min-width: 0` so long identifiers never widen the viewport; `html, body { overflow-x: clip }`.2425## Surfaces & controls26`.surface` (elevated card, shadow-1), `.surface-flat`, `.surface-muted`, `.surface-ink` (MacLustr section), `.card-link` (hover lift, hover-only), `.btn` / `.btn-primary` / `.btn-ghost` / `.btn-sm` / `.btn-icon` (≥ 44 px on coarse pointers), `.input` (16 px on iOS to avoid zoom), `.chip` / `.chip-active`, `.badge` / `.badge-accent` / `.badge-sci`, `.kbd`, `.mono-id`, `.table` + `.table-wrap`, `.skeleton`.2728## Navigation29`site-header` (sticky, blur, scroll shadow, safe-area top padding): wordmark · desktop nav (≥ lg) · header search (≥ md) · search icon (mobile) · theme toggle · drawer button (< lg). Drawer: `role=dialog`, focus trap, Escape, body scroll lock, closes on navigation. Admin uses the same pattern (`AdminNav`).3031## Motion32`rise-in` (transform only, 480 ms) for cards, `slide-in-right`/`slide-in-up` for drawer and sheet, `shimmer` for skeletons, pulse on live status dots. Everything collapses to ~0 ms under `prefers-reduced-motion`.3334## Components (`apps/web/src/components`)35ResearchPaperCard/PaperCard (card · row · featured), FeaturedPaper, DisciplineExplorer, ResearchPipeline (+ PipelineStrip, STAGE_DOCS), ResearchStatusBadge/StatusBadge, ScientificFigure, PaperReader (pdf.js: paging, zoom-to-width, full-screen, keyboard, download, loading/error/fallback), PublicationMetadata, CitationPanel, ResearchProvenance, MacLustrInfrastructure (+ ClusterMotif), EmptyResearchState, LibraryFilters (search row, ActiveFilters chips, FilterSidebar, mobile bottom sheet), SectionHeading, MathText (KaTeX, server-rendered; display math scrolls horizontally), Icons, SiteHeader/HeaderChrome, SiteFooter, ThemeToggle.3637## Mobile rules38`viewport-fit=cover`; `env(safe-area-inset-*)` on header, drawer, sheet, footer, mobile action bar; `dvh` for full-height regions; no fixed widths; `.mobile-bar` on the paper page keeps Read/PDF reachable above the iOS toolbar.39
Files · 383b4a7db112f0b500b62b8954ec83d297cd5313
Menu

Theme