Style system 2 (S2) was designed from the ground up to allow a much-increased level of flexibility when customising your journal. Because of this, the structure of a custom style in S2 is different from that of S1.
S2 styles are composed of "layers". Each layer in a S2 style deals with a different aspect of the style, ranging from color to translation to HTML options and settings. A complete S2 style is the result of putting its different layers together for use.
For a basic list of definitions that are used in S2, you can see http://www.livejournal.com/doc/s2/quickstart.intro.html#quickstart.intro.terms.
To become familiar with the various layers available to you in S2, go to the Advanced Customization area (http://www.livejournal.com/customize/advanced/) and click on "Public Layers". You will be presented with a page that lists all of the available system layers, starting with the Core Layer.
The Core Layer is the center of S2. This layer defines all of the most commonly used data types (such as integer, string and boolean variables), properties (colors, text and presentation options), classes (pages, journal views, entries, comments) and functions. All other layers inherit the functionality of the Core Layer.
The next layer is the Core Internationalization Layer. This type of layer defines how text properties and date/time formats, among other things in the Core Layer, would be displayed in a different language.
A Layout Layer combines the functionality from the Core Layer and the relevant Core Internationalization Layer to create the pages people see when they visit your journal. (If you've previously created custom styles in S1, this concept will be familiar to you, though the execution has changed.) A single Layout Layer controls all of the views of your journal: the Recent Entries view, the Friends view, the Calendar view, the Day view, the Month view, and your individual comment pages.
You can define a custom set of properties in your Layout Layers, which can then be configured at S2's basic Customize area (http://www.livejournal.com/customize/). Because of this, once your Layout Layer is done, you may never have to change it again -- you can change your customizations by altering your Theme Layers and your User Layers.
Each Layout Layer can have up to three different types of child layers. (For an example, click on any of the "children..." links on the Public Layers page.)
A Layout Internationalization Layer performs many of the same functions as the Core Internationalization Layer, but it is specific to your personal Layout Layer. This is useful if you want to make your Layout available in different languages to other users. If your Layout Layer has an Internationalization Layer beneath it which converts everything to German, for example, then users who have selected German as their preferred language on http://www.livejournal.com/manage/siteopts.bml will see your navigation links, custom text etc in German, without any additional configuration on their part.
A Theme Layer is used to override color, image, font and sound properties provided in the Layout Layer. For users familiar with S1, the Theme Layer offers a greater level of configurability than existing S1 Color Themes. Any defined Theme Layer "children" can be chosen from within the Customize area.
The final type of Layer is known as the User Layer. This is the layer in which all Layout-specific options, configured via the Customize area, are saved. A layer of this type will automatically be created for the user upon saving their Individual Customizations.
A more detailed explanation of the different layer types and what each type can do can be found at http://www.livejournal.com/doc/s2/layers.html. Information on how to create a custom S2 style can be found at http://www.livejournal.com/support/faqbrowse.bml?faqid=177.