Purpose: Transform the current "generic AI / generic dashboard" aesthetic into a precise, industrial-grade, and memorable interface for bio-engineers using the Adaptyv Foundry. Tone: Refined Utilitarian / Technical Clean. Key Tenets:
- Typography: Abandon overused fonts like Inter/Roboto. Adopt a sharp, technical typography scale. We will use a geometric sans-serif for headings (e.g., Suisse Int'l or Geist) and a monospace font (e.g., JetBrains Mono or Fira Code) for biological data (sequences, target names, metrics).
- Color Theming (Adaptyv Brand):
- Primary Action: Technical Cyan/Blue
#0099ff(extracted from brand assets). - Backgrounds: Stark white
#ffffffwith subtle gray structural panels#f3f3f3. (Note: Recentmainchanges toprotein-viewer.tsxhave already established this white/blue pattern—we will expand this globally). - Text & Borders: Deep charcoal
#222222to#333333for primary text. Crisp#eeeeeeor#ccccccfor borders. - Accents: Yellow/Orange
#FFBB00for controls/highlights, Purple#8855fffor secondary conceptual targets.
- Primary Action: Technical Cyan/Blue
- Motion: Precise and snappy. No slow, floaty fades. Interactions should feel like scientific instruments—immediate feedback, 100ms sharp transitions.
- Composition & Texture: Zero diffuse "AI" drop shadows. We will rely on sharp 1px borders and ample, structured negative space to delineate hierarchy.
- Action: Clear out generic Tailwind/shadcn variable defaults.
- Implementation:
- Define strictly controlled CSS variables for colors, spacing, and typography.
- Remove all
.darkmode generic purple/slate palettes. If dark mode is needed, use pure black#000000and high-contrast grayscale. - Implement a structural baseline:
* { border-radius: 2px !important; box-shadow: none !important; }(or handle gracefully in config).
- Action: Align theme output with Adaptyv colors and remove generic rounded corners and shadows.
- Implementation:
- Map
primaryto#0099ff. - Disable default
boxShadowscale, replacing with sharp structural shadows (e.g.,1px 1px 0px rgba(0,0,0,0.1)if needed, or strictly borders). - Override
fontFamilyto use the chosen technical/monospace stacks.
- Map
- Current State: Likely uses generic rounded corners (
rounded-md), floaty hovers, and standard muted colors. - New Implementation:
- Shape: Sharp corners (
rounded-smorrounded-none). - Colors: Vibrant primary
#0099ffwith white text. - Hover: Immediate background darken or a sharp outline shift. No soft opacity transitions.
- Code: Adjust
cvavariants to reflect strict, high-contrast states.
- Shape: Sharp corners (
- Current State: Probably uses
shadow-smand thick, soft borders. - New Implementation:
- Strip
shadow-*utility entirely. - Rely exclusively on stark
border border-[#eeeeee]orborder-zinc-200. - Ensure uniform internal padding (
p-6or tighterp-4for high-density scientific data).
- Strip
- Current State: Soft focus rings (
ring-ring,ring-offset-2). - New Implementation:
- Remove
ring-offset. - On focus, apply a crisp, hard 1px border of
#0099ff(focus:border-primary focus:ring-0). - Backgrounds for inactive inputs should be pure white or
#f3f3f3.
- Remove
- Current State: Generic pill shapes.
- New Implementation:
- Monospace font for technical metadata (e.g.,
148 AA,P00533). - Sharp corners, distinct background colors (e.g., pale blue
#0099ffat 10% opacity with solid#0099fftext for active filters).
- Monospace font for technical metadata (e.g.,
- Action: Create the fixed, industrial dashboard layout shown in the reference.
- Implementation:
- Sidebar: Fixed width (e.g.,
w-64), stark white background, right borderborder-r border-[#eeeeee]. - Logo placement at top left with precise spacing.
- Navigation links: Active states should use the primary
#0099ffcolor with a left-aligned bold accent bar, replacing generic soft background highlights.
- Sidebar: Fixed width (e.g.,
- Action: Polish typography and timeline nodes to match the new strict UI variables.
- Implementation:
- Recent changes in
mainhave already simplified this component by removing the bounding boxes, play/pause controls, and relying on pure negative space for the timeline. - We will simply ensure the text uses the new fonts (especially any experiment codes or timestamps being monospaced) and update timeline marker rings/backgrounds to use the sharp
#0099ffprimary color when active.
- Recent changes in
- Action: Ensure UI overlays match the new typography.
- Implementation:
- Recent changes in
mainhave successfully aligned the 3D model with our color scheme (pure white background#ffffff, blue tones for the molecule and surface). - We just need to review the source labels (e.g., "PDB") to make sure they use the new sharp monospace fonts and have a 0px border radius.
- Recent changes in
- Action: Redesign the Binding Affinity scatter plot and the summary data table to match the clean scientific aesthetic.
- Implementation:
- Chart: Use hard grid lines (
#eeeeee), remove background fills. Scatter plot points in cyan (#0099ff). Control line in yellow (#FFBB00) with a dashed stroke. - Data Table:
- Row borders should be 1px solid
#f3f3f3. - Column headers in small, uppercase, tracked-out font (
text-xs font-semibold tracking-wider text-[#666666]). - Values that are biological data (e.g., sequence IDs
nano2_4_...) strictly in monospace. - Status pills ("Strong", "High") with sharp corners, specific technical colors.
- Row borders should be 1px solid
- Chart: Use hard grid lines (
- Action: Tighten the layout for data entry.
- Implementation:
- Use grid layouts to align input fields structurally.
- Labels must be bold, concise, and closely tied to their inputs.
- Fonts & Variables: Update
globals.cssand font imports inlayout.tsxto inject the technical typography and CSS variables. - UI Primitives: Methodically update the
components/ui/directory starting withbutton,card,badge, andinput. - Layout & Nav: Refactor
layout.tsxandnav.tsxto lock in the industrial sidebar and header structures. - Data Presentation: Overhaul
results-viewer.tsxandtarget-catalogto enforce the monospace data display and sharp tabular borders. - Review Integration: Review
lifecycle-viewer.tsxandprotein-viewer.tsxto ensure their text labels and timeline markers inherit the updated global tokens. - Final Polish: Audit the interface to ensure no "slop" (diffuse shadows, generic purples, overly rounded corners) remains. All transitions must be 100ms or removed.
End of Plan