starlight-theme-apple 0.7.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +47 -5
  3. package/components/Empty.astro +3 -0
  4. package/components/Footer.astro +19 -0
  5. package/components/Header.astro +55 -0
  6. package/components/NavLink.astro +24 -0
  7. package/components/PageFrame.astro +11 -0
  8. package/components/PageTitle.astro +24 -40
  9. package/components/Pagination.astro +22 -29
  10. package/components/Sidebar.astro +27 -0
  11. package/components/SiteFooter.astro +61 -0
  12. package/components/SocialIcons.astro +22 -0
  13. package/components.ts +10 -0
  14. package/index.ts +84 -120
  15. package/libs/breadcrumbs.ts +80 -0
  16. package/libs/config.ts +54 -0
  17. package/libs/expressive-code.ts +246 -0
  18. package/libs/links.ts +38 -0
  19. package/package.json +11 -5
  20. package/styles/base.css +35 -53
  21. package/styles/code.css +7 -83
  22. package/styles/components.css +599 -0
  23. package/styles/content.css +224 -425
  24. package/styles/header.css +217 -62
  25. package/styles/reference.css +332 -0
  26. package/styles/search.css +87 -73
  27. package/styles/sidebar.css +77 -56
  28. package/styles/toc.css +51 -44
  29. package/styles/tokens.css +130 -93
  30. package/styles.css +4 -4
  31. package/translations.ts +31 -0
  32. package/user-components/Availability.astro +21 -0
  33. package/user-components/Declaration.astro +16 -0
  34. package/user-components/Figure.astro +58 -0
  35. package/user-components/Parameter.astro +14 -0
  36. package/user-components/ParameterList.astro +11 -0
  37. package/user-components/ReferenceEntry.astro +12 -0
  38. package/user-components/ReferenceMeta.astro +30 -0
  39. package/user-components/TopicLink.astro +17 -0
  40. package/user-components/TopicList.astro +5 -0
  41. package/user-components/ValueList.astro +20 -0
  42. package/virtual.d.ts +10 -0
  43. package/styles/controls.css +0 -190
  44. package/styles/responsive.css +0 -157
package/styles/header.css CHANGED
@@ -1,106 +1,261 @@
1
- header.header {
2
- height: var(--apple-header-height);
1
+ /* Navigation bar: a solid, compact bar with a single hairline, like Apple’s documentation nav. */
2
+ .page > .header {
3
3
  border-bottom: 1px solid var(--apple-hairline);
4
- background: var(--apple-header-background);
5
- color: var(--apple-foreground);
6
- -webkit-backdrop-filter: saturate(180%) blur(20px);
7
- backdrop-filter: saturate(180%) blur(20px);
4
+ background: var(--apple-background);
8
5
  }
9
6
 
10
- header.header > .header {
7
+ .apple-header {
8
+ display: flex;
9
+ align-items: center;
10
+ gap: 1.75rem;
11
11
  height: 100%;
12
- padding-inline: clamp(1rem, 2.4vw, 2rem);
13
12
  }
14
13
 
14
+ .apple-header__title {
15
+ display: flex;
16
+ flex: 0 1 auto;
17
+ min-width: 0;
18
+ }
15
19
  .site-title {
20
+ gap: 0.5rem;
16
21
  min-width: 0;
17
- overflow: hidden;
18
22
  color: var(--apple-foreground);
19
23
  font-size: 1.1875rem;
20
24
  font-weight: 600;
21
- line-height: 1.6875rem;
22
- letter-spacing: -0.015em;
23
- text-overflow: ellipsis;
25
+ line-height: 1.5rem;
26
+ letter-spacing: 0.012em;
24
27
  white-space: nowrap;
25
28
  }
29
+ .site-title span {
30
+ overflow: hidden;
31
+ text-overflow: ellipsis;
32
+ }
33
+ .site-title img {
34
+ height: 1.5rem;
35
+ width: auto;
36
+ }
26
37
  .site-title:hover {
27
38
  color: var(--apple-foreground);
28
- opacity: 0.72;
29
39
  }
30
40
 
31
- .right-group,
32
- .social-icons {
33
- align-items: center;
34
- gap: 0.25rem;
41
+ /* Primary navigation */
42
+ .apple-header__nav {
43
+ min-width: 0;
44
+ overflow-x: auto;
45
+ scrollbar-width: none;
35
46
  }
36
- .social-icons::after {
47
+ .apple-header__nav::-webkit-scrollbar {
37
48
  display: none;
38
49
  }
39
-
40
- .social-icons a,
41
- starlight-theme-select,
42
- starlight-lang-select {
50
+ .apple-header__nav ul,
51
+ .apple-menu-nav ul,
52
+ .apple-footer ul {
53
+ margin: 0;
54
+ padding: 0;
55
+ list-style: none;
56
+ }
57
+ .apple-header__nav ul {
58
+ display: flex;
59
+ gap: 1.5rem;
60
+ }
61
+ .apple-header__nav .apple-nav-link {
43
62
  display: inline-flex;
44
63
  align-items: center;
45
- justify-content: center;
46
- min-width: 2.25rem;
64
+ gap: 0.375rem;
47
65
  min-height: 2.25rem;
48
- border-radius: var(--apple-radius-sm);
49
66
  color: var(--apple-secondary-foreground);
67
+ font-size: 0.875rem;
68
+ line-height: 1.25rem;
69
+ letter-spacing: -0.016em;
70
+ text-decoration: none;
71
+ white-space: nowrap;
72
+ }
73
+ .apple-header__nav .apple-nav-link:hover,
74
+ .apple-header__nav .apple-nav-link[aria-current] {
75
+ color: var(--apple-foreground);
50
76
  }
51
- .social-icons a {
52
- width: 2.25rem;
53
- height: 2.25rem;
77
+
78
+ .apple-header__end {
79
+ display: flex;
80
+ flex: 0 0 auto;
81
+ align-items: center;
82
+ gap: 0.75rem;
83
+ margin-inline-start: auto;
84
+ }
85
+ .apple-header__controls,
86
+ .apple-header__controls .social-icons {
87
+ display: flex;
88
+ align-items: center;
89
+ gap: 0.125rem;
90
+ }
91
+
92
+ /* Icon buttons share one 32px circular hit area. */
93
+ .apple-social-link,
94
+ .apple-header starlight-theme-select label {
95
+ display: inline-grid;
96
+ place-items: center;
97
+ width: 2rem;
98
+ height: 2rem;
54
99
  margin: 0;
55
- padding: 0.5rem;
100
+ padding: 0;
101
+ border-radius: 50%;
102
+ color: var(--apple-secondary-foreground);
103
+ }
104
+ .apple-social-link:hover,
105
+ .apple-header starlight-theme-select label:hover {
106
+ background: var(--apple-fill-secondary);
107
+ color: var(--apple-foreground);
108
+ }
109
+ .apple-social-link svg {
110
+ width: 1.0625rem;
111
+ height: 1.0625rem;
112
+ }
113
+
114
+ /*
115
+ * Appearance: Starlight’s native theme <select> rendered as an icon button. The select keeps
116
+ * its accessible name, keyboard behavior, persistence, and the system (“Auto”) option; the
117
+ * icon reflects the current choice.
118
+ */
119
+ .apple-header starlight-theme-select label {
120
+ position: relative;
121
+ }
122
+ .apple-header starlight-theme-select label::before {
123
+ content: "";
124
+ width: 1.0625rem;
125
+ height: 1.0625rem;
126
+ background: currentColor;
127
+ -webkit-mask: var(--apple-appearance-icon) center / contain no-repeat;
128
+ mask: var(--apple-appearance-icon) center / contain no-repeat;
129
+ --apple-appearance-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17Zm0 1.5v14a7 7 0 0 1 0-14Z'/%3E%3C/svg%3E");
56
130
  }
57
- :is(starlight-theme-select, starlight-lang-select) {
58
- align-self: center;
59
- height: 2.25rem;
131
+ .apple-header
132
+ starlight-theme-select:has(option[value="light"]:checked)
133
+ label::before {
134
+ --apple-appearance-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='3.6'/%3E%3Cpath d='M10 1v2.2M10 16.8V19M1 10h2.2M16.8 10H19M3.64 3.64l1.55 1.55M14.81 14.81l1.55 1.55M3.64 16.36l1.55-1.55M14.81 5.19l1.55-1.55' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
60
135
  }
61
- :is(starlight-theme-select, starlight-lang-select) > label {
136
+ .apple-header
137
+ starlight-theme-select:has(option[value="dark"]:checked)
138
+ label::before {
139
+ --apple-appearance-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.1 1.7a7 7 0 0 0 10.2 10.2A8.5 8.5 0 1 1 8.1 1.7Z'/%3E%3C/svg%3E");
140
+ }
141
+ .apple-header starlight-theme-select :is(.label-icon, .caret) {
142
+ display: none;
143
+ }
144
+ .apple-header starlight-theme-select select {
145
+ position: absolute;
146
+ inset: 0;
147
+ width: 100%;
62
148
  height: 100%;
149
+ margin: 0;
150
+ padding: 0;
151
+ opacity: 0;
152
+ font-size: 1rem;
153
+ cursor: pointer;
63
154
  }
64
- :is(starlight-theme-select, starlight-lang-select) select {
65
- height: 2.25rem;
66
- margin-block: 0;
67
- padding-block: 0;
68
- line-height: 2.25rem;
155
+ .apple-header starlight-theme-select label:has(select:focus-visible) {
156
+ outline: 2px solid var(--apple-link);
157
+ outline-offset: 1px;
69
158
  }
70
159
 
71
- .social-icons a:hover,
72
- starlight-theme-select:hover,
73
- starlight-lang-select:hover {
74
- background: var(--apple-active-surface);
75
- color: var(--apple-foreground);
160
+ .apple-header starlight-lang-select select {
161
+ font-size: 0.875rem;
76
162
  }
77
163
 
78
- .sidebar :is(.sl-menu-button, button[aria-controls="starlight__sidebar"]) {
79
- display: inline-grid;
80
- place-items: center;
81
- width: var(--sl-menu-button-size);
82
- height: var(--sl-menu-button-size);
83
- border: 0;
84
- border-radius: var(--apple-radius-sm);
164
+ /* Emphasized action: Apple’s small pill button. */
165
+ .apple-header__action {
166
+ display: inline-flex;
167
+ align-items: center;
168
+ gap: 0.25rem;
169
+ min-height: 1.75rem;
170
+ padding: 0.25rem 0.875rem;
171
+ border-radius: 980px;
172
+ background: var(--apple-button-background);
173
+ color: var(--apple-button-foreground);
174
+ font-size: 0.8125rem;
175
+ font-weight: 400;
176
+ line-height: 1.25rem;
177
+ letter-spacing: -0.008em;
178
+ text-decoration: none;
179
+ white-space: nowrap;
180
+ }
181
+ .apple-header__action:hover {
182
+ background: var(--apple-button-background-hover);
183
+ color: var(--apple-button-foreground);
184
+ }
185
+ .apple-header__action svg {
186
+ width: 0.875rem;
187
+ height: 0.875rem;
188
+ }
189
+
190
+ /* Mobile menu toggle: a plain icon button instead of a floating disc. */
191
+ starlight-menu-button button {
192
+ border-radius: 50%;
85
193
  background: transparent;
86
194
  box-shadow: none;
87
195
  color: var(--apple-foreground);
88
196
  }
89
- .sidebar
90
- :is(.sl-menu-button, button[aria-controls="starlight__sidebar"]):is(
91
- :hover,
92
- :active
93
- ) {
94
- background: var(--apple-active-surface);
197
+ starlight-menu-button button:hover,
198
+ starlight-menu-button[aria-expanded="true"] button {
199
+ background: var(--apple-fill-secondary);
200
+ color: var(--apple-foreground);
201
+ }
202
+ :root[data-theme="light"] starlight-menu-button button {
203
+ background: transparent;
204
+ color: var(--apple-foreground);
205
+ }
206
+ :root[data-theme="light"] starlight-menu-button[aria-expanded="true"] button {
207
+ background: var(--apple-fill-secondary);
208
+ }
209
+
210
+ /* Header links inside the mobile menu, above the page navigation. */
211
+ .apple-menu-nav {
212
+ padding-bottom: 0.75rem;
213
+ border-bottom: 1px solid var(--apple-hairline);
214
+ }
215
+ .apple-menu-nav .apple-nav-link {
216
+ display: flex;
217
+ align-items: center;
218
+ gap: 0.5rem;
219
+ min-height: 2.75rem;
220
+ padding-inline: 0.625rem;
221
+ border-radius: var(--apple-radius-sm);
95
222
  color: var(--apple-foreground);
223
+ font-size: 1.0625rem;
224
+ font-weight: 600;
225
+ text-decoration: none;
226
+ }
227
+ .apple-menu-nav .apple-nav-link[aria-current] {
228
+ color: var(--apple-link);
229
+ }
230
+ .apple-menu-nav .apple-nav-link:hover {
231
+ background: var(--apple-fill-secondary);
96
232
  }
97
233
 
98
- @media (min-width: 50rem) {
99
- header.header site-search {
100
- justify-self: end;
101
- min-width: 15rem;
234
+ .mobile-preferences {
235
+ gap: 0.75rem 1rem;
236
+ border-top-color: var(--apple-hairline);
237
+ }
238
+ .mobile-preferences .apple-social-link {
239
+ width: 2.75rem;
240
+ height: 2.75rem;
241
+ }
242
+
243
+ @media (max-width: 49.99rem) {
244
+ .apple-header {
245
+ gap: 1rem;
246
+ }
247
+ .apple-header__controls,
248
+ :root[data-has-sidebar] .apple-header__nav,
249
+ :root[data-has-sidebar] .apple-header__action {
250
+ display: none;
251
+ }
252
+ .apple-header__nav ul {
253
+ gap: 1rem;
254
+ }
255
+ .apple-header__end {
256
+ gap: 0.5rem;
102
257
  }
103
- :is(starlight-theme-select, starlight-lang-select) {
104
- padding-inline-start: 0.25rem;
258
+ .site-title {
259
+ font-size: 1.0625rem;
105
260
  }
106
261
  }
@@ -0,0 +1,332 @@
1
+ /*
2
+ * Reference primitives.
3
+ *
4
+ * A small HTML vocabulary for API, configuration, and command references. Each class is also
5
+ * rendered by a component in `starlight-theme-apple/components`, so generated Markdown and
6
+ * hand-written MDX produce the same structure:
7
+ *
8
+ * .apple-entry one symbol, setting, command, or release (contains its heading)
9
+ * .apple-label a small caption above a block, or a kind label above a heading
10
+ * .apple-declaration declaration or usage synopsis
11
+ * .apple-meta compact key–value metadata (type, default, date, …)
12
+ * .apple-parameters parameter, option, or value definitions
13
+ * .apple-values a set of accepted literal values
14
+ * .apple-availability platform/version availability and status
15
+ * .apple-topics topic links with short abstracts
16
+ */
17
+
18
+ /* ============================================================
19
+ Entries
20
+ ============================================================ */
21
+
22
+ .sl-markdown-content .apple-entry {
23
+ padding-block: 1.25rem 1.375rem;
24
+ border-top: 1px solid var(--apple-hairline);
25
+ }
26
+ .sl-markdown-content .apple-entry + .apple-entry {
27
+ margin-top: 0;
28
+ }
29
+ .sl-markdown-content .apple-entry + :not(.apple-entry) {
30
+ margin-top: 1.5rem;
31
+ }
32
+
33
+ .sl-markdown-content .apple-entry > * {
34
+ margin-block: 0;
35
+ }
36
+ .sl-markdown-content .apple-entry > * + * {
37
+ margin-top: 0.625rem;
38
+ }
39
+ .sl-markdown-content
40
+ .apple-entry
41
+ > :is(.expressive-code, .starlight-aside, .apple-declaration) {
42
+ margin-top: 0.875rem;
43
+ }
44
+
45
+ /* The entry’s leading heading is its name. */
46
+ .sl-markdown-content
47
+ .apple-entry
48
+ > :first-child:is(.sl-heading-wrapper, h2, h3, h4, h5, h6) {
49
+ margin-top: 0;
50
+ font-size: 1.1875rem;
51
+ line-height: 1.32;
52
+ }
53
+ .sl-markdown-content
54
+ .apple-entry
55
+ > :first-child:is(.sl-heading-wrapper.level-h2, h2) {
56
+ font-size: 1.5rem;
57
+ line-height: 1.1667;
58
+ }
59
+ /* Later headings inside an entry, such as a release’s “Changes”, are compact section titles. */
60
+ .sl-markdown-content
61
+ .apple-entry
62
+ > :not(:first-child):is(.sl-heading-wrapper, h2, h3, h4, h5, h6) {
63
+ margin-top: 1.25rem;
64
+ font-size: 1.0625rem;
65
+ line-height: 1.4706;
66
+ }
67
+ .sl-markdown-content .apple-entry :is(h2, h3, h4, h5, h6) {
68
+ font-size: inherit;
69
+ font-weight: 600;
70
+ line-height: inherit;
71
+ letter-spacing: 0.012em;
72
+ }
73
+ .sl-markdown-content .apple-entry :is(h2, h3, h4, h5, h6) code {
74
+ font-size: 0.95em;
75
+ font-weight: 600;
76
+ letter-spacing: -0.01em;
77
+ }
78
+
79
+ .sl-markdown-content .apple-entry > p:not([class]) {
80
+ font-size: 1rem;
81
+ line-height: 1.5;
82
+ letter-spacing: -0.02em;
83
+ }
84
+ .sl-markdown-content .apple-entry > :is(ul, ol):not([class]) {
85
+ font-size: 1rem;
86
+ }
87
+
88
+ /* ============================================================
89
+ Labels
90
+ ============================================================ */
91
+
92
+ .sl-markdown-content .apple-label {
93
+ margin-bottom: 0.375rem;
94
+ color: var(--apple-secondary-foreground);
95
+ font-size: 0.8125rem;
96
+ font-weight: 600;
97
+ line-height: 1.125rem;
98
+ letter-spacing: -0.008em;
99
+ }
100
+ .sl-markdown-content * + .apple-label {
101
+ margin-top: 1.25rem;
102
+ }
103
+ .sl-markdown-content .apple-label + * {
104
+ margin-top: 0;
105
+ }
106
+ /* A kind label above a section heading, e.g. “Table” above `[settings]`. */
107
+ .sl-markdown-content * + .apple-label:has(+ :is(.sl-heading-wrapper, h2, h3)) {
108
+ margin-top: 2.75rem;
109
+ }
110
+ .sl-markdown-content .apple-label + :is(.sl-heading-wrapper, h2, h3) {
111
+ margin-top: 0.125rem;
112
+ }
113
+
114
+ /* ============================================================
115
+ Declarations
116
+ ============================================================ */
117
+
118
+ .sl-markdown-content .apple-declaration {
119
+ padding: 0.6875rem 1rem;
120
+ border: 0;
121
+ border-radius: 0.75rem;
122
+ background: var(--apple-code-background);
123
+ color: var(--apple-foreground);
124
+ font-family: var(--apple-font-mono);
125
+ font-size: 0.875rem;
126
+ line-height: 1.6;
127
+ white-space: pre-wrap;
128
+ overflow-wrap: anywhere;
129
+ }
130
+ .sl-markdown-content .apple-declaration code {
131
+ font-size: inherit;
132
+ white-space: inherit;
133
+ }
134
+ .sl-markdown-content .apple-declaration a {
135
+ color: var(--apple-link);
136
+ text-decoration: none;
137
+ }
138
+ .sl-markdown-content .apple-declaration a:hover {
139
+ text-decoration: underline;
140
+ }
141
+
142
+ /* ============================================================
143
+ Metadata
144
+ ============================================================ */
145
+
146
+ .sl-markdown-content .apple-meta {
147
+ display: flex;
148
+ flex-wrap: wrap;
149
+ align-items: baseline;
150
+ gap: 0.25rem 1.5rem;
151
+ color: var(--apple-secondary-foreground);
152
+ font-size: 0.875rem;
153
+ line-height: 1.43;
154
+ letter-spacing: -0.016em;
155
+ }
156
+ .sl-markdown-content .apple-meta > * {
157
+ display: inline-flex;
158
+ align-items: baseline;
159
+ gap: 0.375rem;
160
+ min-width: 0;
161
+ margin: 0;
162
+ }
163
+ .sl-markdown-content .apple-meta :is(dt, dd) {
164
+ margin: 0;
165
+ padding: 0;
166
+ }
167
+ .sl-markdown-content .apple-meta dt {
168
+ color: var(--apple-secondary-foreground);
169
+ font-weight: 400;
170
+ }
171
+ .sl-markdown-content .apple-meta dd {
172
+ color: var(--apple-foreground);
173
+ overflow-wrap: anywhere;
174
+ }
175
+ .sl-markdown-content .apple-meta a {
176
+ color: var(--apple-link);
177
+ }
178
+ .sl-markdown-content .apple-meta time {
179
+ font-variant-numeric: tabular-nums;
180
+ }
181
+
182
+ /* ============================================================
183
+ Parameters
184
+ ============================================================ */
185
+
186
+ .sl-markdown-content .apple-parameters {
187
+ container-type: inline-size;
188
+ border-top: 1px solid var(--apple-hairline);
189
+ }
190
+ .sl-markdown-content .apple-parameters > div {
191
+ display: grid;
192
+ margin: 0;
193
+ gap: 0.25rem 1.5rem;
194
+ padding-block: 0.6875rem;
195
+ border-bottom: 1px solid var(--apple-hairline);
196
+ scroll-margin-top: calc(
197
+ var(--sl-nav-height) + var(--sl-mobile-toc-height) + 1.5rem
198
+ );
199
+ }
200
+ .sl-markdown-content .apple-parameters > div:target {
201
+ background: linear-gradient(
202
+ var(--apple-fill-secondary),
203
+ var(--apple-fill-secondary)
204
+ )
205
+ no-repeat;
206
+ }
207
+ @container (min-width: 34rem) {
208
+ .sl-markdown-content .apple-parameters > div {
209
+ grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1fr);
210
+ }
211
+ }
212
+ .sl-markdown-content .apple-parameters :is(dt, dd) {
213
+ margin: 0;
214
+ padding: 0;
215
+ }
216
+ .sl-markdown-content .apple-parameters dt {
217
+ color: var(--apple-foreground);
218
+ font-size: 0.875rem;
219
+ font-weight: 400;
220
+ line-height: 1.5;
221
+ overflow-wrap: anywhere;
222
+ }
223
+ .sl-markdown-content .apple-parameters dt code {
224
+ font-size: inherit;
225
+ font-weight: 600;
226
+ }
227
+ .sl-markdown-content .apple-parameters dd {
228
+ color: var(--apple-foreground);
229
+ font-size: 0.9375rem;
230
+ line-height: 1.4667;
231
+ letter-spacing: -0.016em;
232
+ }
233
+ .sl-markdown-content .apple-parameters dd > * {
234
+ margin-block: 0;
235
+ }
236
+ .sl-markdown-content .apple-parameters dd > * + * {
237
+ margin-top: 0.375rem;
238
+ }
239
+ .sl-markdown-content .apple-parameters dd:empty {
240
+ display: none;
241
+ }
242
+ .sl-markdown-content .apple-parameters a {
243
+ color: var(--apple-link);
244
+ }
245
+
246
+ /* ============================================================
247
+ Values and availability
248
+ ============================================================ */
249
+
250
+ .sl-markdown-content .apple-values {
251
+ display: flex;
252
+ flex-wrap: wrap;
253
+ gap: 0.375rem;
254
+ padding: 0;
255
+ list-style: none;
256
+ }
257
+ .sl-markdown-content .apple-values > li {
258
+ margin: 0;
259
+ }
260
+ .sl-markdown-content .apple-values code {
261
+ display: inline-block;
262
+ padding: 0.125rem 0.5rem;
263
+ border-radius: var(--apple-radius-sm);
264
+ background: var(--apple-fill-secondary);
265
+ font-size: 0.8125rem;
266
+ line-height: 1.25rem;
267
+ }
268
+
269
+ .apple-availability {
270
+ display: flex;
271
+ flex-wrap: wrap;
272
+ align-items: center;
273
+ gap: 0.25rem 1rem;
274
+ padding: 0;
275
+ list-style: none;
276
+ color: var(--apple-foreground);
277
+ font-size: 0.875rem;
278
+ line-height: 1.25rem;
279
+ letter-spacing: -0.016em;
280
+ }
281
+ .sl-markdown-content .apple-availability > li {
282
+ margin: 0;
283
+ }
284
+ .apple-availability > [data-variant] {
285
+ --apple-status: var(--apple-link);
286
+ padding-inline: 0.5rem;
287
+ border-radius: 980px;
288
+ background: color-mix(in srgb, var(--apple-status) 13%, transparent);
289
+ color: var(--apple-status);
290
+ font-size: 0.75rem;
291
+ font-weight: 600;
292
+ }
293
+ .apple-availability > [data-variant="tip"] {
294
+ --apple-status: var(--apple-tip);
295
+ }
296
+ .apple-availability > [data-variant="caution"] {
297
+ --apple-status: var(--apple-caution);
298
+ }
299
+ .apple-availability > [data-variant="danger"] {
300
+ --apple-status: var(--apple-danger);
301
+ }
302
+
303
+ /* ============================================================
304
+ Topics
305
+ ============================================================ */
306
+
307
+ .sl-markdown-content .apple-topics {
308
+ padding: 0;
309
+ list-style: none;
310
+ }
311
+ .sl-markdown-content .apple-topics > li {
312
+ margin: 0;
313
+ }
314
+ .sl-markdown-content .apple-topics > li + li {
315
+ margin-top: 0.9375rem;
316
+ }
317
+ .sl-markdown-content .apple-topics > li > a {
318
+ color: var(--apple-link);
319
+ font-size: 1.0625rem;
320
+ line-height: 1.4706;
321
+ }
322
+ .sl-markdown-content .apple-topics > li > a code {
323
+ font-size: 0.94em;
324
+ color: inherit;
325
+ }
326
+ .sl-markdown-content .apple-topics > li > :not(a) {
327
+ margin: 0.125rem 0 0;
328
+ color: var(--apple-foreground);
329
+ font-size: 1rem;
330
+ line-height: 1.5;
331
+ letter-spacing: -0.02em;
332
+ }