Skip to main content
Design SystemCSS Files & Contracts

CSS Files & Contracts

The full CSS surface area: global stylesheets, the module-CSS inventory grouped by area, and the TypeScript class-name contract files.

The complete CSS surface area of BuilderStudio-main: the global stylesheets, the component-scoped *.module.css inventory grouped by area, and the TypeScript files that own CSS class names as typed constants.

  • 9
    Global stylesheets
  • 177
    Module CSS files
  • 27,221
    Module CSS lines
  • 6
    TS class contracts

Global stylesheets

Loaded app-wide (or per-layout). These hold tokens, resets, shared utilities, and cross-cutting runtime rules.

FileLinesRole
app/globals.css120Root entry — imported by app/layout.tsx; reset, base elements, a11y
styles/tokens.css235Design tokens (:root custom properties) — imported first
styles/utilities.css40Global a11y/layout utilities (.bs-sr-only, .bs-skip-link)
styles/dashboard-form-primitives.css218Shared form controls (consumed via formStyles.ts)
styles/route-state-primitives.css116Route error/empty/retry states (via stateActionClasses.ts)
styles/animations.css63Shared @keyframes + .animate-* classes
styles/dashboard-shell.css764Dashboard shell classes (via styleConstants.ts); imported by (protected)/layout
styles/canvas-layers.css60Canvas viewport layer classes; imported by canvas/layout
styles/canvas.css113Canvas global interaction rules; imported by canvas/layout

Module CSS by area

177 *.module.css files totalling 27,221 lines, grouped by their top-level source area (bar width ∝ line count).

  • components/canvas
    72 files · 12,323 lines
  • components/dashboard
    45 files · 8,041 lines
  • app/(public)
    19 files · 2,119 lines
  • components/public
    13 files · 1,176 lines
  • components/ui
    10 files · 1,008 lines
  • components/landing
    6 files · 830 lines
  • app/(protected)
    5 files · 637 lines
  • lib/theme
    1 files · 590 lines
  • components/brand
    4 files · 324 lines
  • components/workspace
    1 files · 139 lines
  • components/ErrorBoundary.module.css
    1 files · 34 lines

TypeScript class contracts

These files own CSS class names (and a few CSS-variable names) as exported constants. Components reference the constants instead of raw strings, so a class can't silently drift from the stylesheet that defines it.

FileExportsBacksPurpose
lib/dashboard/styleConstants.ts63styles/dashboard-shell.cssDashboard shell class-name constants
components/ui/formStyles.ts11styles/dashboard-form-primitives.cssForm control class-name constants
components/ui/stateActionClasses.ts6styles/route-state-primitives.cssRoute-state class-name constants
lib/canvas/interactionMarkers.ts37styles/canvas.css + canvas-layers.cssCanvas interaction marker class/attr names
lib/canvas/uiSurfaces.ts2styles/canvas.cssPortaled canvas surface markers
lib/pan-zoom/viewportTransform.ts6tokens / inline varsViewport CSS-var names (zoom-reactive)

Full module inventory

All 177 module stylesheets, by path.

FileLines
app/(protected)/canvas/[canvasId]/_shared/CanvasErrorFallback.module.css9
app/(protected)/canvas/[canvasId]/_shared/CanvasRouteLoadingShell.module.css8
app/(protected)/dashboard/DashboardOverviewPageClient.module.css508
app/(protected)/dashboard/dev/node-sync-metrics/NodeSyncMetricsDevClient.module.css106
app/(protected)/protectedLayout.module.css6
app/(public)/alpha/AlphaPage.module.css184
app/(public)/consent/ConsentClient.module.css299
app/(public)/consent/consentLoading.module.css91
app/(public)/contact/ContactForm.module.css74
app/(public)/contact/ContactPage.module.css75
app/(public)/dev/create-mcp-key/CreateMcpKeyClient.module.css156
app/(public)/dev/multiplayer/DevMultiplayerContent.module.css124
app/(public)/invite/[token]/InvitePage.module.css71
app/(public)/publicAppShell.module.css10
app/(public)/publicTaskShellContent.module.css9
app/(public)/reset-password/ResetPasswordClient.module.css137
app/(public)/signin/AuthenticatedSignInRedirect.module.css137
app/(public)/signin/DevAuthPanel.module.css63
app/(public)/signin/SignInClient.module.css214
app/(public)/signin/signinLoading.module.css121
app/(public)/signin/signinPage.module.css16
app/(public)/signin/SignInShowcasePanel.module.css233
app/(public)/signout/signout.module.css36
app/(public)/taskLightLoadingSkeleton.module.css69
components/brand/BuilderLogoGradientSequence.module.css141
components/brand/CompactLogo.module.css9
components/brand/CreditsLogoIcon.module.css4
components/brand/GlassyButton/GlassyButton.module.css170
components/canvas/banners/CanvasBanners.module.css179
components/canvas/core/CanvasLayersFallback.module.css58
components/canvas/core/FlowCanvas.module.css31
components/canvas/edges/EdgePath.module.css25
components/canvas/edges/EdgeRenderer.module.css25
components/canvas/loading/CanvasLoadingGate.module.css12
components/canvas/loading/CanvasLoadingScreen.module.css233
components/canvas/loading/LoadingGateOverlay.module.css19
components/canvas/nodes/AudioNode/AudioNode.module.css467
components/canvas/nodes/base/AssetDimensions/AssetDimensions.module.css92
components/canvas/nodes/base/badge-position.module.css34
components/canvas/nodes/base/CancelButton/CancelButton.module.css57
components/canvas/nodes/base/ErrorBadge/ErrorBadge.module.css58
components/canvas/nodes/base/GenerateButton/GenerateButton.module.css62
components/canvas/nodes/base/GenerationStatusContent/GenerationStatusContent.module.css91
components/canvas/nodes/base/ModelParamsEditor/ModelParamsEditor.module.css134
components/canvas/nodes/base/NodeAssetLabel/NodeAssetLabel.module.css87
components/canvas/nodes/base/NodeConnectionStatus/NodeConnectionStatus.module.css31
components/canvas/nodes/base/NodeDragHeader/NodeDragHeader.module.css29
components/canvas/nodes/base/NodeFallbackShell/NodeFallbackShell.module.css110
components/canvas/nodes/base/NodeFooter/NodeFooter.module.css26
components/canvas/nodes/base/NodeHandles/NodeHandles.module.css230
components/canvas/nodes/base/NodeHeader/NodeHeader.module.css56
components/canvas/nodes/base/NodeLightbox/NodeLightbox.module.css224
components/canvas/nodes/base/NodeMediaSyncBadge/NodeMediaSyncBadge.module.css118
components/canvas/nodes/base/NodeSelect/NodeSelect.module.css43
components/canvas/nodes/base/NodeShell/NodeShell.module.css114
components/canvas/nodes/base/NodeTypeLabel/NodeTypeLabel.module.css39
components/canvas/nodes/base/PromptInput/DictationToggleButton.module.css93
components/canvas/nodes/base/PromptInput/PromptInput.module.css282
components/canvas/nodes/base/properties/properties.module.css214
components/canvas/nodes/base/ResizeHandle/ResizeHandle.module.css49
components/canvas/nodes/base/ResponseTextDisplay/ResponseTextDisplay.module.css76
components/canvas/nodes/CodeNode/CodeNode.module.css233
components/canvas/nodes/DocumentNode/DocumentNode.module.css370
components/canvas/nodes/EasyConnectNode/EasyConnectNode.module.css49
components/canvas/nodes/ElevenLabsSpeechNode/ElevenLabsSpeechNode.module.css171
components/canvas/nodes/GenerateImageNode/GenerateImageNode.module.css12
components/canvas/nodes/GenerateSfxNode/GenerateSfxNode.module.css199
components/canvas/nodes/GenerateVideoNode/GenerateVideoNode.module.css12
components/canvas/nodes/ImageNode/ImageNode.module.css306
components/canvas/nodes/PromptNode/PromptNode.module.css46
components/canvas/nodes/recipes/chrome/MinimalNodeFrame.module.css32
components/canvas/nodes/recipes/chrome/PrimitiveObjectFrame.module.css25
components/canvas/nodes/recipes/generation/audioGenerationPlayer.module.css116
components/canvas/nodes/recipes/generation/VisualGenerationPreview.module.css112
components/canvas/nodes/recipes/media/image/ImageCropOverlay.module.css95
components/canvas/nodes/recipes/media/MediaUploadSurface.module.css121
components/canvas/nodes/recipes/media/showcase/EditorialMediaFrame.module.css263
components/canvas/nodes/recipes/triggers/TriggerNodeShared.module.css156
components/canvas/nodes/ShapeNode/ShapeNode.module.css14
components/canvas/nodes/TextGenNode/TextGenNode.module.css89
components/canvas/nodes/TextNode/TextNode.module.css32
components/canvas/nodes/VideoNode/VideoNode.module.css613
components/canvas/nodes/WebhookCallNode/WebhookCallNode.module.css207
components/canvas/nodes/WebhookTriggerNode/WebhookTriggerNode.module.css131
components/canvas/overlays/CanvasFloatingToolbar.module.css867
components/canvas/overlays/CanvasImageCropOverlay.module.css45
components/canvas/overlays/CanvasOverlays.module.css338
components/canvas/overlays/CanvasPerfBadge.module.css43
components/canvas/overlays/CanvasPrecisionDemoOverlay.module.css136
components/canvas/overlays/CanvasPromptHud.module.css260
components/canvas/overlays/CanvasShapeResizeOverlay.module.css85
components/canvas/overlays/paint/CanvasPaintOverlay.module.css26
components/canvas/overlays/SyncStatus.module.css43
components/canvas/overlays/ZoomControls/TabbedColorPicker.module.css183
components/canvas/overlays/ZoomControls/ZoomControls.module.css801
components/canvas/sidebars/CanvasAssetsList.module.css812
components/canvas/sidebars/CanvasGitHubSourcesPanel.module.css478
components/canvas/sidebars/CanvasInsertSheet.module.css322
components/canvas/sidebars/CanvasSidebarSheet.module.css620
components/canvas/sidebars/CanvasVoicesPanel.module.css462
components/dashboard/account-security/accountSecurity.module.css347
components/dashboard/activity/DashboardFeed.module.css98
components/dashboard/activity/FeedItemCard.module.css190
components/dashboard/activity/FeedSettingsPopover.module.css95
components/dashboard/analytics/AnalyticsBreakdownList.module.css18
components/dashboard/analytics/AnalyticsSkeleton.module.css82
components/dashboard/analytics/BreakdownSkeletonRows.module.css39
components/dashboard/analytics/HorizontalBar.module.css52
components/dashboard/analytics/RecentFailureCard.module.css113
components/dashboard/analytics/RecentFailuresSection.module.css41
components/dashboard/analytics/RunsOverTimeChart.module.css193
components/dashboard/analytics/StatCard.module.css32
components/dashboard/analytics/TopCallersTable.module.css183
components/dashboard/analytics/UpgradePrompt.module.css83
components/dashboard/analytics/WorkspaceAnalyticsPanel.module.css217
components/dashboard/DashboardEntryLoadingScreen.module.css133
components/dashboard/DashboardLayout.module.css164
components/dashboard/DashboardMobileSidebar.module.css80
components/dashboard/DashboardSidebar/CreditsSection.module.css162
components/dashboard/DashboardSidebar/DashboardSidebar.module.css104
components/dashboard/DashboardSidebar/NewWorkspaceForm.module.css148
components/dashboard/DashboardSidebar/SidebarNav.module.css10
components/dashboard/DashboardSidebar/sidebarShared.module.css93
components/dashboard/DashboardSidebar/SidebarWorkspaceSection.module.css93
components/dashboard/DashboardSidebar/UserSection.module.css114
components/dashboard/DashboardSidebar/WorkspaceList.module.css94
components/dashboard/DashboardSkeletonPrimitives.module.css110
components/dashboard/integrations/elevenlabs/voiceLibraryUi.module.css465
components/dashboard/integrations/VendorAssetGroup.module.css130
components/dashboard/integrations/VendorAssetList.module.css207
components/dashboard/integrations/VendorAssetRegisterForm.module.css65
components/dashboard/integrations/VendorAssetsSection.module.css6
components/dashboard/overview/CanvasCard.module.css421
components/dashboard/overview/CanvasListRow.module.css229
components/dashboard/overview/CanvasPreview.module.css13
components/dashboard/overview/DashboardGlassDemoCard.module.css151
components/dashboard/overview/DashboardSortControls.module.css71
components/dashboard/overview/NewCanvasCard.module.css84
components/dashboard/overview/WorkspaceOverviewPanel.module.css12
components/dashboard/workspace-settings/Calendar.module.css131
components/dashboard/workspace-settings/DatePicker.module.css64
components/dashboard/workspace-settings/KeyTable.module.css369
components/dashboard/workspace-settings/workspaceSettingsBilling.module.css528
components/dashboard/workspace-settings/workspaceSettingsUi.module.css1870
components/dashboard/workspace/WorkspacePage.module.css137
components/ErrorBoundary.module.css34
components/landing/FaqSection.module.css210
components/landing/Hero.module.css235
components/landing/LandingConnectorSection.module.css93
components/landing/LandingCursorAwareSection.module.css140
components/landing/LandingHeroImageSection.module.css45
components/landing/LandingLogoReveal.module.css107
components/public/AskAiLogoLinks.module.css42
components/public/Footer.module.css274
components/public/legal/LegalDocument.module.css121
components/public/legal/LegalPageLayout.module.css79
components/public/MobileNavPanel.module.css96
components/public/Navbar.module.css213
components/public/PublicAuthShell.module.css106
components/public/PublicShellBrand.module.css25
components/public/publicShellPrimitives.module.css65
components/public/PublicSiteShell.module.css10
components/public/PublicTaskImageCard.module.css30
components/public/PublicTaskShell.module.css99
components/public/TaskShellLegalFooter.module.css16
components/ui/ConvexDeployFallback.module.css70
components/ui/layout/AppShell.module.css13
components/ui/primitives/ConfirmPopover.module.css312
components/ui/primitives/PrimitivesShared.module.css28
components/ui/primitives/Select.module.css215
components/ui/primitives/ShimmerText.module.css75
components/ui/primitives/Toast.module.css103
components/ui/primitives/Tooltip.module.css148
components/ui/RouteErrorBody.module.css40
components/ui/RouteErrorShell.module.css4
components/workspace/InviteMembersForm.module.css139
lib/theme/authSurfaces.module.css590

Was this page helpful?