@jjlmoya/utils-astronomy 1.40.0 → 1.42.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.
@@ -0,0 +1,921 @@
1
+ .astronomy-home {
2
+ --astronomy-bg: #efe8d9;
3
+ --astronomy-ink: #14243b;
4
+ --astronomy-muted: #5c6570;
5
+ --astronomy-line: rgba(20, 36, 59, 0.23);
6
+ --astronomy-accent: #c95732;
7
+ --astronomy-star: #dd812f;
8
+ --astronomy-sky: #d8e3e2;
9
+ --astronomy-sky-ink: #132943;
10
+ --astronomy-sky-line: rgba(20, 36, 59, 0.48);
11
+ --astronomy-sky-muted: rgba(20, 36, 59, 0.7);
12
+ --astronomy-star-bright: #14243b;
13
+
14
+ position: relative;
15
+ min-height: 100vh;
16
+ overflow: hidden;
17
+ background: var(--astronomy-bg);
18
+ color: var(--astronomy-ink);
19
+ isolation: isolate;
20
+ }
21
+
22
+ html.theme-dark .astronomy-home {
23
+ --astronomy-bg: #030912;
24
+ --astronomy-ink: #f1eadc;
25
+ --astronomy-muted: #9aa8b8;
26
+ --astronomy-line: rgba(241, 234, 220, 0.25);
27
+ --astronomy-accent: #ff8061;
28
+ --astronomy-star: #f6bf74;
29
+ --astronomy-sky: #061525;
30
+ --astronomy-sky-ink: #eff4f0;
31
+ --astronomy-sky-line: rgba(188, 226, 220, 0.58);
32
+ --astronomy-sky-muted: rgba(188, 226, 220, 0.72);
33
+ --astronomy-star-bright: #f7dfb2;
34
+ }
35
+
36
+ body.production-page { overflow-x: clip; }
37
+
38
+ .astronomy-shell {
39
+ position: relative;
40
+ z-index: 1;
41
+ max-width: 1600px;
42
+ margin: 0 auto;
43
+ padding: 1.4rem clamp(1rem, 5vw, 5.5rem) 7rem;
44
+ }
45
+
46
+ .astronomy-home .production-breadcrumb {
47
+ position: relative;
48
+ z-index: 4;
49
+ margin-bottom: clamp(1.25rem, 3vw, 3rem);
50
+ color: var(--astronomy-muted);
51
+ }
52
+
53
+ .astronomy-home .production-breadcrumb-item,
54
+ .astronomy-home .production-breadcrumb-current,
55
+ .astronomy-home .production-breadcrumb-item a {
56
+ color: var(--astronomy-muted);
57
+ }
58
+
59
+ .astronomy-home .production-breadcrumb-item a:hover,
60
+ .astronomy-home .production-breadcrumb-item a:focus-visible {
61
+ color: var(--astronomy-accent);
62
+ }
63
+
64
+ .astronomy-home .production-breadcrumb-separator { color: var(--astronomy-accent); }
65
+
66
+ .astronomy-orbit {
67
+ display: grid;
68
+ grid-template-columns: minmax(0, 1.18fr) minmax(22rem, 0.82fr);
69
+ gap: clamp(2rem, 6vw, 7rem);
70
+ align-items: center;
71
+ min-height: min(790px, calc(100vh - 8rem));
72
+ }
73
+
74
+ .astronomy-page-stars {
75
+ position: absolute;
76
+ z-index: 0;
77
+ inset: 0;
78
+ overflow: hidden;
79
+ pointer-events: none;
80
+ }
81
+
82
+ .astronomy-page-star {
83
+ position: absolute;
84
+ top: var(--star-top);
85
+ left: var(--star-left);
86
+ width: var(--star-size);
87
+ height: var(--star-size);
88
+ border-radius: 50%;
89
+ background: var(--astronomy-ink);
90
+ opacity: calc(var(--star-opacity) * 0.4);
91
+ animation: astronomy-twinkle 5s ease-in-out infinite alternate;
92
+ animation-delay: calc(var(--star-delay) * -1);
93
+ }
94
+
95
+ .astronomy-sky {
96
+ position: relative;
97
+ min-height: min(720px, 72vw);
98
+ overflow: hidden;
99
+ border: 1px solid var(--astronomy-sky-line);
100
+ border-radius: 0;
101
+ background: var(--astronomy-sky);
102
+ color: var(--astronomy-sky-ink);
103
+ isolation: isolate;
104
+ }
105
+
106
+ html.theme-dark .astronomy-sky {
107
+ background: #061525;
108
+ }
109
+
110
+ html.theme-light .astronomy-sky {
111
+ --astronomy-sky: #061525;
112
+ --astronomy-sky-ink: #eff4f0;
113
+ --astronomy-sky-line: rgba(188, 226, 220, 0.58);
114
+ --astronomy-sky-muted: rgba(188, 226, 220, 0.72);
115
+ --astronomy-star-bright: #f7dfb2;
116
+
117
+ background: #061525;
118
+ }
119
+
120
+ .astronomy-sky-stars,
121
+ .astronomy-sky-dust,
122
+ .astronomy-celestial-scene,
123
+ .astronomy-planet,
124
+ .astronomy-constellation-center,
125
+ .astronomy-sky-coordinates,
126
+ .astronomy-sky-caption {
127
+ position: absolute;
128
+ }
129
+
130
+ .astronomy-sky-stars {
131
+ inset: 0;
132
+ z-index: -1;
133
+ }
134
+
135
+ .astronomy-star {
136
+ position: absolute;
137
+ top: var(--star-top);
138
+ left: var(--star-left);
139
+ width: var(--star-size);
140
+ height: var(--star-size);
141
+ border-radius: 50%;
142
+ background: currentcolor;
143
+ color: var(--astronomy-sky-ink);
144
+ opacity: var(--star-opacity);
145
+ animation: astronomy-twinkle 5s ease-in-out infinite alternate;
146
+ animation-delay: calc(var(--star-delay) * -1);
147
+ }
148
+
149
+ html.theme-dark .astronomy-star {
150
+ color: var(--astronomy-star-bright);
151
+ box-shadow: 0 0 0.5rem var(--astronomy-star-bright);
152
+ }
153
+
154
+ .astronomy-sky-dust {
155
+ top: 16%;
156
+ left: 4%;
157
+ width: 78%;
158
+ height: 36%;
159
+ border-radius: 50%;
160
+ background: color-mix(in srgb, var(--astronomy-accent) 8%, transparent);
161
+ filter: blur(1rem);
162
+ opacity: 0.35;
163
+ transform: rotate(-18deg);
164
+ }
165
+
166
+ .astronomy-sky-coordinates {
167
+ top: 1.5rem;
168
+ right: 1.5rem;
169
+ left: 1.5rem;
170
+ z-index: 2;
171
+ display: flex;
172
+ justify-content: space-between;
173
+ color: var(--astronomy-sky-muted);
174
+ font: 0.65rem var(--font-family, Inter, system-ui, sans-serif);
175
+ letter-spacing: 0.16em;
176
+ text-transform: uppercase;
177
+ }
178
+
179
+ .astronomy-celestial-scene {
180
+ z-index: 1;
181
+ inset: 0;
182
+ }
183
+
184
+ .astronomy-orbit-track {
185
+ position: absolute;
186
+ top: 50%;
187
+ left: 50%;
188
+ border: 1px solid color-mix(in srgb, var(--astronomy-sky-ink) 35%, transparent);
189
+ border-radius: 50%;
190
+
191
+ --orbit-angle: -18deg;
192
+
193
+ transform: translate(-50%, -50%) rotate(var(--orbit-angle));
194
+ }
195
+
196
+ .astronomy-orbit-track-one {
197
+ width: 84%;
198
+ height: 28%;
199
+ }
200
+
201
+ .astronomy-orbit-track-two {
202
+ width: 58%;
203
+ height: 58%;
204
+ border-style: dashed;
205
+
206
+ --orbit-angle: 47deg;
207
+
208
+ transform: translate(-50%, -50%) rotate(var(--orbit-angle));
209
+ }
210
+
211
+ .astronomy-orbit-track-three {
212
+ width: 39%;
213
+ height: 74%;
214
+ border-color: color-mix(in srgb, var(--astronomy-accent) 46%, transparent);
215
+
216
+ --orbit-angle: -52deg;
217
+
218
+ transform: translate(-50%, -50%) rotate(var(--orbit-angle));
219
+ }
220
+
221
+ .astronomy-orbit-body {
222
+ position: absolute;
223
+ inset: 0;
224
+ width: 0.55rem;
225
+ aspect-ratio: 1;
226
+ border: 1px solid var(--astronomy-star-bright);
227
+ border-radius: 50%;
228
+ background: var(--astronomy-star);
229
+ box-shadow: 0 0 0.75rem var(--astronomy-star);
230
+ offset-path: ellipse(50% 50% at 50% 50%);
231
+ offset-distance: 0%;
232
+ offset-rotate: 0deg;
233
+ animation: astronomy-orbit-body-travel 30s linear infinite;
234
+ }
235
+
236
+ .astronomy-orbit-body-two {
237
+ width: 0.38rem;
238
+ background: #8ddad2;
239
+ box-shadow: 0 0 0.55rem #8ddad2;
240
+ offset-distance: 36%;
241
+ animation-duration: 38s;
242
+ animation-direction: reverse;
243
+ }
244
+
245
+ .astronomy-orbit-body-three {
246
+ width: 0.28rem;
247
+ background: var(--astronomy-accent);
248
+ box-shadow: 0 0 0.5rem var(--astronomy-accent);
249
+ offset-distance: 68%;
250
+ animation-duration: 46s;
251
+ }
252
+
253
+ .astronomy-planet {
254
+ top: 50%;
255
+ left: 50%;
256
+ z-index: 2;
257
+ width: clamp(4rem, 13%, 7.5rem);
258
+ aspect-ratio: 1;
259
+ border: 1px solid color-mix(in srgb, var(--astronomy-star-bright) 85%, transparent);
260
+ border-radius: 50%;
261
+ background: var(--astronomy-star);
262
+ box-shadow: 0 0 0 0.75rem color-mix(in srgb, var(--astronomy-accent) 10%, transparent), 0 0 3.5rem color-mix(in srgb, var(--astronomy-star) 45%, transparent);
263
+ transform: translate(-50%, -50%);
264
+ }
265
+
266
+ .astronomy-planet span {
267
+ position: absolute;
268
+ top: 12%;
269
+ left: 18%;
270
+ width: 12%;
271
+ aspect-ratio: 1;
272
+ border-radius: 50%;
273
+ background: #fff8d8;
274
+ box-shadow: 0 0 0.8rem #fff8d8;
275
+ }
276
+
277
+ .astronomy-constellation-center {
278
+ top: 50%;
279
+ left: 50%;
280
+ z-index: 3;
281
+ display: grid;
282
+ width: 8rem;
283
+ height: 8rem;
284
+ place-content: center;
285
+ border: 1px solid var(--astronomy-sky-line);
286
+ border-radius: 50%;
287
+ color: var(--astronomy-sky-ink);
288
+ text-align: center;
289
+ transform: translate(-50%, -50%);
290
+ }
291
+
292
+ .astronomy-constellation-center::before {
293
+ position: absolute;
294
+ inset: -0.7rem;
295
+ border: 1px solid var(--astronomy-sky-line);
296
+ border-radius: 50%;
297
+ content: "";
298
+ }
299
+
300
+ .astronomy-constellation-center span {
301
+ font: 0.55rem var(--font-family, Inter, system-ui, sans-serif);
302
+ letter-spacing: 0.16em;
303
+ }
304
+
305
+ .astronomy-constellation-center b {
306
+ margin-top: 0.25rem;
307
+ color: var(--astronomy-accent);
308
+ font-size: 2rem;
309
+ font-weight: 400;
310
+ }
311
+
312
+ .astronomy-star-link {
313
+ position: absolute;
314
+ top: var(--node-top);
315
+ left: var(--node-left);
316
+ z-index: 4;
317
+ display: block;
318
+ width: 2.75rem;
319
+ height: 2.75rem;
320
+ color: var(--astronomy-sky-ink);
321
+ text-decoration: none;
322
+ transform: translate(-50%, -50%);
323
+ }
324
+
325
+ .astronomy-star-link-point {
326
+ display: grid;
327
+ width: var(--node-size);
328
+ height: var(--node-size);
329
+ flex: 0 0 auto;
330
+ place-items: center;
331
+ clip-path: polygon(50% 0, 63% 37%, 100% 50%, 63% 63%, 50% 100%, 37% 63%, 0 50%, 37% 37%);
332
+ background: var(--astronomy-star-bright);
333
+ color: var(--astronomy-accent);
334
+ filter: drop-shadow(0 0 0.3rem color-mix(in srgb, var(--astronomy-star-bright) 65%, transparent));
335
+ transition: background-color 180ms ease, filter 180ms ease, transform 180ms ease;
336
+ }
337
+
338
+ .astronomy-star-link-label {
339
+ position: absolute;
340
+ z-index: 6;
341
+ display: none;
342
+ grid-template-columns: auto 1fr;
343
+ min-width: 10rem;
344
+ max-width: min(15rem, 26vw);
345
+ gap: 0.15rem;
346
+ padding: 0.35rem 0.5rem;
347
+ border: 1px solid var(--astronomy-sky-line);
348
+ background: color-mix(in srgb, var(--astronomy-sky) 84%, transparent);
349
+ box-shadow: 0 0.6rem 1.5rem color-mix(in srgb, var(--astronomy-sky-ink) 18%, transparent);
350
+ pointer-events: none;
351
+ }
352
+
353
+ .astronomy-star-link:hover,
354
+ .astronomy-star-link:focus-visible,
355
+ .astronomy-star-link.is-active {
356
+ z-index: 10;
357
+ }
358
+
359
+ .astronomy-star-link:hover .astronomy-star-link-label,
360
+ .astronomy-star-link:focus-visible .astronomy-star-link-label,
361
+ .astronomy-star-link.is-active .astronomy-star-link-label {
362
+ display: grid;
363
+ }
364
+
365
+ .astronomy-star-link-icon {
366
+ display: grid;
367
+ width: 1.4rem;
368
+ height: 1.4rem;
369
+ grid-row: 1 / 3;
370
+ place-items: center;
371
+ margin-right: 0.2rem;
372
+ border: 1px solid var(--astronomy-accent);
373
+ border-radius: 50%;
374
+ color: var(--astronomy-accent);
375
+ }
376
+
377
+ .astronomy-star-link-label b {
378
+ color: var(--astronomy-accent);
379
+ font: 0.6rem var(--font-family, Inter, system-ui, sans-serif);
380
+ }
381
+
382
+ .astronomy-star-link-label strong {
383
+ font-size: 0.75rem;
384
+ line-height: 1.15;
385
+ }
386
+
387
+ .astronomy-star-link-label small {
388
+ display: -webkit-box;
389
+ grid-column: 2;
390
+ margin-top: 0.15rem;
391
+ overflow: hidden;
392
+ -webkit-box-orient: vertical;
393
+ -webkit-line-clamp: 2;
394
+ color: var(--astronomy-sky-muted);
395
+ font-size: 0.65rem;
396
+ line-height: 1.3;
397
+ }
398
+
399
+ .astronomy-star-link-left .astronomy-star-link-label {
400
+ top: 50%;
401
+ left: calc(100% + 0.8rem);
402
+ transform: translateY(-50%);
403
+ }
404
+
405
+ .astronomy-star-link-right .astronomy-star-link-label {
406
+ top: 50%;
407
+ right: calc(100% + 0.8rem);
408
+ transform: translateY(-50%);
409
+ }
410
+
411
+ .astronomy-star-link-top .astronomy-star-link-label {
412
+ top: calc(100% + 0.8rem);
413
+ left: 50%;
414
+ transform: translateX(-50%);
415
+ }
416
+
417
+ .astronomy-star-link-bottom .astronomy-star-link-label {
418
+ bottom: calc(100% + 0.8rem);
419
+ left: 50%;
420
+ transform: translateX(-50%);
421
+ }
422
+
423
+ .astronomy-star-link:hover .astronomy-star-link-point,
424
+ .astronomy-star-link:focus-visible .astronomy-star-link-point,
425
+ .astronomy-star-link.is-active .astronomy-star-link-point {
426
+ background: var(--astronomy-accent);
427
+ color: var(--astronomy-bg);
428
+ filter: drop-shadow(0 0 0.35rem color-mix(in srgb, var(--astronomy-accent) 90%, transparent)) drop-shadow(0 0 0.8rem color-mix(in srgb, var(--astronomy-accent) 50%, transparent));
429
+ transform: scale(1.12);
430
+ }
431
+
432
+ .astronomy-star-link:nth-of-type(3n) .astronomy-star-link-point {
433
+ clip-path: polygon(50% 4%, 58% 42%, 96% 50%, 58% 58%, 50% 96%, 42% 58%, 4% 50%, 42% 42%);
434
+ }
435
+
436
+ .astronomy-star-link:nth-of-type(4n) .astronomy-star-link-point {
437
+ clip-path: polygon(50% 0, 57% 43%, 100% 50%, 57% 57%, 50% 100%, 43% 57%, 0 50%, 43% 43%);
438
+ }
439
+
440
+ .astronomy-star-link:focus-visible {
441
+ outline: 3px solid var(--astronomy-accent);
442
+ outline-offset: 5px;
443
+ }
444
+
445
+ .astronomy-sky-dense .astronomy-star-link {
446
+ width: 1.4rem;
447
+ height: 1.4rem;
448
+ }
449
+
450
+ .astronomy-sky-dense .astronomy-star-link-label {
451
+ max-width: min(13rem, 24vw);
452
+ }
453
+
454
+ .astronomy-star-link-left {
455
+ transform: translate(0, -50%);
456
+ }
457
+
458
+ .astronomy-star-link-right {
459
+ flex-direction: row-reverse;
460
+ transform: translate(-100%, -50%);
461
+ }
462
+
463
+ .astronomy-star-link-top {
464
+ flex-direction: column-reverse;
465
+ transform: translate(-50%, -50%);
466
+ }
467
+
468
+ .astronomy-star-link-bottom {
469
+ flex-direction: column;
470
+ transform: translate(-50%, -50%);
471
+ }
472
+
473
+ .astronomy-star-link-left:hover,
474
+ .astronomy-star-link-left:focus-visible,
475
+ .astronomy-star-link-right:hover,
476
+ .astronomy-star-link-right:focus-visible {
477
+ transform: translate(0, -50%);
478
+ }
479
+
480
+ .astronomy-star-link-right:hover,
481
+ .astronomy-star-link-right:focus-visible {
482
+ transform: translate(-100%, -50%);
483
+ }
484
+
485
+ .astronomy-star-link-top:hover,
486
+ .astronomy-star-link-top:focus-visible,
487
+ .astronomy-star-link-bottom:hover,
488
+ .astronomy-star-link-bottom:focus-visible {
489
+ transform: translate(-50%, -50%) translateY(-0.2rem);
490
+ }
491
+
492
+ .astronomy-sky-caption {
493
+ right: 1.5rem;
494
+ bottom: 1.5rem;
495
+ z-index: 2;
496
+ margin: 0;
497
+ color: var(--astronomy-sky-muted);
498
+ font: 0.65rem var(--font-family, Inter, system-ui, sans-serif);
499
+ letter-spacing: 0.15em;
500
+ text-transform: uppercase;
501
+ }
502
+
503
+ .astronomy-editorial { min-width: 0; }
504
+
505
+ .astronomy-overline {
506
+ margin: 0 0 1.3rem;
507
+ color: var(--astronomy-accent);
508
+ font: 0.7rem var(--font-family, Inter, system-ui, sans-serif);
509
+ font-weight: 700;
510
+ letter-spacing: 0.18em;
511
+ text-transform: uppercase;
512
+ }
513
+
514
+ .astronomy-editorial h1 {
515
+ max-width: 11ch;
516
+ margin: 0;
517
+ color: var(--astronomy-ink);
518
+ font: 400 clamp(3.8rem, 6.5vw, 7.7rem) / 0.82 var(--font-family, Inter, system-ui, sans-serif);
519
+ letter-spacing: -0.09em;
520
+ line-height: 0.82;
521
+ overflow-wrap: normal;
522
+ }
523
+
524
+ .astronomy-lede {
525
+ max-width: 28rem;
526
+ margin: 2.1rem 0 0;
527
+ color: var(--astronomy-muted);
528
+ font-size: clamp(1rem, 1.5vw, 1.2rem);
529
+ line-height: 1.65;
530
+ }
531
+
532
+ .astronomy-observation {
533
+ max-width: 30rem;
534
+ margin-top: 2.25rem;
535
+ padding-top: 1rem;
536
+ border-top: 1px solid var(--astronomy-line);
537
+ }
538
+
539
+ .astronomy-observation-heading {
540
+ display: flex;
541
+ gap: 0.55rem;
542
+ align-items: center;
543
+ }
544
+
545
+ .astronomy-observation-heading p {
546
+ margin: 0;
547
+ color: var(--astronomy-accent);
548
+ font: 0.67rem var(--font-family, Inter, system-ui, sans-serif);
549
+ letter-spacing: 0.15em;
550
+ text-transform: uppercase;
551
+ }
552
+
553
+ .astronomy-observation-dot {
554
+ width: 0.48rem;
555
+ height: 0.48rem;
556
+ border-radius: 50%;
557
+ background: var(--astronomy-star);
558
+ box-shadow: 0 0 0.7rem var(--astronomy-star);
559
+ }
560
+
561
+ .astronomy-observation h2 {
562
+ margin: 0.8rem 0 0;
563
+ color: var(--astronomy-ink);
564
+ font-size: 1.35rem;
565
+ line-height: 1.15;
566
+ }
567
+
568
+ .astronomy-observation > p:not(.astronomy-observation-status) {
569
+ margin: 0.5rem 0 0;
570
+ color: var(--astronomy-muted);
571
+ font-size: 0.92rem;
572
+ line-height: 1.5;
573
+ }
574
+
575
+ .astronomy-observation-actions {
576
+ display: flex;
577
+ flex-wrap: wrap;
578
+ gap: 1rem;
579
+ margin-top: 1.25rem;
580
+ }
581
+
582
+ .astronomy-observation-actions button,
583
+ .astronomy-observation-actions a {
584
+ display: inline-flex;
585
+ min-height: 2.65rem;
586
+ align-items: center;
587
+ gap: 0.65rem;
588
+ padding: 0.55rem 0;
589
+ border: 0;
590
+ border-bottom: 1px solid var(--astronomy-accent);
591
+ background: transparent;
592
+ color: var(--astronomy-ink);
593
+ font: inherit;
594
+ font-size: 0.78rem;
595
+ font-weight: 700;
596
+ text-decoration: none;
597
+ cursor: pointer;
598
+ }
599
+
600
+ .astronomy-observation-actions button:hover,
601
+ .astronomy-observation-actions button:focus-visible,
602
+ .astronomy-observation-actions a:hover,
603
+ .astronomy-observation-actions a:focus-visible {
604
+ color: var(--astronomy-accent);
605
+ }
606
+
607
+ .astronomy-observation-actions button:focus-visible,
608
+ .astronomy-observation-actions a:focus-visible {
609
+ outline: 3px solid var(--astronomy-accent);
610
+ outline-offset: 4px;
611
+ }
612
+
613
+ .astronomy-observation-status {
614
+ margin: 0.8rem 0 0;
615
+ color: var(--astronomy-muted);
616
+ font: 0.62rem var(--font-family, Inter, system-ui, sans-serif);
617
+ overflow: hidden;
618
+ text-overflow: ellipsis;
619
+ white-space: nowrap;
620
+ }
621
+
622
+ .astronomy-tool-index {
623
+ margin-top: 3.5rem;
624
+ }
625
+
626
+ .astronomy-tool-index-title {
627
+ margin: 0 0 0.4rem;
628
+ color: var(--astronomy-muted);
629
+ font: 0.65rem var(--font-family, Inter, system-ui, sans-serif);
630
+ letter-spacing: 0.15em;
631
+ text-transform: uppercase;
632
+ }
633
+
634
+ .astronomy-tool-index ol {
635
+ display: grid;
636
+ grid-template-columns: repeat(2, minmax(0, 1fr));
637
+ column-gap: clamp(1.5rem, 4vw, 4rem);
638
+ margin: 0;
639
+ padding: 0;
640
+ border-top: 1px solid var(--astronomy-line);
641
+ list-style: none;
642
+ }
643
+
644
+ .astronomy-tool-index li { border-bottom: 1px solid var(--astronomy-line); }
645
+
646
+ .astronomy-tool-index a {
647
+ display: grid;
648
+ grid-template-columns: 2rem 1fr auto;
649
+ gap: 0.5rem;
650
+ align-items: center;
651
+ padding: 0.55rem 0;
652
+ color: var(--astronomy-ink);
653
+ text-decoration: none;
654
+ }
655
+
656
+ .astronomy-tool-index a:hover,
657
+ .astronomy-tool-index a:focus-visible { color: var(--astronomy-accent); }
658
+
659
+ .astronomy-tool-index a:focus-visible {
660
+ outline: 3px solid var(--astronomy-accent);
661
+ outline-offset: 3px;
662
+ }
663
+
664
+ .astronomy-tool-index a span,
665
+ .astronomy-tool-index a i {
666
+ color: var(--astronomy-accent);
667
+ font: 0.62rem var(--font-family, Inter, system-ui, sans-serif);
668
+ font-style: normal;
669
+ }
670
+
671
+ .astronomy-tool-index a strong { font-size: 0.8rem; }
672
+
673
+ .astronomy-field-notes {
674
+ display: block;
675
+ margin-top: 6rem;
676
+ padding-top: 2rem;
677
+ border-top: 1px solid var(--astronomy-line);
678
+ }
679
+
680
+ .astronomy-field-notes-title {
681
+ display: flex;
682
+ gap: 2rem;
683
+ align-items: end;
684
+ justify-content: space-between;
685
+ margin-bottom: 2rem;
686
+ }
687
+
688
+ .astronomy-field-notes h2 {
689
+ max-width: 14ch;
690
+ margin: 0;
691
+ color: var(--astronomy-ink);
692
+ font: 400 clamp(1.8rem, 3.2vw, 3.4rem) / 0.95 var(--font-family, Inter, system-ui, sans-serif);
693
+ letter-spacing: -0.06em;
694
+ line-height: 0.95;
695
+ }
696
+
697
+ .astronomy-seo {
698
+ max-width: 72rem;
699
+ color: var(--astronomy-muted);
700
+ font-size: 1rem;
701
+ line-height: 1.75;
702
+ }
703
+
704
+ .astronomy-seo .seo-article {
705
+ max-width: none;
706
+ }
707
+
708
+ .astronomy-seo .seo-title {
709
+ display: block;
710
+ max-width: 42rem;
711
+ margin: 3.5rem 0 1rem;
712
+ }
713
+
714
+ .astronomy-seo .seo-title:first-child { margin-top: 0; }
715
+
716
+ .astronomy-seo .seo-title .prefix { display: none; }
717
+
718
+ .astronomy-seo .seo-article > p {
719
+ max-width: 68rem;
720
+ margin: 0 0 1.1rem;
721
+ }
722
+
723
+ .astronomy-seo .seo-list-premium {
724
+ display: grid;
725
+ grid-template-columns: repeat(2, minmax(0, 1fr));
726
+ gap: 0 2rem;
727
+ margin: 2.5rem 0;
728
+ }
729
+
730
+ .astronomy-seo .list-card {
731
+ min-height: 100%;
732
+ gap: 0.8rem;
733
+ padding: 1rem 0;
734
+ border: 0;
735
+ border-top: 1px solid var(--astronomy-line);
736
+ border-radius: 0;
737
+ background: transparent;
738
+ box-shadow: none;
739
+ }
740
+
741
+ .astronomy-seo .list-card:hover {
742
+ border-color: var(--astronomy-line);
743
+ background: transparent;
744
+ box-shadow: none;
745
+ transform: none;
746
+ }
747
+
748
+ .astronomy-seo .marker-box {
749
+ width: 1.4rem;
750
+ height: 1.4rem;
751
+ border: 0;
752
+ border-radius: 50%;
753
+ background: var(--astronomy-accent);
754
+ color: var(--astronomy-bg);
755
+ }
756
+
757
+ .astronomy-seo .marker-svg {
758
+ width: 0.8rem;
759
+ height: 0.8rem;
760
+ }
761
+
762
+ .astronomy-seo .card-content {
763
+ color: var(--astronomy-muted);
764
+ font-size: 0.92rem;
765
+ line-height: 1.5;
766
+ }
767
+
768
+ .astronomy-seo .card-content strong { color: var(--astronomy-ink); }
769
+
770
+ .astronomy-seo .seo-tip {
771
+ margin: 3rem 0;
772
+ padding: 1.25rem 0 1.25rem 1.25rem;
773
+ border-top: 1px solid var(--astronomy-accent);
774
+ border-right: 0;
775
+ border-bottom: 1px solid var(--astronomy-line);
776
+ border-left: 3px solid var(--astronomy-accent);
777
+ border-radius: 0;
778
+ background: transparent;
779
+ }
780
+
781
+ .astronomy-seo .seo-tip h5 {
782
+ color: var(--astronomy-ink);
783
+ font: 400 1.35rem/1.1 var(--font-family, Inter, system-ui, sans-serif);
784
+ }
785
+
786
+ .astronomy-seo .seo-tip p { color: var(--astronomy-muted); }
787
+
788
+ .astronomy-seo .seo-stats-grid {
789
+ grid-template-columns: repeat(4, minmax(0, 1fr));
790
+ gap: 1rem;
791
+ margin: 3rem 0 0;
792
+ }
793
+
794
+ .astronomy-seo .stat-card {
795
+ min-height: 0;
796
+ padding: 1rem 0;
797
+ border: 0;
798
+ border-top: 1px solid var(--astronomy-line);
799
+ border-radius: 0;
800
+ background: transparent;
801
+ box-shadow: none;
802
+ }
803
+
804
+ .astronomy-seo .stat-card:hover {
805
+ border-color: var(--astronomy-line);
806
+ box-shadow: none;
807
+ transform: none;
808
+ }
809
+
810
+ .astronomy-seo .stat-icon,
811
+ .astronomy-seo .stat-value { color: var(--astronomy-accent); }
812
+
813
+ .astronomy-seo .stat-label {
814
+ color: var(--astronomy-muted);
815
+ font-size: 0.72rem;
816
+ }
817
+
818
+ .astronomy-seo h2,
819
+ .astronomy-seo h3 {
820
+ color: var(--astronomy-ink);
821
+ font: 400 1.8rem/1.1 var(--font-family, Inter, system-ui, sans-serif);
822
+ letter-spacing: -0.03em;
823
+ }
824
+
825
+ .astronomy-seo h3 { font-size: 1.35rem; }
826
+ .astronomy-seo a { color: var(--astronomy-accent); }
827
+
828
+ @keyframes astronomy-twinkle {
829
+ from { opacity: calc(var(--star-opacity) * 0.55); }
830
+ to { opacity: var(--star-opacity); }
831
+ }
832
+
833
+ @keyframes astronomy-orbit-body-travel {
834
+ from { offset-distance: 0%; }
835
+ to { offset-distance: 100%; }
836
+ }
837
+
838
+ @media (width <= 1100px) {
839
+ .astronomy-orbit {
840
+ grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.8fr);
841
+ gap: 3rem;
842
+ }
843
+ .astronomy-sky { min-height: 620px; }
844
+ .astronomy-star-link-label { max-width: 8rem; }
845
+ }
846
+
847
+ @media (width <= 820px) {
848
+ .astronomy-orbit {
849
+ display: flex;
850
+ min-height: 0;
851
+ flex-direction: column-reverse;
852
+ align-items: stretch;
853
+ gap: 3rem;
854
+ }
855
+ .astronomy-editorial { padding-top: 1rem; }
856
+ .astronomy-sky { min-height: min(680px, 90vw); }
857
+
858
+ .astronomy-field-notes-title { display: block; }
859
+
860
+ .astronomy-seo .seo-list-premium,
861
+ .astronomy-seo .seo-stats-grid { grid-template-columns: 1fr; }
862
+ }
863
+
864
+ @media (width <= 560px) {
865
+ .astronomy-shell {
866
+ padding-right: 1rem;
867
+ padding-left: 1rem;
868
+ }
869
+ .astronomy-sky { min-height: 118vw; }
870
+
871
+ .astronomy-sky-coordinates {
872
+ top: 1rem;
873
+ right: 1rem;
874
+ left: 1rem;
875
+ gap: 1rem;
876
+ font-size: 0.55rem;
877
+ }
878
+ .astronomy-planet { width: 33%; }
879
+
880
+ .astronomy-constellation-center {
881
+ width: 5.7rem;
882
+ height: 5.7rem;
883
+ }
884
+ .astronomy-constellation-center span { font-size: 0.45rem; }
885
+
886
+ .astronomy-star-link-label {
887
+ min-width: 8.5rem;
888
+ max-width: 8.5rem;
889
+ padding: 0.2rem 0.35rem;
890
+ }
891
+ .astronomy-star-link-label strong { font-size: 0.62rem; }
892
+ .astronomy-star-link-label b { font-size: 0.5rem; }
893
+
894
+ .astronomy-sky-caption {
895
+ right: 1rem;
896
+ bottom: 1rem;
897
+ }
898
+
899
+ .astronomy-editorial h1 {
900
+ max-width: 10ch;
901
+ font-size: clamp(3.6rem, 18vw, 6rem);
902
+ }
903
+ .astronomy-lede { margin-top: 1.5rem; }
904
+ .astronomy-observation { margin-top: 2rem; }
905
+
906
+ .astronomy-observation-actions {
907
+ flex-direction: column;
908
+ align-items: flex-start;
909
+ gap: 0.35rem;
910
+ }
911
+ .astronomy-tool-index { margin-top: 2.5rem; }
912
+ .astronomy-tool-index ol { grid-template-columns: 1fr; }
913
+ .astronomy-field-notes { margin-top: 4rem; }
914
+ }
915
+
916
+ @media (prefers-reduced-motion: reduce) {
917
+ .astronomy-page-star,
918
+ .astronomy-star { animation: none; }
919
+ .astronomy-orbit-body { animation: none; }
920
+ .astronomy-star-link-point { transition: none; }
921
+ }