cocowiki 0.2.2

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.
@@ -0,0 +1,405 @@
1
+ @import './code.css';
2
+
3
+ :root {
4
+ --cw-bg: #ffffff;
5
+ --cw-surface: #ffffff;
6
+ --cw-surface-soft: #f7f8fa;
7
+ --cw-text: #17181c;
8
+ --cw-text-soft: #343741;
9
+ --cw-muted: #6f7480;
10
+ --cw-border: #e7e8ec;
11
+ --cw-border-strong: #d7d9df;
12
+ --cw-accent: #5b5bd6;
13
+ --cw-accent-hover: #4b4bc4;
14
+ --cw-accent-soft: #f0efff;
15
+ --cw-gold: #9b6b2f;
16
+ --cw-header: rgba(255, 255, 255, .88);
17
+ --cw-shadow: 0 24px 70px rgba(28, 31, 44, .14), 0 3px 12px rgba(28, 31, 44, .06);
18
+ --cw-radius: 12px;
19
+ --cw-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
20
+ --cw-mono: "SFMono-Regular", "Cascadia Code", Consolas, monospace;
21
+ color-scheme: light;
22
+ }
23
+
24
+ .dark {
25
+ --cw-bg: #0f1013;
26
+ --cw-surface: #15161a;
27
+ --cw-surface-soft: #1b1c21;
28
+ --cw-text: #f1f2f4;
29
+ --cw-text-soft: #d4d6dc;
30
+ --cw-muted: #9499a5;
31
+ --cw-border: #292b31;
32
+ --cw-border-strong: #383a43;
33
+ --cw-accent: #9690ff;
34
+ --cw-accent-hover: #aaa5ff;
35
+ --cw-accent-soft: #242238;
36
+ --cw-gold: #d6a766;
37
+ --cw-header: rgba(15, 16, 19, .86);
38
+ --cw-shadow: 0 24px 80px rgba(0, 0, 0, .48);
39
+ color-scheme: dark;
40
+ }
41
+
42
+ * { box-sizing: border-box; }
43
+ html { width: 100%; max-width: 100%; overflow-x: clip; scroll-behavior: smooth; background: var(--cw-bg); }
44
+ body { width: 100%; max-width: 100%; margin: 0; min-width: 0; overflow-x: clip; color: var(--cw-text); background: var(--cw-bg); font-family: var(--cw-sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
45
+ a { color: inherit; text-decoration: none; }
46
+ button, input, select { font: inherit; }
47
+ button { color: inherit; }
48
+ img, video, canvas { max-width: 100%; }
49
+ ::selection { color: var(--cw-text); background: color-mix(in srgb, var(--cw-accent) 24%, transparent); }
50
+ .cw-site { width: 100%; max-width: 100%; min-height: 100vh; }
51
+ .cw-main { min-width: 0; min-height: calc(100vh - 64px); }
52
+ .cw-route-view { min-width: 0; }
53
+ .cw-route-loading {
54
+ display: grid;
55
+ min-height: calc(100vh - 64px);
56
+ place-content: center;
57
+ justify-items: center;
58
+ color: var(--cw-muted);
59
+ }
60
+ .cw-route-loading span {
61
+ width: 24px;
62
+ height: 24px;
63
+ border: 2px solid var(--cw-border);
64
+ border-top-color: var(--cw-accent);
65
+ border-radius: 50%;
66
+ animation: cw-loading-spin .7s linear infinite;
67
+ }
68
+ .cw-route-loading p { margin: 12px 0 0; font-size: .875rem; }
69
+ @keyframes cw-loading-spin { to { transform: rotate(360deg); } }
70
+ .cw-kicker { margin: 0; color: var(--cw-accent); font-size: 11px; font-weight: 750; letter-spacing: .14em; }
71
+ .cw-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
72
+
73
+ /* Not found */
74
+ .cw-not-found { position: relative; display: flex; width: min(760px, calc(100% - 32px)); min-height: calc(100vh - 64px); flex-direction: column; align-items: center; justify-content: center; margin: auto; padding: 68px 24px 110px; overflow: hidden; text-align: center; }
75
+ .cw-not-found__number { margin-bottom: -32px; color: transparent; font-family: Georgia, "Times New Roman", serif; font-size: clamp(124px, 24vw, 220px); font-weight: 400; letter-spacing: -.08em; line-height: .78; opacity: .72; -webkit-text-stroke: 1px var(--cw-border-strong); user-select: none; }
76
+ .cw-not-found .cw-kicker { position: relative; padding: 0 12px; background: var(--cw-bg); }
77
+ .cw-not-found h1 { margin: 19px 0 10px; font-size: clamp(34px, 6vw, 52px); font-weight: 710; letter-spacing: -.045em; line-height: 1.15; }
78
+ .cw-not-found > p:last-of-type { margin: 0; color: var(--cw-muted); font-size: 15px; }
79
+ .cw-not-found nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 30px; }
80
+ .cw-not-found nav a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 17px; border: 1px solid var(--cw-border); border-radius: 10px; background: var(--cw-surface); font-size: 13px; font-weight: 650; transition: border-color .2s, background .2s, transform .2s; }
81
+ .cw-not-found nav a:hover { border-color: var(--cw-border-strong); background: var(--cw-surface-soft); transform: translateY(-1px); }
82
+ .cw-not-found nav a.is-primary { color: var(--cw-bg); border-color: var(--cw-text); background: var(--cw-text); }
83
+
84
+ /* Header */
85
+ .cw-header { position: sticky; top: 0; z-index: 30; height: 64px; border-bottom: 1px solid color-mix(in srgb, var(--cw-border) 82%, transparent); background: var(--cw-header); backdrop-filter: saturate(160%) blur(18px); }
86
+ .cw-header__inner { display: flex; align-items: center; width: min(1200px, 100%); height: 100%; margin: auto; padding: 0 28px; }
87
+ .cw-brand { display: flex; align-items: center; gap: 11px; min-width: 228px; }
88
+ .cw-brand__mark { position: relative; display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; color: #fff; border-radius: 9px; background: #17181c; font-size: 14px; font-weight: 800; }
89
+ .cw-brand__mark i { position: absolute; right: -8px; bottom: -8px; width: 22px; height: 22px; border: 6px solid var(--cw-accent); border-radius: 50%; }
90
+ .cw-brand__mark b { position: relative; z-index: 1; font-weight: 800; }
91
+ .cw-brand__logo { width: 32px; height: 32px; object-fit: contain; }
92
+ .cw-brand strong, .cw-brand small { display: block; }
93
+ .cw-brand strong { font-size: 14px; font-weight: 750; letter-spacing: -.01em; line-height: 1.1; }
94
+ .cw-brand small { margin-top: 4px; color: var(--cw-muted); font-size: 8px; font-weight: 750; letter-spacing: .16em; line-height: 1; }
95
+ .cw-nav { display: flex; align-self: stretch; align-items: center; gap: 24px; margin: auto; }
96
+ .cw-nav-item { position: relative; display: flex; align-items: center; height: 100%; }
97
+ .cw-nav a, .cw-nav-item > button { position: relative; display: flex; align-items: center; gap: 5px; height: 100%; padding: 0; color: var(--cw-muted); border: 0; background: transparent; cursor: pointer; font-size: 13px; font-weight: 560; transition: color .2s; }
98
+ .cw-nav-item > button svg { width: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; transition: transform .2s; }
99
+ .cw-nav-item.is-open > button svg { transform: rotate(180deg); }
100
+ .cw-nav a::after { position: absolute; right: 50%; bottom: -1px; left: 50%; height: 2px; border-radius: 2px; background: var(--cw-accent); content: ''; transition: inset .2s; }
101
+ .cw-nav a:hover, .cw-nav-item > button:hover { color: var(--cw-text); }
102
+ .cw-nav a:hover::after { right: 0; left: 0; }
103
+ .cw-nav-dropdown { position: absolute; top: calc(100% - 8px); left: 50%; z-index: 40; display: none; width: max-content; min-width: 150px; padding: 6px; border: 1px solid var(--cw-border); border-radius: 11px; background: var(--cw-surface); box-shadow: var(--cw-shadow); transform: translateX(-50%); }
104
+ .cw-nav-item:hover .cw-nav-dropdown, .cw-nav-item:focus-within .cw-nav-dropdown, .cw-nav-item.is-open .cw-nav-dropdown { display: block; }
105
+ .cw-nav-dropdown a { display: block; height: auto; padding: 8px 10px; border-radius: 7px; color: var(--cw-text-soft); font-size: 12px; white-space: nowrap; }
106
+ .cw-nav-dropdown a::after { display: none; }
107
+ .cw-nav-dropdown a:hover { color: var(--cw-accent); background: var(--cw-accent-soft); }
108
+ .cw-header__actions { display: flex; align-items: center; gap: 8px; }
109
+ .cw-search-trigger { display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 7px 0 10px; color: var(--cw-muted); border: 1px solid var(--cw-border); border-radius: 9px; background: var(--cw-surface-soft); cursor: pointer; font-size: 12px; transition: border-color .2s, background .2s; }
110
+ .cw-search-trigger:hover { color: var(--cw-text); border-color: var(--cw-border-strong); background: var(--cw-surface); }
111
+ .cw-search-trigger svg, .cw-icon-button svg { width: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
112
+ kbd { padding: 1px 5px; color: var(--cw-muted); border: 1px solid var(--cw-border); border-radius: 5px; background: var(--cw-surface); font-family: inherit; font-size: 10px; line-height: 18px; }
113
+ .cw-icon-button, .cw-menu-button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: var(--cw-muted); border: 1px solid transparent; border-radius: 9px; background: transparent; cursor: pointer; }
114
+ .cw-icon-button:hover, .cw-menu-button:hover { color: var(--cw-text); border-color: var(--cw-border); background: var(--cw-surface-soft); }
115
+ .cw-menu-button { display: none; gap: 4px; }
116
+ .cw-menu-button span { display: block; width: 14px; height: 1.5px; background: currentColor; }
117
+
118
+ /* Home */
119
+ .cw-home { position: relative; width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
120
+ .cw-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; min-height: calc(100vh - 136px); padding: 72px 0 86px; }
121
+ .cw-hero__content { position: relative; z-index: 2; max-width: 680px; }
122
+ .cw-hero__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: var(--cw-accent); font-size: 11px; font-weight: 750; letter-spacing: .15em; }
123
+ .cw-hero__eyebrow span { width: 24px; height: 1px; background: currentColor; }
124
+ .cw-hero h1 { margin: 0; font-size: clamp(44px, 6vw, 72px); font-weight: 720; letter-spacing: -.055em; line-height: 1.04; }
125
+ .cw-hero h1 > span { display: block; }
126
+ .cw-hero__name { width: fit-content; margin-bottom: 7px; color: var(--cw-accent); font-size: .86em; }
127
+ .cw-hero__tagline { max-width: 590px; margin: 25px 0 0; color: var(--cw-muted); font-size: clamp(16px, 1.7vw, 19px); line-height: 1.75; }
128
+ .cw-home-search { display: flex; align-items: center; width: min(590px, 100%); height: 58px; margin-top: 34px; padding: 6px 7px 6px 18px; border: 1px solid var(--cw-border-strong); border-radius: 14px; background: var(--cw-surface); box-shadow: 0 10px 35px rgba(31, 35, 48, .08), 0 1px 3px rgba(31, 35, 48, .05); transition: border-color .2s, box-shadow .2s; }
129
+ .cw-home-search:focus-within { border-color: var(--cw-accent); box-shadow: 0 0 0 4px var(--cw-accent-soft), 0 12px 38px rgba(31, 35, 48, .09); }
130
+ .cw-home-search > svg { flex: 0 0 auto; width: 20px; fill: none; stroke: var(--cw-muted); stroke-linecap: round; stroke-width: 1.7; }
131
+ .cw-home-search input { min-width: 0; flex: 1; padding: 0 13px; color: var(--cw-text); border: 0; outline: 0; background: transparent; font-size: 14px; }
132
+ .cw-home-search input::placeholder { color: #989ca5; }
133
+ .cw-home-search button { align-self: stretch; margin-left: 10px; padding: 0 17px; color: #fff; border: 0; border-radius: 9px; background: var(--cw-accent); cursor: pointer; font-size: 12px; font-weight: 700; transition: background .2s, transform .2s; }
134
+ .cw-home-search button:hover { background: var(--cw-accent-hover); }
135
+ .cw-home-search button:active { transform: scale(.97); }
136
+ .cw-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
137
+ .cw-hero__actions a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 42px; padding: 0 17px; border: 1px solid var(--cw-border); border-radius: 10px; font-size: 13px; font-weight: 650; transition: transform .2s, border-color .2s, background .2s; }
138
+ .cw-hero__actions a:hover { transform: translateY(-1px); border-color: var(--cw-border-strong); background: var(--cw-surface-soft); }
139
+ .cw-hero__actions a.is-brand { color: #fff; border-color: var(--cw-text); background: var(--cw-text); }
140
+ .cw-hero__actions a.is-brand:hover { border-color: #2d2f36; background: #2d2f36; }
141
+ .dark .cw-hero__actions a.is-brand { color: #121318; border-color: #f1f2f4; background: #f1f2f4; }
142
+ .cw-hero__actions svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
143
+ .cw-hero__visual { position: relative; width: min(420px, 100%); aspect-ratio: 1; justify-self: end; }
144
+ .cw-hero__visual::before { position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--cw-accent) 13%, transparent), transparent 66%); content: ''; filter: blur(8px); }
145
+ .cw-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid var(--cw-border); border-radius: 50%; transform: translate(-50%, -50%) rotate(-13deg); }
146
+ .cw-orbit--outer { width: 88%; height: 62%; }
147
+ .cw-orbit--inner { width: 60%; height: 84%; transform: translate(-50%, -50%) rotate(33deg); }
148
+ .cw-hero__core { position: absolute; top: 50%; left: 50%; display: grid; width: 152px; height: 152px; place-items: center; color: var(--cw-text); border: 0; border-radius: 50%; background: transparent; transform: translate(-50%, -50%) rotate(7deg); }
149
+ .cw-hero__core img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; filter: drop-shadow(0 18px 20px rgba(40, 40, 80, .16)); transform: rotate(-7deg); }
150
+ .cw-hero__core span { font-size: 40px; font-weight: 800; letter-spacing: -.08em; line-height: .85; transform: rotate(-7deg); }
151
+ .cw-hero__core small { font-size: 8px; font-weight: 800; letter-spacing: .22em; transform: rotate(-7deg); }
152
+ .cw-node { position: absolute; z-index: 2; padding: 7px 11px; color: var(--cw-text-soft); border: 1px solid var(--cw-border); border-radius: 999px; background: var(--cw-surface); box-shadow: 0 8px 24px rgba(26, 28, 38, .07); font-size: 11px; font-weight: 650; }
153
+ .cw-node::before { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--cw-accent); content: ''; vertical-align: 1px; }
154
+ .cw-node--1 { top: 16%; left: 8%; }
155
+ .cw-node--2 { top: 28%; right: 2%; }
156
+ .cw-node--3 { right: 12%; bottom: 15%; }
157
+ .cw-node--4 { bottom: 18%; left: 3%; }
158
+ .cw-node--5 { top: 5%; left: 48%; }
159
+ .cw-node--6 { right: 0; bottom: 42%; }
160
+ .cw-dot { position: absolute; width: 9px; height: 9px; border: 2px solid var(--cw-bg); border-radius: 50%; background: var(--cw-accent); box-shadow: 0 0 0 1px var(--cw-accent); }
161
+ .cw-dot--one { bottom: 22%; left: 8%; }
162
+ .cw-dot--two { top: 8%; left: 55%; width: 6px; height: 6px; }
163
+ .cw-home-note { display: flex; align-items: center; gap: 12px; margin-top: -44px; padding: 18px 0 28px; color: var(--cw-muted); border-top: 1px solid var(--cw-border); font-size: 12px; }
164
+ .cw-home-note span { width: 6px; height: 6px; border-radius: 50%; background: #39a77e; box-shadow: 0 0 0 4px color-mix(in srgb, #39a77e 12%, transparent); }
165
+ .cw-home-note p { margin: 0; }
166
+
167
+ /* Search and archive */
168
+ .cw-explorer, .cw-archive { width: min(1040px, calc(100% - 48px)); margin: auto; padding: 64px 0 88px; }
169
+ .cw-explorer__header { padding-bottom: 34px; border-bottom: 1px solid var(--cw-border); }
170
+ .cw-explorer__header h1, .cw-archive h1 { margin: 8px 0 20px; font-size: clamp(32px, 4vw, 48px); font-weight: 720; letter-spacing: -.04em; line-height: 1.15; }
171
+ .cw-explorer__search { display: flex; align-items: center; width: min(680px, 100%); height: 50px; padding: 0 16px; border: 1px solid var(--cw-border-strong); border-radius: 11px; background: var(--cw-surface); box-shadow: 0 4px 18px rgba(20, 22, 32, .04); }
172
+ .cw-explorer__search:focus-within { border-color: var(--cw-accent); box-shadow: 0 0 0 3px var(--cw-accent-soft); }
173
+ .cw-explorer__search span { color: var(--cw-accent); font-size: 20px; }
174
+ .cw-explorer__search input { min-width: 0; flex: 1; padding: 0 12px; color: var(--cw-text); border: 0; outline: 0; background: none; }
175
+ .cw-explorer__body { display: grid; grid-template-columns: 180px 1fr; gap: 38px; padding-top: 30px; }
176
+ .cw-filter-panel { position: sticky; top: 94px; align-self: start; }
177
+ .cw-filter-panel > p { margin: 0 0 10px; color: var(--cw-muted); font-size: 11px; font-weight: 700; }
178
+ .cw-filter-panel button { display: flex; justify-content: space-between; width: 100%; margin: 2px 0; padding: 8px 10px; color: var(--cw-muted); border: 0; border-radius: 7px; background: transparent; cursor: pointer; text-align: left; font-size: 12px; }
179
+ .cw-filter-panel button:hover { color: var(--cw-text); background: var(--cw-surface-soft); }
180
+ .cw-filter-panel button.active { color: var(--cw-accent); background: var(--cw-accent-soft); font-weight: 700; }
181
+ .cw-filter-panel b { font-size: 10px; }
182
+ .cw-results__summary { margin-bottom: 8px; color: var(--cw-muted); font-size: 12px; }
183
+ .cw-results__summary strong { color: var(--cw-text); }
184
+ .cw-result { display: block; padding: 21px 4px; border-top: 1px solid var(--cw-border); }
185
+ .cw-result:last-of-type { border-bottom: 1px solid var(--cw-border); }
186
+ .cw-result:hover h2 { color: var(--cw-accent); }
187
+ .cw-result__meta { display: flex; justify-content: space-between; }
188
+ .cw-result__meta span { color: var(--cw-accent); font-size: 10px; font-weight: 750; letter-spacing: .06em; }
189
+ .cw-result__meta small { color: var(--cw-muted); font-size: 10px; }
190
+ .cw-result h2 { margin: 5px 0 3px; font-size: 18px; letter-spacing: -.02em; }
191
+ .cw-result > p { margin: 0; color: var(--cw-muted); font-size: 13px; }
192
+ .cw-result blockquote { margin: 9px 0 0; padding-left: 11px; color: var(--cw-muted); border-left: 2px solid var(--cw-border-strong); font-size: 12px; }
193
+ .cw-empty { padding: 48px 20px; color: var(--cw-muted); border: 1px dashed var(--cw-border-strong); border-radius: var(--cw-radius); text-align: center; }
194
+ .cw-empty strong { color: var(--cw-text); }
195
+ .cw-empty p { margin: 4px 0; font-size: 13px; }
196
+ .cw-archive > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 30px; border-bottom: 1px solid var(--cw-border); }
197
+ .cw-archive > header h1 { margin-bottom: 5px; }
198
+ .cw-archive > header p:last-child { margin: 0; color: var(--cw-muted); font-size: 13px; }
199
+ .cw-archive > header label { display: flex; align-items: center; width: min(300px, 100%); height: 42px; padding: 0 12px; border: 1px solid var(--cw-border); border-radius: 9px; background: var(--cw-surface); }
200
+ .cw-archive > header input { min-width: 0; flex: 1; color: var(--cw-text); border: 0; outline: 0; background: transparent; }
201
+ .cw-archive > header label span { color: var(--cw-accent); }
202
+ .cw-archive-group { display: grid; grid-template-columns: 170px 1fr; gap: 34px; padding: 36px 0; border-bottom: 1px solid var(--cw-border); }
203
+ .cw-archive-group__title { position: sticky; top: 94px; align-self: start; }
204
+ .cw-archive-group__title > span { color: var(--cw-accent); font-size: 10px; font-weight: 700; }
205
+ .cw-archive-group__title h2 { margin: 4px 0; font-size: 20px; letter-spacing: -.02em; }
206
+ .cw-archive-group__title small { color: var(--cw-muted); font-size: 10px; }
207
+ .cw-archive-list a { display: grid; grid-template-columns: minmax(130px, .6fr) 1fr 16px; gap: 18px; align-items: center; min-height: 66px; border-top: 1px solid var(--cw-border); }
208
+ .cw-archive-list a:last-child { border-bottom: 1px solid var(--cw-border); }
209
+ .cw-archive-list a:hover strong { color: var(--cw-accent); }
210
+ .cw-archive-list strong, .cw-archive-list span { display: block; }
211
+ .cw-archive-list strong { font-size: 14px; }
212
+ .cw-archive-list span, .cw-archive-list p { color: var(--cw-muted); font-size: 11px; }
213
+ .cw-archive-list p { margin: 0; }
214
+ .cw-archive-list b { color: var(--cw-accent); font-weight: 400; }
215
+
216
+ /* Documents */
217
+ .cw-doc-shell { display: grid; justify-content: center; width: min(1200px, calc(100% - 40px)); margin: auto; padding: 48px 0 88px; }
218
+ .cw-doc-shell.is-outline, .cw-doc-shell.is-light { grid-template-columns: minmax(0, 180px) minmax(0, 760px) minmax(0, 180px); gap: 32px; }
219
+ .cw-doc-shell.is-outline::before, .cw-doc-shell.is-light::after { content: ''; }
220
+ .cw-doc-shell.is-outline .cw-doc, .cw-doc-shell.is-light .cw-doc { grid-column: 2; }
221
+ .cw-doc-shell.is-outline .cw-outline { grid-column: 3; }
222
+ .cw-doc-shell.is-light .cw-content-sidebar { grid-column: 1; grid-row: 1; }
223
+ .cw-doc-shell.is-none { grid-template-columns: minmax(0, 760px); }
224
+ .cw-doc { min-width: 0; padding: 42px 48px 36px; border: 1px solid var(--cw-border); border-radius: 18px; background: var(--cw-surface); box-shadow: 0 14px 45px rgba(25, 28, 40, .055); }
225
+ .dark .cw-doc { box-shadow: 0 18px 54px rgba(0, 0, 0, .2); }
226
+ .cw-content-sidebar { position: sticky; top: 94px; align-self: start; padding-right: 17px; border-right: 1px solid var(--cw-border); }
227
+ .cw-content-sidebar > p { margin: 0 0 10px; color: var(--cw-text); font-size: 11px; font-weight: 700; }
228
+ .cw-content-sidebar a { display: block; margin: 4px 0; padding: 6px 9px; color: var(--cw-muted); border-radius: 7px; font-size: 11px; transition: color .2s, background .2s; }
229
+ .cw-content-sidebar a:hover, .cw-content-sidebar a.active { color: var(--cw-accent); background: var(--cw-accent-soft); }
230
+ .cw-page-meta { padding-bottom: 22px; border-bottom: 1px solid var(--cw-border-strong); }
231
+ .cw-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--cw-accent); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
232
+ .cw-eyebrow span { width: 17px; height: 1px; background: currentColor; }
233
+ .cw-page-meta h1 { margin: 12px 0 8px; font-size: clamp(36px, 5vw, 54px); font-weight: 730; letter-spacing: -.045em; line-height: 1.12; }
234
+ .cw-page-description { max-width: 620px; margin: 0; color: var(--cw-muted); font-size: 16px; line-height: 1.7; }
235
+ .cw-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
236
+ .cw-tags span { padding: 3px 9px; color: var(--cw-muted); border: 1px solid var(--cw-border); border-radius: 999px; background: var(--cw-surface-soft); font-size: 10px; }
237
+ .cw-meta-contributors { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 15px; color: var(--cw-muted); font-size: 11px; }
238
+ .cw-meta-contributors > span { flex: 0 0 auto; }
239
+ .cw-meta-contributors .cw-contributors { margin-top: 0; }
240
+ .cw-outline { position: sticky; top: 88px; align-self: start; max-height: calc(100vh - 112px); padding: 0 8px 8px 17px; overflow-y: auto; overscroll-behavior: contain; border-left: 1px solid var(--cw-border); scrollbar-color: var(--cw-border-strong) transparent; scrollbar-width: thin; }
241
+ .cw-outline > p { margin: 0 0 10px; color: var(--cw-text); font-size: 11px; font-weight: 700; }
242
+ .cw-outline a { display: block; margin: 8px 0; color: var(--cw-muted); font-size: 11px; line-height: 1.5; transition: color .2s; }
243
+ .cw-outline a:hover { color: var(--cw-accent); }
244
+ .cw-outline .level-3 { padding-left: 10px; }
245
+ .cw-prose { min-width: 0; padding-top: 14px; color: var(--cw-text-soft); font-size: 15.5px; line-height: 1.75; overflow-wrap: anywhere; }
246
+ .cw-prose h1 { display: none; }
247
+ .cw-prose h2, .cw-prose h3, .cw-prose h4 { position: relative; color: var(--cw-text); font-weight: 700; letter-spacing: -.025em; }
248
+ .cw-prose h2 { margin: 1.65rem 0 .55rem; font-size: 25px; line-height: 1.35; }
249
+ .cw-prose h3 { margin: 1.25rem 0 .45rem; font-size: 19px; }
250
+ .cw-prose h4 { margin: 1rem 0 .35rem; font-size: 16px; }
251
+ .cw-prose .header-anchor { position: absolute; margin-left: -1em; color: var(--cw-accent); opacity: 0; text-decoration: none; transition: opacity .2s; }
252
+ .cw-prose h2:hover .header-anchor, .cw-prose h3:hover .header-anchor { opacity: .65; }
253
+ .cw-prose p { margin: .72em 0; }
254
+ .cw-prose strong { color: var(--cw-text); font-weight: 680; }
255
+ .cw-prose a { color: var(--cw-accent); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--cw-accent) 35%, transparent); text-underline-offset: 3px; transition: text-decoration-color .2s; }
256
+ .cw-prose a:hover { text-decoration-color: var(--cw-accent); }
257
+ .cw-prose ul, .cw-prose ol { margin: 1em 0; padding-left: 1.35em; }
258
+ .cw-prose ul { list-style: none; }
259
+ .cw-prose ol { list-style: decimal; }
260
+ .cw-prose li { margin: .42em 0; padding-left: .2em; }
261
+ .cw-prose ul > li::before { display: inline-block; width: 5px; height: 5px; margin: 0 .75em .13em -1.2em; border-radius: 50%; background: var(--cw-accent); content: ''; }
262
+ .cw-prose hr { height: 1px; margin: 2.6em 0; border: 0; background: var(--cw-border); }
263
+ .cw-prose img { display: block; height: auto; margin: 1.6em auto; border: 1px solid var(--cw-border); border-radius: 12px; }
264
+ .cw-table-scroll { width: 100%; margin: 1.35em 0; overflow-x: auto; border: 1px solid var(--cw-border); border-radius: 10px; }
265
+ .cw-prose table { display: table; width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; font-size: 13px; white-space: nowrap; }
266
+ .cw-prose th, .cw-prose td { min-width: 110px; padding: 10px 13px; border-right: 1px solid var(--cw-border); border-bottom: 1px solid var(--cw-border); text-align: left; }
267
+ .cw-prose th { color: var(--cw-text); background: var(--cw-surface-soft); font-weight: 650; }
268
+ .cw-prose tr:last-child td { border-bottom: 0; }
269
+ .cw-prose th:last-child, .cw-prose td:last-child { border-right: 0; }
270
+ .cw-prose blockquote { margin: 1.5em 0; padding: 2px 0 2px 18px; color: var(--cw-muted); border-left: 3px solid var(--cw-accent); }
271
+ .cw-prose blockquote p { margin: .5em 0; }
272
+ .cw-spoiler { display: inline; margin: 0; padding: 1px 5px; color: transparent; border: 0; border-radius: 4px; background: var(--cw-text); cursor: pointer; font: inherit; line-height: inherit; text-align: inherit; transition: color .18s, background .18s; }
273
+ .cw-spoiler:hover, .cw-spoiler:focus-visible, .cw-spoiler.is-revealed { color: var(--cw-text); background: var(--cw-accent-soft); }
274
+ .cw-spoiler:focus-visible { outline: 2px solid var(--cw-accent); outline-offset: 2px; }
275
+ .cw-wikilink { font-weight: 600; text-decoration-style: dotted !important; }
276
+ .cw-wikilink::before { content: '↗ '; font-size: .72em; }
277
+ .cw-callout { --cw-callout-color: #5185d4; position: relative; margin: 1.35em 0; padding: 14px 17px 14px 46px; color: var(--cw-text-soft); border: 1px solid color-mix(in srgb, var(--cw-callout-color) 28%, var(--cw-border)); border-radius: 11px; background: color-mix(in srgb, var(--cw-callout-color) 7%, var(--cw-surface)); font-size: 14px; }
278
+ .cw-callout--tip { --cw-callout-color: #3d9b72; }
279
+ .cw-callout--warning { --cw-callout-color: #c58a2a; }
280
+ .cw-callout--danger { --cw-callout-color: #d45555; }
281
+ .cw-callout__icon { position: absolute; top: 14px; left: 16px; display: grid; width: 20px; height: 20px; place-items: center; color: white; border-radius: 50%; background: var(--cw-callout-color); font-size: 12px; font-weight: 800; line-height: 1; }
282
+ .cw-callout__title { margin: 0 0 4px !important; color: color-mix(in srgb, var(--cw-callout-color) 82%, var(--cw-text)); font-size: 13px; font-weight: 720; line-height: 1.5; }
283
+ .cw-callout > p:last-child { margin-bottom: 0; }
284
+ .cw-callout--details { padding: 0; overflow: hidden; }
285
+ .cw-callout--details summary { padding: 13px 16px; color: var(--cw-text); cursor: pointer; font-size: 13px; font-weight: 700; }
286
+ .cw-callout--details[open] summary { border-bottom: 1px solid color-mix(in srgb, var(--cw-callout-color) 22%, var(--cw-border)); }
287
+ .cw-callout--details > :not(summary) { margin-right: 16px; margin-left: 16px; }
288
+ .cw-doc-footer { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 54px; padding-top: 18px; color: var(--cw-muted); border-top: 1px solid var(--cw-border); font-size: 11px; }
289
+ .cw-doc-footer a { color: var(--cw-accent); }
290
+ .cw-doc-footer span { margin-left: auto; }
291
+ .cw-page-navigation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 48px; }
292
+ .cw-page-navigation a { display: flex; min-width: 0; flex-direction: column; padding: 13px 15px; border: 1px solid var(--cw-border); border-radius: 10px; }
293
+ .cw-page-navigation a:last-child { align-items: flex-end; text-align: right; }
294
+ .cw-page-navigation a:hover { border-color: var(--cw-accent); background: var(--cw-accent-soft); }
295
+ .cw-page-navigation small { color: var(--cw-muted); font-size: 10px; }
296
+ .cw-page-navigation strong { overflow: hidden; color: var(--cw-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
297
+
298
+ /* Special pages and search overlay */
299
+ .cw-special-content { width: min(1120px, calc(100% - 48px)); margin: auto; padding: 48px 0 84px; }
300
+ .cw-special-content > div > h1 { display: none; }
301
+ .cw-contributor-page { width: min(1000px, calc(100% - 48px)); margin: auto; padding: 58px 0 88px; }
302
+ .cw-contributor-page > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 26px; border-bottom: 1px solid var(--cw-border); }
303
+ .cw-contributor-page h1 { margin: 6px 0 2px; font-size: clamp(34px, 5vw, 50px); letter-spacing: -.04em; }
304
+ .cw-contributor-page header p:last-child { margin: 0; color: var(--cw-muted); font-size: 13px; }
305
+ .cw-contributor-page header > strong { color: var(--cw-accent); font-family: Georgia, serif; font-size: 36px; }
306
+ .cw-contributor-page header > strong small { color: var(--cw-muted); font: 600 11px var(--cw-sans); }
307
+ .cw-contributor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 24px; }
308
+ .cw-contributor-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-width: 0; padding: 16px; border: 1px solid var(--cw-border); border-radius: 13px; background: var(--cw-surface); }
309
+ a.cw-contributor-card:hover { border-color: var(--cw-accent); background: var(--cw-accent-soft); }
310
+ .cw-contributor-card > img, .cw-contributor-card > span { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; }
311
+ .cw-contributor-card > span { display: grid; place-items: center; color: white; background: var(--cw-accent); font-size: 13px; font-weight: 800; }
312
+ .cw-contributor-card h2 { margin: 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
313
+ .cw-contributor-card p { margin: 2px 0 0; color: var(--cw-muted); font-size: 11px; }
314
+ .cw-contributor-card > b { color: var(--cw-accent); font-family: Georgia, serif; font-size: 23px; white-space: nowrap; }
315
+ .cw-contributor-card > b small { margin-left: 2px; color: var(--cw-muted); font: 600 10px var(--cw-sans); }
316
+ .cw-search-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: start center; padding: 14vh 18px 20px; background: rgba(15, 16, 22, .48); backdrop-filter: blur(8px); }
317
+ .cw-search-dialog { width: min(640px, 100%); overflow: hidden; border: 1px solid var(--cw-border-strong); border-radius: 15px; background: var(--cw-surface); box-shadow: var(--cw-shadow); }
318
+ .cw-search-dialog__input { display: flex; align-items: center; gap: 11px; height: 60px; padding: 0 17px; border-bottom: 1px solid var(--cw-border); }
319
+ .cw-search-dialog__input > span { color: var(--cw-accent); font-size: 21px; }
320
+ .cw-search-dialog__input input { min-width: 0; flex: 1; color: var(--cw-text); border: 0; outline: 0; background: none; }
321
+ .cw-search-dialog__results { max-height: 360px; overflow-y: auto; padding: 7px; }
322
+ .cw-search-dialog__results button { display: grid; grid-template-columns: 76px 1fr; width: 100%; padding: 11px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; text-align: left; }
323
+ .cw-search-dialog__results button:hover { background: var(--cw-accent-soft); }
324
+ .cw-search-dialog__results span { grid-row: span 2; color: var(--cw-accent); font-size: 10px; font-weight: 700; }
325
+ .cw-search-dialog__results strong { font-size: 14px; }
326
+ .cw-search-dialog__results small { color: var(--cw-muted); font-size: 11px; }
327
+ .cw-search-dialog__results > p { color: var(--cw-muted); text-align: center; }
328
+ .cw-search-dialog__all { display: flex; justify-content: space-between; width: 100%; padding: 12px 17px; color: var(--cw-accent); border: 0; border-top: 1px solid var(--cw-border); background: var(--cw-surface-soft); cursor: pointer; font-size: 11px; font-weight: 700; }
329
+
330
+ @media (max-width: 900px) {
331
+ .cw-header__inner { padding: 0 18px; }
332
+ .cw-brand { min-width: 0; margin-right: auto; }
333
+ .cw-nav { position: absolute; top: 64px; right: 0; left: 0; display: none; height: auto; padding: 9px 18px 13px; border-bottom: 1px solid var(--cw-border); background: var(--cw-surface); box-shadow: 0 12px 25px rgba(20, 22, 30, .07); }
334
+ .cw-nav.is-open { display: grid; gap: 0; }
335
+ .cw-nav-item { display: block; height: auto; }
336
+ .cw-nav a, .cw-nav-item > button { width: 100%; height: 42px; justify-content: space-between; }
337
+ .cw-nav a::after { display: none; }
338
+ .cw-nav-dropdown { position: static; display: none; width: 100%; padding: 2px 0 8px 12px; border: 0; background: transparent; box-shadow: none; transform: none; }
339
+ .cw-nav-item:hover .cw-nav-dropdown, .cw-nav-item:focus-within .cw-nav-dropdown { display: none; }
340
+ .cw-nav-item.is-open .cw-nav-dropdown { display: block; }
341
+ .cw-nav-dropdown a { height: 38px; padding: 0 12px; justify-content: flex-start; border-left: 1px solid var(--cw-border); border-radius: 0; }
342
+ .cw-menu-button { display: grid; }
343
+ .cw-hero { grid-template-columns: minmax(0, 1fr) 300px; }
344
+ .cw-doc-shell.is-outline, .cw-doc-shell.is-light { grid-template-columns: minmax(0, 740px); }
345
+ .cw-doc-shell.is-outline::before, .cw-doc-shell.is-light::after { display: none; }
346
+ .cw-doc-shell.is-outline .cw-doc, .cw-doc-shell.is-light .cw-doc { grid-column: auto; }
347
+ .cw-outline, .cw-content-sidebar { display: none; }
348
+ }
349
+
350
+ @media (max-width: 700px) {
351
+ .cw-brand small { display: none; }
352
+ .cw-search-trigger span, .cw-search-trigger kbd { display: none; }
353
+ .cw-search-trigger { width: 34px; padding: 0; justify-content: center; background: transparent; }
354
+ .cw-home, .cw-explorer, .cw-archive, .cw-special-content, .cw-contributor-page { width: calc(100% - 24px); }
355
+ .cw-hero { display: block; min-height: 0; padding: 62px 0 90px; }
356
+ .cw-hero h1 { font-size: clamp(40px, 13vw, 58px); }
357
+ .cw-hero__tagline { margin-top: 20px; font-size: 16px; }
358
+ .cw-home-search { height: 54px; margin-top: 28px; }
359
+ .cw-home-search kbd { display: none; }
360
+ .cw-home-search button { margin-left: 4px; }
361
+ .cw-hero__visual { width: 260px; margin: 56px auto 0; }
362
+ .cw-hero__core { width: 90px; height: 90px; border-width: 7px; border-radius: 24px; }
363
+ .cw-hero__core span { font-size: 32px; }
364
+ .cw-node { font-size: 9px; }
365
+ .cw-home-note { margin-top: 0; }
366
+ .cw-explorer, .cw-archive { padding-top: 44px; }
367
+ .cw-explorer__body { grid-template-columns: 1fr; gap: 22px; }
368
+ .cw-filter-panel { position: static; display: flex; gap: 6px; overflow-x: auto; }
369
+ .cw-filter-panel > p { display: none; }
370
+ .cw-filter-panel button { width: auto; flex: 0 0 auto; border: 1px solid var(--cw-border); border-radius: 999px; }
371
+ .cw-result__meta small { display: none; }
372
+ .cw-archive > header { align-items: stretch; flex-direction: column; gap: 20px; }
373
+ .cw-archive-group { display: block; padding: 28px 0; }
374
+ .cw-archive-group__title { position: static; margin-bottom: 14px; }
375
+ .cw-archive-list a { grid-template-columns: 1fr 16px; gap: 8px; padding: 11px 0; }
376
+ .cw-archive-list p { grid-column: 1 / -1; grid-row: 2; }
377
+ .cw-doc-shell { width: calc(100% - 20px); padding: 24px 0 54px; }
378
+ .cw-doc { padding: 27px 20px 25px; border-radius: 14px; }
379
+ .cw-page-meta h1 { font-size: clamp(30px, 10vw, 36px); }
380
+ .cw-prose { padding-top: 22px; font-size: 15px; }
381
+ .cw-prose h2 { font-size: 22px; }
382
+ .cw-prose div[class*='language-'], .cw-table-scroll { max-width: 100%; }
383
+ .cw-page-navigation { grid-template-columns: minmax(0, 1fr); }
384
+ .cw-page-navigation > span { display: none; }
385
+ .cw-doc-footer span { width: 100%; margin-left: 0; }
386
+ .cw-contributor-page { padding-top: 38px; }
387
+ .cw-contributor-page > header { align-items: flex-start; flex-direction: column; }
388
+ .cw-contributor-grid { grid-template-columns: minmax(0, 1fr); }
389
+ .cw-search-overlay { padding-top: 5vh; }
390
+ .cw-not-found { padding-bottom: 82px; }
391
+ .cw-not-found__number { margin-bottom: -24px; }
392
+ }
393
+
394
+ @media (max-width: 380px) {
395
+ .cw-header__inner { padding: 0 12px; }
396
+ .cw-brand { gap: 8px; }
397
+ .cw-brand strong { max-width: 112px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
398
+ .cw-home-search { padding-left: 12px; }
399
+ .cw-home-search input { padding: 0 8px; font-size: 12px; }
400
+ .cw-home-search button { padding: 0 12px; }
401
+ .cw-hero h1 { font-size: clamp(35px, 12vw, 46px); }
402
+ .cw-doc { padding-right: 16px; padding-left: 16px; }
403
+ .cw-contributor-card { grid-template-columns: 44px minmax(0, 1fr) auto; padding: 12px; }
404
+ .cw-contributor-card > img, .cw-contributor-card > span { width: 44px; height: 44px; }
405
+ }