[idea:class-reference]reference2026-08-20

HTML class reference

You can also style more granularly with your own CSS using the classes below. A trailing * below stands for a family whose members are named in the description.

ClassWhat it is
.idea-boxAn idea’s own block where it was written, carrying the left rule and the padding every rookery block nested inside it measures from.
.idea-head, .idea-tabThe heading group, and the short top rule the name straddles at the card’s corner.
.idea, .idea-titleThe idea’s heading element—which carries the anchor an @idea:etal fragment resolves to—and the title text inside it.
.idea-label, .idea-dateThe [idea:etal] permalink and the date beside it, in a heading, a window summary or prose, wherever either is shown.
.idea-tag, .idea-tag-<tag>A tag pill in the hat, and one extra class per tag the idea carries. The second reaches every surface that names the tag—the idea’s heading, its box, its outline row, its pill, and a search result’s chip, which JavaScript builds in the browser—so a single rule of your own styles a tag everywhere it shows up.
.idea-refAn @idea:other reference in prose. See referencing ideas.
.idea-windowA transclusion, wearing the same rule and indent as .idea-box; the second class .idea-window-plain opts a bare #idea-body out of that box.
.idea-window-*The fold: -details the <details>, -summary the row you click, -title the name in that row, -body what folds away under it. The date beside the title is .idea-date, the same class it wears in a heading.
.idea-window-more*The second fold a limit: makes inside the body: .idea-window-more its <details>, -more-summary the shown blocks you click to see the rest, and .idea-window-ellipsis the … at the end of them.
.idea-outline*A page’s outline: .idea-outline the list at each level of nesting, -title its “Contents” label, -row one row per idea.
.idea-footnote*An idea’s own footnotes, carried on every surface it appears on: .idea-footnotes the block, -title its label, .idea-footnote-list and .idea-footnote its entries.
.idea-fn-*-ref the superscript mark in prose, -backlink the way back up to it from the entry.
.idea-references, .idea-page-refsThe bibliography an idea’s citations draw from, and the page’s own for citations written outside any idea.
.idea-footer*On an idea page: .idea-footer the ruled-off apparatus under the note, -title the label on each of its sections.
.idea-context, .idea-backlinksThat footer’s two sections: where the note was written, and the notes pointing at it.
.idea-page-list, .idea-page-rowA list of pages in either section, and one row in it—a page cannot fold, so it wears a window’s shape without being one.
.idea-row*One row of an #idea-row list: .idea-row the <li>, -when its date cell, -title the title, -cell each extra cell, -badges the chip strip at the end. @rookery/search and @rookery/timeline draw the same row, so a rule of yours here reaches all three.
.idea-index-countThe “n ideas” line on the minted index page.
.idea-dup-warningThe build-time notice shown when two ideas claim the same name.

Every one of those elements also carries a data-rookery attribute naming the same thing without the prefix—.idea-box is [data-rookery="box"], .idea-window-summary is [data-rookery="window-summary"]—and it is the attribute, not the class, that rookery’s own stylesheet selects on. The two say the same thing, so write whichever reads better in your CSS; the attribute is there because css-prefix moves the classes and nothing should have to follow them to find an element. .idea-window-plain is the one that does not repeat itself: a plain window is [data-rookery="window"] wearing data-rookery-plain besides.

Anything that names a tag—a card, a window, a pill, an outline row, an index row, a badge—carries one more, data-rookery-tags, listing those tag names, minus any made invisible by invisible-tags.