kward 0.69.1 → 0.70.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/doc/configuration.md +1 -1
- data/doc/getting-started.md +3 -1
- data/doc/usage.md +9 -2
- data/lib/kward/cli/prompt_interface.rb +5 -1
- data/lib/kward/cli/sessions.rb +197 -7
- data/lib/kward/cli/slash_commands.rb +16 -7
- data/lib/kward/cli.rb +1 -0
- data/lib/kward/conversation.rb +15 -0
- data/lib/kward/model/model_info.rb +9 -2
- data/lib/kward/prompt_interface/overlay_renderer.rb +24 -0
- data/lib/kward/prompt_interface/prompt_renderer.rb +13 -11
- data/lib/kward/prompt_interface/screen.rb +9 -4
- data/lib/kward/prompt_interface/selection_prompt.rb +7 -9
- data/lib/kward/prompt_interface/slash_overlay.rb +4 -4
- data/lib/kward/prompt_interface.rb +9 -4
- data/lib/kward/prompts/commands.rb +4 -2
- data/lib/kward/rpc/session_manager.rb +2 -2
- data/lib/kward/session_diff.rb +106 -9
- data/lib/kward/session_tree_renderer.rb +2 -1
- data/lib/kward/version.rb +1 -1
- data/templates/default/fulldoc/html/css/kward.css +314 -71
- data/templates/default/fulldoc/html/js/kward.js +100 -97
- data/templates/default/layout/html/layout.erb +21 -6
- data/templates/default/layout/html/setup.rb +1 -1
- metadata +1 -1
|
@@ -14,6 +14,26 @@
|
|
|
14
14
|
|
|
15
15
|
html {
|
|
16
16
|
background: var(--kward-bg);
|
|
17
|
+
color-scheme: dark;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.kward-skip-link {
|
|
21
|
+
background: var(--kward-accent);
|
|
22
|
+
border-radius: 0 0 8px 8px;
|
|
23
|
+
color: #030604;
|
|
24
|
+
font-weight: 700;
|
|
25
|
+
left: 50%;
|
|
26
|
+
padding: 10px 20px;
|
|
27
|
+
position: fixed;
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
top: 0;
|
|
30
|
+
transform: translateY(-100%);
|
|
31
|
+
transition: transform 120ms ease;
|
|
32
|
+
z-index: 9400;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.kward-skip-link:focus {
|
|
36
|
+
transform: translateY(0);
|
|
17
37
|
}
|
|
18
38
|
|
|
19
39
|
body.kward-docs {
|
|
@@ -28,15 +48,9 @@ body.kward-docs {
|
|
|
28
48
|
min-height: 100%;
|
|
29
49
|
opacity: 1;
|
|
30
50
|
overflow: auto;
|
|
31
|
-
transition: opacity 120ms ease;
|
|
32
51
|
width: 100%;
|
|
33
52
|
}
|
|
34
53
|
|
|
35
|
-
html.kward-page-loading body.kward-docs {
|
|
36
|
-
cursor: progress;
|
|
37
|
-
opacity: 0.72;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
54
|
body.kward-docs::before {
|
|
41
55
|
background-image:
|
|
42
56
|
linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
|
|
@@ -180,6 +194,11 @@ body.kward-docs::before {
|
|
|
180
194
|
color: var(--kward-ink);
|
|
181
195
|
}
|
|
182
196
|
|
|
197
|
+
.kward-guide-search-results a.kward-search-active {
|
|
198
|
+
background: rgba(156, 175, 53, 0.2);
|
|
199
|
+
color: var(--kward-accent-bright);
|
|
200
|
+
}
|
|
201
|
+
|
|
183
202
|
.kward-guide-search-results strong {
|
|
184
203
|
color: var(--kward-accent-bright);
|
|
185
204
|
display: block;
|
|
@@ -195,23 +214,58 @@ body.kward-docs::before {
|
|
|
195
214
|
}
|
|
196
215
|
|
|
197
216
|
.kward-nav-toggle {
|
|
217
|
+
align-items: center;
|
|
198
218
|
background: transparent;
|
|
199
219
|
border: 1px solid rgba(156, 175, 53, 0.52);
|
|
200
220
|
border-radius: 8px;
|
|
201
221
|
color: var(--kward-accent-bright);
|
|
202
222
|
cursor: pointer;
|
|
203
223
|
display: none;
|
|
224
|
+
flex-direction: column;
|
|
204
225
|
font: inherit;
|
|
226
|
+
gap: 5px;
|
|
227
|
+
justify-content: center;
|
|
205
228
|
justify-self: end;
|
|
206
|
-
padding: 12px
|
|
229
|
+
padding: 10px 12px;
|
|
207
230
|
text-decoration: none;
|
|
208
231
|
}
|
|
209
232
|
|
|
233
|
+
.kward-nav-toggle-bar {
|
|
234
|
+
background: var(--kward-accent-bright);
|
|
235
|
+
border-radius: 2px;
|
|
236
|
+
display: block;
|
|
237
|
+
height: 2px;
|
|
238
|
+
transition: transform 140ms ease, opacity 140ms ease;
|
|
239
|
+
width: 22px;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
body.kward-nav-open .kward-nav-toggle-bar:nth-child(1) {
|
|
243
|
+
transform: translateY(7px) rotate(45deg);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
body.kward-nav-open .kward-nav-toggle-bar:nth-child(2) {
|
|
247
|
+
opacity: 0;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
body.kward-nav-open .kward-nav-toggle-bar:nth-child(3) {
|
|
251
|
+
transform: translateY(-7px) rotate(-45deg);
|
|
252
|
+
}
|
|
253
|
+
|
|
210
254
|
.kward-nav-toggle:hover {
|
|
211
255
|
background: rgba(156, 175, 53, 0.12);
|
|
212
256
|
color: var(--kward-accent-bright);
|
|
213
257
|
}
|
|
214
258
|
|
|
259
|
+
/* Keyboard focus indicators for interactive elements. */
|
|
260
|
+
body.kward-docs a:focus-visible,
|
|
261
|
+
body.kward-docs button:focus-visible,
|
|
262
|
+
body.kward-docs input:focus-visible,
|
|
263
|
+
body.kward-docs .kward-nav-toggle:focus-visible,
|
|
264
|
+
body.kward-docs .kward-nav-menu-button:focus-visible {
|
|
265
|
+
outline: 2px solid var(--kward-accent-bright);
|
|
266
|
+
outline-offset: 2px;
|
|
267
|
+
}
|
|
268
|
+
|
|
215
269
|
body.kward-docs .nav_wrap,
|
|
216
270
|
body.kward-docs #resizer {
|
|
217
271
|
display: none;
|
|
@@ -315,7 +369,7 @@ body.kward-docs #footer {
|
|
|
315
369
|
}
|
|
316
370
|
|
|
317
371
|
.kward-nav-toggle {
|
|
318
|
-
display:
|
|
372
|
+
display: flex;
|
|
319
373
|
}
|
|
320
374
|
|
|
321
375
|
|
|
@@ -371,6 +425,101 @@ body.kward-docs #footer {
|
|
|
371
425
|
color: var(--kward-accent-bright);
|
|
372
426
|
}
|
|
373
427
|
|
|
428
|
+
/*
|
|
429
|
+
Hero tagline "swosh": "Your terminal." flies out to the left and is
|
|
430
|
+
replaced by "Your RPC frontend." flying in from the right, then cycles
|
|
431
|
+
back. The second line mirrors it from the opposite side — "Your agent."
|
|
432
|
+
flies out to the right and is replaced by "Your engine." flying in from
|
|
433
|
+
the left — both lines swap in sync. Pure CSS — no JS. The global
|
|
434
|
+
@media (prefers-reduced-motion) rule above collapses the animation to
|
|
435
|
+
the static original copy ("Your terminal. Your agent.") so it remains
|
|
436
|
+
accessible and calm.
|
|
437
|
+
*/
|
|
438
|
+
.kward-swosh {
|
|
439
|
+
box-sizing: content-box;
|
|
440
|
+
display: inline-block;
|
|
441
|
+
height: 0.98em;
|
|
442
|
+
line-height: 0.98;
|
|
443
|
+
margin: -0.16em -0.08em;
|
|
444
|
+
overflow: hidden;
|
|
445
|
+
padding: 0.16em 0.08em;
|
|
446
|
+
position: relative;
|
|
447
|
+
vertical-align: top;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.kward-hero h1 .kward-swosh-text {
|
|
451
|
+
color: var(--kward-ink);
|
|
452
|
+
display: inline-block;
|
|
453
|
+
line-height: 0.98;
|
|
454
|
+
white-space: nowrap;
|
|
455
|
+
will-change: transform, opacity;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/* The longer text ("Your RPC frontend.") stays in flow to size the box;
|
|
459
|
+
the shorter "Your terminal." overlays it absolutely. */
|
|
460
|
+
.kward-swosh-text-a {
|
|
461
|
+
left: 0.08em;
|
|
462
|
+
position: absolute;
|
|
463
|
+
top: 0.16em;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.kward-swosh-text-a {
|
|
467
|
+
animation: kward-swosh-a 12s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.kward-swosh-text-b {
|
|
471
|
+
animation: kward-swosh-b 12s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
|
|
472
|
+
position: relative;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
@keyframes kward-swosh-a {
|
|
476
|
+
0%, 40% { transform: translateX(0); opacity: 1; filter: none; }
|
|
477
|
+
50% { transform: translateX(-140%); opacity: 0; filter: blur(3px); }
|
|
478
|
+
51%, 88% { transform: translateX(140%); opacity: 0; filter: none; }
|
|
479
|
+
100% { transform: translateX(0); opacity: 1; filter: none; }
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
@keyframes kward-swosh-b {
|
|
483
|
+
0%, 40% { transform: translateX(140%); opacity: 0; filter: none; }
|
|
484
|
+
50% { transform: translateX(0); opacity: 1; filter: none; }
|
|
485
|
+
88% { transform: translateX(0); opacity: 1; filter: none; }
|
|
486
|
+
100% { transform: translateX(-140%); opacity: 0; filter: blur(3px); }
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/*
|
|
490
|
+
Second line, mirrored: "Your agent." exits to the right while
|
|
491
|
+
"Your LLM engine." enters from the left (left-to-right), in sync with
|
|
492
|
+
the first swosh. Both texts keep the accent-bright color of the
|
|
493
|
+
original "Your agent." span.
|
|
494
|
+
*/
|
|
495
|
+
.kward-hero h1 .kward-swosh-text-c {
|
|
496
|
+
animation: kward-swosh-c 12s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
|
|
497
|
+
color: var(--kward-accent-bright);
|
|
498
|
+
left: 0.08em;
|
|
499
|
+
position: absolute;
|
|
500
|
+
top: 0.16em;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.kward-hero h1 .kward-swosh-text-d {
|
|
504
|
+
animation: kward-swosh-d 12s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
|
|
505
|
+
color: var(--kward-accent-bright);
|
|
506
|
+
position: relative;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
@keyframes kward-swosh-c {
|
|
510
|
+
0%, 40% { transform: translateX(0); opacity: 1; filter: none; }
|
|
511
|
+
50% { transform: translateX(140%); opacity: 0; filter: blur(3px); }
|
|
512
|
+
51%, 88% { transform: translateX(-140%); opacity: 0; filter: none; }
|
|
513
|
+
100% { transform: translateX(0); opacity: 1; filter: none; }
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
@keyframes kward-swosh-d {
|
|
517
|
+
0%, 40% { transform: translateX(-140%); opacity: 0; filter: none; }
|
|
518
|
+
50% { transform: translateX(0); opacity: 1; filter: none; }
|
|
519
|
+
88% { transform: translateX(0); opacity: 1; filter: none; }
|
|
520
|
+
100% { transform: translateX(140%); opacity: 0; filter: blur(3px); }
|
|
521
|
+
}
|
|
522
|
+
|
|
374
523
|
.kward-lede {
|
|
375
524
|
color: var(--kward-ink);
|
|
376
525
|
font-size: 19px;
|
|
@@ -759,10 +908,17 @@ body.kward-docs #content li,
|
|
|
759
908
|
body.kward-docs #filecontents p,
|
|
760
909
|
body.kward-docs #filecontents li {
|
|
761
910
|
color: var(--kward-ink);
|
|
911
|
+
font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
762
912
|
font-size: 17px;
|
|
763
913
|
line-height: 1.72;
|
|
764
914
|
}
|
|
765
915
|
|
|
916
|
+
body.kward-docs #filecontents p,
|
|
917
|
+
body.kward-docs #filecontents li,
|
|
918
|
+
body.kward-docs #content p {
|
|
919
|
+
max-width: 72ch;
|
|
920
|
+
}
|
|
921
|
+
|
|
766
922
|
body.kward-docs #content ul,
|
|
767
923
|
body.kward-docs #filecontents ul,
|
|
768
924
|
body.kward-docs #content ol,
|
|
@@ -991,69 +1147,107 @@ body.kward-docs .kward-home #footer {
|
|
|
991
1147
|
}
|
|
992
1148
|
|
|
993
1149
|
@media (max-width: 920px) {
|
|
994
|
-
.
|
|
1150
|
+
/* The nav panel: hidden until the hamburger is tapped. */
|
|
1151
|
+
body.kward-docs .kward-topnav {
|
|
995
1152
|
background: rgba(5, 9, 5, 0.98);
|
|
996
1153
|
border: 1px solid rgba(156, 175, 53, 0.32);
|
|
997
1154
|
border-radius: 12px;
|
|
998
1155
|
box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
|
|
999
|
-
display: none;
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1156
|
+
display: none !important;
|
|
1157
|
+
flex-direction: column;
|
|
1158
|
+
gap: 2px;
|
|
1159
|
+
height: auto !important;
|
|
1160
|
+
left: 12px;
|
|
1161
|
+
max-height: calc(100vh - 100px);
|
|
1162
|
+
overflow-y: auto;
|
|
1163
|
+
padding: 8px;
|
|
1004
1164
|
position: fixed;
|
|
1005
|
-
right:
|
|
1165
|
+
right: 12px;
|
|
1006
1166
|
top: 88px;
|
|
1007
1167
|
z-index: 40;
|
|
1008
1168
|
}
|
|
1009
1169
|
|
|
1010
|
-
body.kward-nav-open .kward-topnav {
|
|
1011
|
-
display:
|
|
1170
|
+
body.kward-docs.kward-nav-open .kward-topnav {
|
|
1171
|
+
display: flex !important;
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
/* Every nav item: reset desktop stretch/height, force visibility. */
|
|
1175
|
+
body.kward-docs .kward-nav-menu,
|
|
1176
|
+
body.kward-docs .kward-topnav > a,
|
|
1177
|
+
body.kward-docs .kward-nav-menu-link,
|
|
1178
|
+
body.kward-docs .kward-nav-menu-button {
|
|
1179
|
+
height: auto !important;
|
|
1180
|
+
opacity: 1 !important;
|
|
1181
|
+
pointer-events: auto !important;
|
|
1182
|
+
visibility: visible !important;
|
|
1012
1183
|
}
|
|
1013
1184
|
|
|
1014
|
-
.kward-nav-menu {
|
|
1015
|
-
display:
|
|
1185
|
+
body.kward-docs .kward-nav-menu {
|
|
1186
|
+
display: flex !important;
|
|
1187
|
+
flex-direction: column;
|
|
1188
|
+
position: relative;
|
|
1016
1189
|
}
|
|
1017
1190
|
|
|
1018
|
-
.kward-topnav > a,
|
|
1019
|
-
.kward-nav-menu-link
|
|
1020
|
-
|
|
1191
|
+
body.kward-docs .kward-topnav > a,
|
|
1192
|
+
body.kward-docs .kward-nav-menu-link {
|
|
1193
|
+
align-items: center;
|
|
1021
1194
|
border: 0;
|
|
1022
1195
|
border-radius: 8px;
|
|
1023
1196
|
box-sizing: border-box;
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1197
|
+
color: var(--kward-ink) !important;
|
|
1198
|
+
display: flex !important;
|
|
1199
|
+
font-weight: 700;
|
|
1200
|
+
padding: 14px 16px;
|
|
1201
|
+
text-decoration: none;
|
|
1202
|
+
width: 100%;
|
|
1027
1203
|
}
|
|
1028
1204
|
|
|
1029
|
-
.kward-
|
|
1030
|
-
|
|
1205
|
+
body.kward-docs .kward-nav-menu-button {
|
|
1206
|
+
display: none !important;
|
|
1031
1207
|
}
|
|
1032
1208
|
|
|
1033
|
-
.
|
|
1034
|
-
|
|
1209
|
+
/* All dropdown links visible directly — no accordion on mobile. */
|
|
1210
|
+
body.kward-docs .kward-nav-dropdown {
|
|
1211
|
+
background: transparent !important;
|
|
1212
|
+
border: 0 !important;
|
|
1213
|
+
border-radius: 0 !important;
|
|
1214
|
+
box-shadow: none !important;
|
|
1215
|
+
display: block !important;
|
|
1216
|
+
grid-template-columns: 1fr !important;
|
|
1217
|
+
left: auto !important;
|
|
1218
|
+
opacity: 1 !important;
|
|
1219
|
+
padding: 0 0 4px 8px !important;
|
|
1220
|
+
pointer-events: auto !important;
|
|
1221
|
+
position: static !important;
|
|
1222
|
+
top: auto !important;
|
|
1223
|
+
transform: none !important;
|
|
1224
|
+
transition: none !important;
|
|
1225
|
+
width: auto !important;
|
|
1035
1226
|
}
|
|
1036
1227
|
|
|
1037
|
-
.kward-nav-
|
|
1038
|
-
|
|
1039
|
-
width: 44px;
|
|
1228
|
+
body.kward-docs .kward-nav-dropdown section {
|
|
1229
|
+
margin-bottom: 2px;
|
|
1040
1230
|
}
|
|
1041
1231
|
|
|
1042
|
-
.kward-nav-dropdown {
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1232
|
+
body.kward-docs .kward-nav-dropdown h2 {
|
|
1233
|
+
border-bottom: 0;
|
|
1234
|
+
color: var(--kward-muted);
|
|
1235
|
+
font-size: 11px;
|
|
1236
|
+
letter-spacing: 0.1em;
|
|
1237
|
+
margin: 8px 10px 4px;
|
|
1238
|
+
padding: 0;
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
body.kward-docs .kward-nav-dropdown a {
|
|
1242
|
+
border-radius: 8px;
|
|
1243
|
+
color: var(--kward-ink) !important;
|
|
1244
|
+
display: block !important;
|
|
1245
|
+
padding: 12px 14px;
|
|
1246
|
+
text-decoration: none;
|
|
1055
1247
|
}
|
|
1056
1248
|
|
|
1249
|
+
/* Search is hidden on mobile; it lives only in the desktop topbar. */
|
|
1250
|
+
|
|
1057
1251
|
.kward-page {
|
|
1058
1252
|
padding: 104px 16px 42px;
|
|
1059
1253
|
}
|
|
@@ -1295,37 +1489,12 @@ body.kward-docs .kward-nav-toggle {
|
|
|
1295
1489
|
z-index: 9200;
|
|
1296
1490
|
}
|
|
1297
1491
|
|
|
1298
|
-
/* Mobile navigation
|
|
1492
|
+
/* Mobile navigation: z-index and color highlights. */
|
|
1299
1493
|
@media (max-width: 920px) {
|
|
1300
1494
|
body.kward-docs .kward-topnav {
|
|
1301
1495
|
z-index: 9300;
|
|
1302
1496
|
}
|
|
1303
1497
|
|
|
1304
|
-
body.kward-docs.kward-nav-open #kward-primary-nav,
|
|
1305
|
-
body.kward-docs.kward-nav-open .kward-topnav {
|
|
1306
|
-
display: block !important;
|
|
1307
|
-
}
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
/* Mobile uses tap state, not hover, for the Guides dropdown. */
|
|
1311
|
-
@media (max-width: 920px) {
|
|
1312
|
-
body.kward-docs .kward-nav-menu:hover .kward-nav-dropdown,
|
|
1313
|
-
body.kward-docs .kward-nav-menu:focus-within .kward-nav-dropdown {
|
|
1314
|
-
display: none;
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
body.kward-docs .kward-nav-menu.open .kward-nav-dropdown {
|
|
1318
|
-
display: grid;
|
|
1319
|
-
opacity: 1;
|
|
1320
|
-
pointer-events: auto;
|
|
1321
|
-
transform: none;
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
body.kward-docs .kward-nav-menu:hover .kward-nav-menu-link,
|
|
1325
|
-
body.kward-docs .kward-nav-menu:hover .kward-nav-menu-button {
|
|
1326
|
-
border-bottom-color: transparent;
|
|
1327
|
-
}
|
|
1328
|
-
|
|
1329
1498
|
body.kward-docs .kward-nav-menu.open .kward-nav-menu-link,
|
|
1330
1499
|
body.kward-docs .kward-nav-menu.open .kward-nav-menu-button,
|
|
1331
1500
|
body.kward-docs .kward-nav-menu.active .kward-nav-menu-link,
|
|
@@ -1418,6 +1587,8 @@ body.kward-docs #filecontents table {
|
|
|
1418
1587
|
border: 1px solid rgba(149, 169, 52, 0.34);
|
|
1419
1588
|
border-collapse: collapse;
|
|
1420
1589
|
color: var(--kward-ink);
|
|
1590
|
+
display: block;
|
|
1591
|
+
overflow-x: auto;
|
|
1421
1592
|
width: 100%;
|
|
1422
1593
|
}
|
|
1423
1594
|
|
|
@@ -1499,3 +1670,75 @@ body.kward-docs ul.toplevel a:active {
|
|
|
1499
1670
|
color: #f0f7a0 !important;
|
|
1500
1671
|
text-decoration: none;
|
|
1501
1672
|
}
|
|
1673
|
+
|
|
1674
|
+
/* Respect users who prefer reduced motion. */
|
|
1675
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1676
|
+
*,
|
|
1677
|
+
*::before,
|
|
1678
|
+
*::after {
|
|
1679
|
+
animation-duration: 0.01ms !important;
|
|
1680
|
+
animation-iteration-count: 1 !important;
|
|
1681
|
+
scroll-behavior: auto !important;
|
|
1682
|
+
transition-duration: 0.01ms !important;
|
|
1683
|
+
}
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
/* Printable documentation: white background, black text, hide navigation. */
|
|
1687
|
+
@media print {
|
|
1688
|
+
body.kward-docs {
|
|
1689
|
+
background: #fff;
|
|
1690
|
+
color: #000;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
.kward-topbar,
|
|
1694
|
+
.kward-skip-link,
|
|
1695
|
+
.kward-guide-search,
|
|
1696
|
+
.kward-nav-toggle,
|
|
1697
|
+
#toc,
|
|
1698
|
+
.copy-code-button,
|
|
1699
|
+
.code-copy-wrapper .copy-code-button {
|
|
1700
|
+
display: none !important;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
body.kward-docs #content,
|
|
1704
|
+
body.kward-docs #filecontents {
|
|
1705
|
+
background: #fff;
|
|
1706
|
+
border: 0;
|
|
1707
|
+
box-shadow: none;
|
|
1708
|
+
color: #000;
|
|
1709
|
+
padding: 0;
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
body.kward-docs #content h1,
|
|
1713
|
+
body.kward-docs #content h2,
|
|
1714
|
+
body.kward-docs #content h3,
|
|
1715
|
+
body.kward-docs #filecontents h1,
|
|
1716
|
+
body.kward-docs #filecontents h2,
|
|
1717
|
+
body.kward-docs #filecontents h3 {
|
|
1718
|
+
color: #000;
|
|
1719
|
+
}
|
|
1720
|
+
|
|
1721
|
+
body.kward-docs #content p,
|
|
1722
|
+
body.kward-docs #content li,
|
|
1723
|
+
body.kward-docs #filecontents p,
|
|
1724
|
+
body.kward-docs #filecontents li {
|
|
1725
|
+
color: #000;
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
body.kward-docs #content a,
|
|
1729
|
+
body.kward-docs #filecontents a {
|
|
1730
|
+
color: #000;
|
|
1731
|
+
text-decoration: underline;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
body.kward-docs pre {
|
|
1735
|
+
background: #f4f4f4;
|
|
1736
|
+
border: 1px solid #ccc;
|
|
1737
|
+
color: #000;
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1740
|
+
.kward-page {
|
|
1741
|
+
padding: 0;
|
|
1742
|
+
max-width: none;
|
|
1743
|
+
}
|
|
1744
|
+
}
|