Skip to main content

CSS System

How id86.net is styled. This page is the authoritative inventory of every stylesheet that renders the site, where it lives, when it loads, and the rules for editing it.

Style Pipeline

The site styles in layers: GeneratePress provides the base layout theme, the id86 child theme owns all brand styling via style.css, article bodies get their own scoped stylesheet, and dark mode is applied by DarkReader JS which overrides the brand tokens at runtime.

File Inventory

StylesheetSourceLoaded onRole
style.cssthemes/id86/All pagesBrand tokens, header, hero, cards, archive, footer, search palette, subscribe bar, contact form, recommendations
css/article-content-v2.cssthemes/id86/is_single() onlyArticle body elements (H2–H4, lists, code, tables, quotes, footnotes)
css/owl.carousel.min.cssthemes/id86/Front pageStories slider
css/owl.theme.default.min.cssthemes/id86/Front pageStories slider theme
assets/css/dark-mode.cssplugins/id86-darkmode/All pagesDark-mode toggle button and icon swap
assets/css/search.cssplugins/fusejs-search/All pagesFuse.js command palette
assets/css/admonitions-v2.cssplugins/opshell-docusaurus-admonitions/Article pages:::note/tip/info/warning/danger blocks
style.css + style-index.cssplugins/code-block-pro/Article pages (block present)Shiki pre-rendered code blocks
Parent theme CSSthemes/generatepress/All pagesBase layout, typography, navigation

Server file locations

All paths are on the production host GC-US-M10 (see Server Infrastructure). The WordPress root is /home/Dmg59ZFtKg6bIws1/id86net/public_html (shortened to <WP_ROOT> below).

Child theme (themes/id86/):

<WP_ROOT>/wp-content/themes/id86/style.css
<WP_ROOT>/wp-content/themes/id86/css/article-content-v2.css
<WP_ROOT>/wp-content/themes/id86/css/owl.carousel.min.css
<WP_ROOT>/wp-content/themes/id86/css/owl.theme.default.min.css

Content plugins:

<WP_ROOT>/wp-content/plugins/id86-darkmode/assets/css/dark-mode.css
<WP_ROOT>/wp-content/plugins/fusejs-search/assets/css/search.css
<WP_ROOT>/wp-content/plugins/opshell-docusaurus-admonitions/assets/css/admonitions-v2.css
<WP_ROOT>/wp-content/plugins/code-block-pro/src/front/style.css
<WP_ROOT>/wp-content/plugins/code-block-pro/build/style-index.css

Parent theme (GeneratePress — do not edit):

<WP_ROOT>/wp-content/themes/generatepress/

Canonical dev checkout (source of truth for theme edits; deploy via deploy.sh):

/home/rezriz/github/Wordpress/wp-dev/themes/develop-internally/id86/id86-child-theme/style.css
/home/rezriz/github/Wordpress/wp-dev/themes/develop-internally/id86/id86-child-theme/css/article-content-v2.css

Resolve <WP_ROOT> on the server: echo /home/Dmg59ZFtKg6bIws1/id86net/public_html.

Brand Tokens

Defined on :root in style.css (light mode):

TokenValueUsage
--id86-navy#14326cHeadings, dark text, hover states
--id86-blue#2273bfLinks, buttons, primary actions
--id86-sky#2597d5Lighter interaction accent, focus rings
--id86-ink#0b2149Body text, deep hero gradient
--id86-mist#eef7fcLight section backgrounds (cards, subscribe bar)

All child-theme and article CSS reference these tokens via var(--id86-*). Never hard-code brand colors in new rules — use the tokens.

Dark-mode overrides

Dark mode does not use CSS media queries. The id86-darkmode plugin runs DarkReader JS, which swaps the tokens to a light-on-dark palette at runtime (dark-mode.js):

TokenLightDark
--id86-navy#14326c#8fb4e8
--id86-blue#2273bf#5aa7e8
--id86-sky#2597d5#6fc3f5
--id86-ink#0b2149#e6eef7
--id86-mist#eef7fc#16233a

The toggle persists state in localStorage (id86-dark-mode-enabled, default enabled). Because the swap rewrites the tokens, components using var(--id86-*) adapt to dark mode automatically — no per-component dark rules needed.

style.css Section Map

style.css is 1,743 lines organized in named sections:

SectionLinesContent
Header1–10Theme header block (name, version 1.19, template generatepress)
Header / Social / Breadcrumb / Main Nav Sub11–69Global header, social links, breadcrumbs, sub-navigation
Content Area / Owl Carousel70–158Content wrapper, stories slider
Archive159–264Archive grid and cards
Limited Title / Stories Slider / Pagination265–323Title truncation, slider, pagination
Comments324–428Comment list and form
Footer / Search Modal / Sidebar429–463Footer, search modal, sidebar
List Custom / Title Header / Author464–553Custom list, page titles, author blocks
Box Shadow / Popular Post554–575Shadows, popular posts
Single Post Content / Blockquote / Pre / Table576–651Single-post layout, quotes, code pre, tables
Featured Image Caption / Tag List652–678Captions, tag lists
Search Form / 404 / Limit / TOC679–742Search form, 404, TOC
Page Break / Sign Up Form743–901Page breaks, subscription form
ID86 instant documentation902–1174Hero, niche cards, reference cards, directory
ID86 brand alignment1175–1208:root tokens, links, hero, cards
Recommendations landing1209–1249Recommendations page
Opshell post meta1250–1259Updated date + read time
Search-first hero1260–1279Search as primary action above the fold
Fuse.js palette1280–1300Command palette styling
Mobile search trigger1301–1344Mobile icon-only search trigger
ID86 Subscribe Bar1345–1496Subscribe bar component
ID86 Contact Form1497–1589Contact form styling
Homepage rhythm / responsive1590–1606GP Elements homepage layout
About GenerateBlocks1607–1648About page blocks
Recommendations GenerateBlocks1649–1743Recommendation cards and reviews

Bold sections are ID86-specific additions; the rest carry over from the legacy GP Personale theme.

Article CSS Contract

css/article-content-v2.css (562 lines) styles only the single-post body, scoped to .single-post .entry-content and loaded only on is_single().

ElementRuleNotes
H2h2Navy, bottom border, clamp(1.45rem, 2.4vw, 1.9rem), scroll-margin-top: 90px
H3 / H4h3 / h4Navy, 1.3rem / 1.1rem
Inline code:not(pre) > codeLight blue chip, Courier 10 Pitch, .875em
Plain code blockpre:not(.shiki)Navy background, 4px sky left border, overflow-x: auto, language label via [data-language]::before
Code Block Pro.wp-block-kevinbatdorf-code-block-pro pre.shikiPlugin styles (Shiki) + rounded border
Copy button.id86-copy-btnAbsolute top-right; is-copied → sky background
Tables.id86-table-scroll wrapper + tableoverflow-x: auto; navy header row, white text; zebra via --id86-mist; hover row highlight
Blockquoteblockquote4px sky left border, mist background, italic
Imagesimg / figcaptionmax-width: 100%, 8px radius
Footnotes.footnotes / sup.footnote-refTop border, muted, small
Heading anchors.id86-heading-anchorInvisible until heading hover
Task checklistsul.id86-task-list / li.id86-task-itemInteractive Notion-style checkboxes; card rows, state colors, progress badge + bar, dark mode. Full contract in Task Checklists.

Mobile (max-width: 600px): tables drop to .85rem, plain code blocks to .83rem with tighter padding.

Admonition Contract

Admonitions render from the plugin stylesheet (opshell-docusaurus-admonitions/assets/css/admonitions-v2.css), not article-content-v2.css. The live style rules:

ConcernRuleNotes
Widthwidth: fit-content; max-width: 100%Natural content width; short callouts stay compact, long ones expand but never overflow the column
Typography.opshell-admonition__body { font-size: inherit }Body text inherits the article body font size
Title.opshell-admonition__titleUses the per-type accent color, 700, margin-bottom: 0.45rem
Paragraphs.opshell-admonition__body p { margin: 0 0 0.35em }Tight spacing; :last-child { margin-bottom: 0 } removes trailing gap
Padding / margin10px 14px 8px 16px / margin: 0.5rem 0Compact desktop footprint; mobile 8px 12px 6px
Accent rail4px left border + badgePer-type accent colors: note #6b7c93, tip #2f9e44, info #0d9488, warning #b7791f, danger #c92a2a
Dark mode@media (prefers-color-scheme: dark)Dark surface, color-mix border, white title — independent of the DarkReader token swap

The visual system is anchored to the brand tokens (navy/blue/sky) so callouts match the rest of the article body.

Enqueue Rules

All enqueueing happens in the child theme functions.php:

  • owl-style + owl-theme-style — front page (priority action).
  • fusejs-search CSS + fusejs CDN + id86-fusejs-global JS — all pages (priority 20).
  • id86-article-content CSS + JS — only is_single() (priority 30).
  • Dark mode CSS/JS — plugin enqueues itself on all pages.
  • Code Block Pro — auto-enqueues style-index.css when a block is present.

Editing Rules

  • Make site-specific changes in the child theme, never in GeneratePress parent files.
  • Use var(--id86-*) tokens; do not hard-code brand colors.
  • Article body styles belong in css/article-content-v2.css (scoped to .single-post .entry-content).
  • Component styles that are not article-body-specific belong in style.css under a named section comment.
  • After any CSS change, re-run the theme deploy (./deploy.sh from the canonical dev checkout) and re-sync/inspect the demo/styling-sample.md post.
  • The canonical dev checkout is id86-child-theme (see Child Theme); production lives at wp-content/themes/id86.