@@ -1678,36 +1678,14 @@ html.dark .boostlook .listingblock > .content > pre {
16781678 * Applies only if codeblock has child with class .toolbox
16791679 * and it`s title doesn`t includes any other elems as children
16801680*/
1681+ /* Filename title intentionally hidden in the 2.0 toolbox design (only the copy
1682+ button shows). Collapsed to display:none; the former flex/layout declarations
1683+ were dead because the element never renders. */
16811684.boostlook .doc .listingblock : has (.source-toolbox ) .title : not (: has (a , span , p , code , pre )),
16821685.boostlook .listingblock : has (.source-toolbox ) .title : not (: has (a , span , p , code , pre )) {
1683- position : absolute;
1684- top : 1px ;
1685- height : 2rem ;
1686- max-width : calc (100% - 5rem );
1687- white-space : nowrap;
1688- overflow : hidden;
1689- text-overflow : ellipsis;
1690- padding : 0 ;
1691- padding-left : var (--spacing-size-sm );
1692- display : flex;
1693- align-items : center;
1694- gap : var (--spacing-size-2xs , 0.5rem );
1695- color : var (--text-main-text-body-tetriary , # 62676b );
1696- font-family : "Mona Sans" ;
1697- font-size : var (--typography-font-size-2xs , 0.75rem );
1698- font-style : normal;
1699- line-height : var (--typography-line-height-sm , 1rem );
1700- letter-spacing : var (--spacing-size-size-0 , 0rem );
1701- z-index : 1 ;
17021686 display : none;
17031687}
17041688
1705- .boostlook .doc .listingblock : has (.source-toolbox ) .title : not (: has (a , span , p , code , pre ))::before ,
1706- .boostlook .listingblock : has (.source-toolbox ) .title : not (: has (a , span , p , code , pre ))::before {
1707- content : var (--icon-file );
1708- line-height : 0 ;
1709- }
1710-
17111689/* Code Block Margins */
17121690.boostlook .listingblock : has (> .content > pre ),
17131691.boostlook .listingblock : has (> .content > pre .highlight ),
@@ -1835,17 +1813,23 @@ html.dark .boostlook .listingblock > .content > pre {
18351813 border : 1px solid var (--border-border-primary , # e4e7ea );
18361814 background : var (--surface-background-main-surface-primary , # f5f6f8 );
18371815 opacity : 0 ;
1838- visibility : hidden;
18391816 transition : all 0.2s ease;
18401817}
18411818
18421819.boostlook .content : has (> pre ): has (> .source-toolbox ) .copy-button : hover {
18431820 border : 1px solid var (--border-border-blue , # 92cbe9 );
18441821}
18451822
1846- .boostlook .content : has (> pre ): has (> .source-toolbox ): hover .copy-button {
1823+ .boostlook .content : has (> pre ): has (> .source-toolbox ): hover .copy-button ,
1824+ .boostlook .content : has (> pre ): has (> .source-toolbox ) .copy-button : focus-visible {
18471825 opacity : 1 ;
1848- visibility : visible;
1826+ }
1827+
1828+ /* Keyboard users can tab to the copy button (kept in the tab order via opacity
1829+ rather than visibility:hidden) and get a visible focus ring. */
1830+ .boostlook .content : has (> pre ): has (> .source-toolbox ) .copy-button : focus-visible {
1831+ outline : 2px solid var (--border-border-blue , # 92cbe9 );
1832+ outline-offset : 2px ;
18491833}
18501834
18511835/* Mobile: hide copy button (clipboard API requires HTTPS) */
@@ -3514,22 +3498,22 @@ div.source-docs-antora.boostlook:not(:has(.doc)):not(:has(>.boostlook)) > #conte
35143498 .boostlook * ,
35153499 .boostlook pre ,
35163500 .boostlook code ,
3517- .boostlook : has ( : not (.doc )) div .table .table-contents {
3501+ .boostlook : not ( : has (.doc )) div .table .table-contents {
35183502 scrollbar-width : thin;
35193503 scrollbar-color : var (--border-border-tetriary , # afb3b6 ) transparent;
35203504 }
35213505
35223506 @media screen and (min-width : 768px ) {
35233507 .boostlook pre ,
35243508 .boostlook code ,
3525- .boostlook : has ( : not (.doc )) div .table .table-contents {
3509+ .boostlook : not ( : has (.doc )) div .table .table-contents {
35263510 scrollbar-width : thin;
35273511 scrollbar-color : transparent transparent;
35283512 }
35293513
35303514 .boostlook pre : hover ,
35313515 .boostlook code : hover ,
3532- .boostlook : has ( : not (.doc )) div .table .table-contents : hover {
3516+ .boostlook : not ( : has (.doc )) div .table .table-contents : hover {
35333517 scrollbar-color : var (--border-border-tetriary , # afb3b6 ) transparent;
35343518 }
35353519 }
@@ -3551,7 +3535,7 @@ html:not(.v3):has(.boostlook)::-webkit-scrollbar-track {
35513535.boostlook * ::-webkit-scrollbar-track ,
35523536.boostlook pre ::-webkit-scrollbar-track ,
35533537.boostlook code ::-webkit-scrollbar-track ,
3554- .boostlook : has ( : not (.doc )) div .table .table-contents ::-webkit-scrollbar-track {
3538+ .boostlook : not ( : has (.doc )) div .table .table-contents ::-webkit-scrollbar-track {
35553539 width : 6px ;
35563540 background : transparent;
35573541 border-radius : var (--spacing-size-2xs , 0.5rem );
@@ -3562,21 +3546,21 @@ html:not(.v3):has(.boostlook)::-webkit-scrollbar-thumb,
35623546.boostlook * ::-webkit-scrollbar-thumb ,
35633547.boostlook pre ::-webkit-scrollbar-thumb ,
35643548.boostlook code ::-webkit-scrollbar-thumb ,
3565- .boostlook : has ( : not (.doc )) div .table .table-contents ::-webkit-scrollbar-thumb {
3549+ .boostlook : not ( : has (.doc )) div .table .table-contents ::-webkit-scrollbar-thumb {
35663550 width : 6px ;
35673551 background : var (--border-border-tetriary , # afb3b6 );
35683552}
35693553
35703554@media screen and (min-width : 768px ) {
35713555 .boostlook pre ::-webkit-scrollbar-thumb ,
35723556 .boostlook code ::-webkit-scrollbar-thumb ,
3573- .boostlook : has ( : not (.doc )) div .table .table-contents ::-webkit-scrollbar-thumb {
3557+ .boostlook : not ( : has (.doc )) div .table .table-contents ::-webkit-scrollbar-thumb {
35743558 background : transparent;
35753559 }
35763560
35773561 .boostlook pre : hover ::-webkit-scrollbar-thumb ,
35783562 .boostlook code : hover ::-webkit-scrollbar-thumb ,
3579- .boostlook : has ( : not (.doc )) div .table .table-contents : hover : -webkit-scrollbar-thumb {
3563+ .boostlook : not ( : has (.doc )) div .table .table-contents : hover : :-webkit-scrollbar-thumb {
35803564 background-color : var (--border-border-tetriary , # afb3b6 );
35813565 }
35823566}
@@ -4020,6 +4004,13 @@ div.source-docs-antora.boostlook:not(:has(article.doc)):not(:has(> .boostlook))
40204004 transform : none;
40214005}
40224006
4007+ /* Restore a visible focus ring for keyboard users (the rule above clears the
4008+ default outline). */
4009+ .boostlook # toc .nav-item-toggle : focus-visible {
4010+ outline : 2px solid var (--border-border-blue , # 92cbe9 );
4011+ outline-offset : 2px ;
4012+ }
4013+
40234014/* Down-pointing caret (collapsed) */
40244015.boostlook # toc .nav-item-toggle ::after {
40254016 content : "" ;
@@ -4787,7 +4778,7 @@ html.dark .boostlook #toctitle .theme-toggle .theme-icon-dark { display: none; }
47874778}
47884779
47894780.boostlook .search-result-item : hover {
4790- background : var (--colors-primary-50 );
4781+ background : var (--surface-background-main-surface-primary );
47914782}
47924783
47934784.boostlook .search-result-item .no-result {
@@ -4834,7 +4825,7 @@ html.dark .boostlook #toctitle .theme-toggle .theme-icon-dark { display: none; }
48344825.boostlook .search-result-document-hit .search-result-highlight {
48354826 padding : 0.1em 0.2em ;
48364827 border-radius : var (--radius-xs , 0.125rem );
4837- background : var (--colors-secondary-50 );
4828+ background : var (--surface-background-main-surface-blue-secondary );
48384829 color : var (--text-main-text-link-blue );
48394830 font-weight : 500 ;
48404831}
@@ -5237,32 +5228,32 @@ div.source-docs-antora.boostlook:not(:has(.doc)):not(:has(> .boostlook)) div.spi
52375228
52385229/* Tables */
52395230/* Make div with Table display block */
5240- .boostlook : has ( : not (.doc )) div .table {
5231+ .boostlook : not ( : has (.doc )) div .table {
52415232 display : block;
52425233}
52435234
52445235/* Enable Horizontal Scroll */
5245- .boostlook : has ( : not (.doc )) div .table .table-contents ,
5246- .boostlook : has ( : not (.doc )) .informaltable : has (> .table ) {
5236+ .boostlook : not ( : has (.doc )) div .table .table-contents ,
5237+ .boostlook : not ( : has (.doc )) .informaltable : has (> .table ) {
52475238 overflow : auto;
52485239}
52495240
52505241/* References Table */
52515242/* This is specific selector for refences tables which containes many tables and only tables as direct children */
5252- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) {
5243+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) {
52535244 display : flex;
52545245 flex-direction : column;
52555246 gap : var (--padding-padding-md , 1.125rem );
52565247 /* border: 2px solid red; */
52575248}
52585249
52595250/* Disable margins for all Headings inside table */
5260- .boostlook : has ( : not (.doc )) .informaltable : has (> .table ) : is (h1 , h2 , h3 , h4 , h5 , h6 ) {
5251+ .boostlook : not ( : has (.doc )) .informaltable : has (> .table ) : is (h1 , h2 , h3 , h4 , h5 , h6 ) {
52615252 margin : 0 ;
52625253}
52635254
52645255/* Table has inner table th */
5265- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) th {
5256+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) th {
52665257 border : none;
52675258 padding : 0 0 var (--padding-padding-xs , 0.75rem ) 0 ;
52685259 background : none;
@@ -5275,24 +5266,24 @@ div.source-docs-antora.boostlook:not(:has(.doc)):not(:has(> .boostlook)) div.spi
52755266}
52765267
52775268/* Disable global cell paddings */
5278- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) > tbody > tr > td {
5269+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) > tbody > tr > td {
52795270 padding : 0 ;
52805271}
52815272
52825273/* Add border radius to tbody first row */
5283- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tr : last-child td : first-child {
5274+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tr : last-child td : first-child {
52845275 border-top-left-radius : var (--spacing-size-2xs , 0.5rem );
52855276 overflow : hidden;
52865277}
52875278
52885279/* Add border radius to tbody first row */
5289- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tr : last-child td : last-child {
5280+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tr : last-child td : last-child {
52905281 border-top-right-radius : var (--spacing-size-2xs , 0.5rem );
52915282 overflow : hidden;
52925283}
52935284
52945285/* Select Inner Headings and make it look as table head */
5295- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tbody : is (h1 , h2 , h3 , h4 , h5 , h6 ) {
5286+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) .table : has (.simplelist ) tbody : is (h1 , h2 , h3 , h4 , h5 , h6 ) {
52965287 padding : var (--padding-padding-3xs , 0.25rem ) var (--padding-padding-2xs , 0.5rem );
52975288 gap : var (--spacing-size-xs , 0.75rem );
52985289 background : var (--surface-background-main-surface-primary , # f5f6f8 );
@@ -5305,22 +5296,22 @@ div.source-docs-antora.boostlook:not(:has(.doc)):not(:has(> .boostlook)) div.spi
53055296}
53065297
53075298/* Inner table styles */
5308- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) table .simplelist {
5299+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) table .simplelist {
53095300 width : 100% ;
53105301}
53115302
5312- .boostlook : has ( : not (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) table .simplelist td {
5303+ .boostlook : not ( : has (.doc )) .informaltable : has (> table : nth-of-type (2 )): not (: has (> * : not (table ))) table .simplelist td {
53135304 border : none;
53145305 padding : var (--padding-padding-3xs , 0.25rem ) var (--padding-padding-2xs , 0.5rem );
53155306}
53165307
53175308/* Footnotes */
5318- .boostlook : has ( : not (.doc )) .footnotes {
5309+ .boostlook : not ( : has (.doc )) .footnotes {
53195310 margin-top : var (--padding-padding-lg );
53205311 border-top : 1px solid var (--border-border-primary );
53215312}
53225313
5323- .boostlook : has ( : not (.doc )) .footnotes hr {
5314+ .boostlook : not ( : has (.doc )) .footnotes hr {
53245315 display : none;
53255316}
53265317
@@ -5579,16 +5570,10 @@ html.v3 .boostlook {
55795570 background : transparent;
55805571}
55815572
5582- /* Non-doc site components use v2's primary text color (near-black in light,
5583- white in dark) rather than boostlook's lighter doc body grey. Paragraphs
5584- inherit their container instead of boostlook's hardcoded `.boostlook p`
5585- grey, so each component's own color flows through.
5586- Font: boostlook's base container forces "Mona Sans" (!important) plus a
5587- condensed font-variation-settings ("wght" 400, "wdth" 95). Non-doc site
5588- components should render the site's own type instead, so inherit both the
5589- family (!important to beat boostlook's base rule) and the variation settings
5590- from the host page. Headings that set their own font-family (e.g.
5591- --font-display) still win. */
5573+ /* Non-doc site components use v2's own text color and type, not boostlook's doc
5574+ grey and forced condensed "Mona Sans". Inherit family (!important to beat
5575+ boostlook's base rule) and variation settings from the host page; headings
5576+ with their own font-family (e.g. --font-display) still win. */
55925577.boostlook : where (: not (: has (.doc ))) {
55935578 color : var (--color-text-primary );
55945579 font-family : inherit !important ;
@@ -5636,7 +5621,6 @@ html.v3 .boostlook {
56365621 font-size : var (--font-size-small );
56375622}
56385623
5639- /* Sit flush with the top, no leading margin on the first prose element. */
56405624.boostlook .content-modal__prose > : first-child {
56415625 margin-top : 0 ;
56425626}
@@ -5696,9 +5680,8 @@ html.v3 .boostlook {
56965680 color : var (--color-text-primary );
56975681}
56985682
5699- /* Ordered lists: native decimal numbering (a custom ::before counter only
5700- suits the single bullet char and misaligns; browsers render numbers
5701- cleanly and follow the item's font size). */
5683+ /* Ordered lists: native decimal numbering (a custom ::before counter
5684+ misaligns; native numbers follow the item's font size cleanly). */
57025685.boostlook .markdown-content ol {
57035686 list-style : decimal;
57045687 padding-left : var (--space-xl );
@@ -5715,10 +5698,8 @@ html.v3 .boostlook {
57155698 text-underline-position : from-font;
57165699}
57175700
5718- /* Code blocks: defer to boostlook's own code styling (the boxed .boostlook pre
5719- with its light/dark background, border and radius, and .boostlook pre code
5720- for the monospace body). Only add horizontal-scroll safety so a wide line
5721- scrolls inside the narrow card instead of overflowing it. */
5701+ /* Code blocks defer to boostlook's own code styling; only add horizontal-scroll
5702+ safety so a wide line scrolls inside the narrow card instead of overflowing. */
57225703.boostlook .markdown-content pre {
57235704 overflow-x : auto;
57245705}
@@ -5756,21 +5737,15 @@ html.v3 .boostlook {
57565737 font-weight : var (--font-weight-medium );
57575738}
57585739
5740+ /* Color comes from the non-doc `color: inherit` rule above; this just keeps v2's size/spacing. */
57595741.boostlook .markdown-content p {
5760- /* Keep the card's paragraph size/spacing faithful to v2. Color comes from
5761- the non-doc `color: inherit` rule above, so it follows the container
5762- (v2's primary near-black) instead of boostlook's grey. */
57635742 font-size : var (--font-size-small );
57645743 line-height : var (--line-height-code );
57655744 letter-spacing : var (--letter-spacing-tight );
57665745 padding : 0 ;
57675746 margin : 0 ;
57685747}
57695748
5770- /* Inline code + code blocks intentionally have no card-specific override:
5771- they inherit boostlook's code styling so the card matches the doc/site code
5772- treatment (monospace inline code, boxed pre blocks with syntax colors). */
5773-
57745749/* Post detail (news article body) — #2491. The container keeps its layout
57755750 (flex/gap/border) in post-detail.css; the rich-text typography lives here.
57765751 Body copy is intentionally secondary grey (overrides the non-doc primary
@@ -5839,13 +5814,9 @@ html.v3 .boostlook {
58395814 font-weight : var (--font-weight-medium );
58405815}
58415816
5842- /* Release highlights card (what's-new descriptions via inline_markdown) — #2491.
5843- The description's layout and base type (secondary color, size, spacing) stay in
5844- release-highlights-card.css; the only rich-text spans inline_markdown can emit
5845- are <strong> and <code>. Bold uses the site's medium weight (the non-doc rule
5846- above already drops boostlook's condensed axis). Inline code has no override, so
5847- it inherits boostlook's code treatment — matching the release notes markdown card
5848- on the same page. */
5817+ /* Release highlights card (what's-new via inline_markdown) — #2491. inline_markdown
5818+ emits only <strong> and <code>; layout/base type stays in release-highlights-card.css.
5819+ Bold uses the site's medium weight; inline code inherits boostlook's treatment. */
58495820.boostlook .release-highlight__description strong {
58505821 font-weight : var (--font-weight-medium );
58515822}
0 commit comments