File size: 5,611 Bytes
be172fd
d0d6e7b
 
 
 
 
 
 
 
 
 
 
 
 
60897d1
d0d6e7b
 
 
9f55f84
92cb20a
 
 
 
4b2492e
 
 
 
 
2c2de0b
 
4b2492e
 
2c2de0b
 
 
92cb20a
 
 
d0d6e7b
92cb20a
ac25980
d0d6e7b
92cb20a
 
 
 
6c4dd46
 
9f55f84
ac25980
92cb20a
ac25980
92cb20a
2c2de0b
 
 
 
d0d6e7b
 
92cb20a
 
 
d0d6e7b
 
 
 
 
 
 
be172fd
9f55f84
 
 
 
d0d6e7b
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.atlas { --ink:#173c30; --muted:#647467; position:relative; overflow:hidden; color:var(--ink); background:transparent; border:0; border-radius:0; padding:24px 20px 14px; font-family:Arial,Helvetica,sans-serif; }
.atlas * { box-sizing:border-box; }
.atlas-header { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.atlas-kicker { font-size:10px; font-weight:700; letter-spacing:1.5px; line-height:1.6; text-transform:uppercase; color:#527261; }
.atlas-kicker span { padding:0 8px; color:#9aaa95; }
.atlas h1 { font:400 clamp(29px,3.8vw,47px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-1.5px; margin:12px 0; color:var(--ink); }
.atlas h1 span { color:#68a788; }
.atlas-header p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.atlas-summary-block { min-width:270px; padding-left:26px; border-left:1px solid #dbe3d3; }
.atlas-summary { display:flex; align-items:center; gap:12px; margin-top:8px; }
.atlas-summary strong { font-size:33px; font-weight:500; letter-spacing:-1.4px; font-variant-numeric:tabular-nums; }
.atlas-summary span { font-size:11px; line-height:1.6; color:var(--muted); }
.atlas-badge { padding:7px 9px; font-size:13px; background:#dfeedd; color:#285b40; border-radius:8px; white-space:nowrap; }
.atlas button { font:inherit; cursor:pointer; }
.atlas-nav { display:flex; align-items:center; gap:12px; margin:25px 0 10px; }
.atlas-shortcuts { display:flex; flex-wrap:wrap; gap:7px; }
.atlas-shortcuts button { border:1px solid #cfdcc9; background:#ffffff80; border-radius:30px; padding:8px 15px; color:#315641; font-size:12px; transition:background .15s; }
.atlas-shortcuts button:hover { background:#dfeedd; }
.tree-scroll { margin:0 -5px; }
.life-tree { display:block; width:100%; height:auto; overflow:visible; }
.flow { stroke:none; transition:opacity .15s; }
.flow-annotated { fill:#40916f; opacity:.42; }
.flow-missing { fill:#cfd5c9; opacity:.6; }
/* The flux feeding the current selection stays emphasised, so the trunk you
   have walked reads at a glance against the lineages you passed over. */
.flow.is-path { opacity:.74; }
.flow-annotated.is-path { fill:#39875f; }
.flow-missing.is-path { fill:#c2c9ba; }
/* Lighting a group also lights the flux arriving at it, so you can see where
   a group's assemblies came from. Applied from atlas.js, since the ribbons are
   painted under every node and cannot be reached with a CSS sibling rule.
   Listed after the trunk rules so a hover still wins on the selected path. */
.flow.is-lit { opacity:.9; }
.flow-annotated.is-lit { fill:#2f7d5c; }
.flow-missing.is-lit { fill:#b4bdac; }
.bar-annotated { fill:#287557; }
.bar-missing { fill:#bcc4b5; }
.bar-outline { fill:none; stroke:#f7f8f0; stroke-width:1; }
.tree-node { cursor:pointer; }
.tree-node.is-direct { cursor:default; }
.tree-hit { fill:transparent; }
.tree-node:focus { outline:none; }
.tree-node:focus .bar-outline { stroke:#173c30; stroke-width:2; }
.tree-node.is-selected .bar-outline { stroke:#173c30; stroke-width:1.5; }
.tree-node.is-sibling { opacity:.62; transition:opacity .15s; }
.tree-node.is-sibling:hover,.tree-node.is-sibling:focus { opacity:1; }
.tree-icon { opacity:.62; transition:opacity .15s; }
.tree-node.is-selected .tree-icon { opacity:.85; }
.tree-label,.tree-english,.tree-count { paint-order:stroke; stroke:#f7f8f0; stroke-width:4px; stroke-linejoin:round; text-anchor:middle; }
.tree-label { font:600 13px Arial,Helvetica,sans-serif; fill:#254735; transition:fill .15s; }
.tree-node.is-selected .tree-label { font-weight:700; fill:#173c30; }
.tree-english { font:italic 11.5px Georgia,'Times New Roman',serif; fill:#5d7a66; }
.tree-count { font:11px Arial,Helvetica,sans-serif; fill:#697966; }
.tree-node.is-lit:not(.is-direct) .tree-label,.tree-node:focus .tree-label { fill:#0f2e22; }
.tree-node.is-lit:not(.is-direct) .bar-outline { stroke:#287557; stroke-width:2; }
.tree-node.is-lit { opacity:1; }
.tree-node.is-lit .tree-icon { opacity:.9; }
.atlas-footer { display:flex; align-items:center; flex-wrap:wrap; gap:15px; justify-content:space-between; border-top:1px solid #dde4d5; padding-top:14px; color:#6c7a66; font-size:11px; line-height:1.6; }
.atlas-legend { display:flex; gap:7px; align-items:center; }
.atlas-swatch { width:10px; height:10px; border-radius:2px; }
.atlas-annotated { background:#287557; }
.atlas-missing { background:#bcc4b5; }
.atlas-date { opacity:.8; }
.atlas-footnote { font-size:10px; line-height:1.6; color:#77816e; margin-top:12px; max-width:860px; }
.atlas-tooltip { position:absolute; z-index:5; pointer-events:none; max-width:290px; padding:12px 15px; border-radius:12px; color:#f5f8ef; background:#1d4334; font-size:12px; line-height:1.7; box-shadow:0 5px 20px #18372122; }
.atlas-tooltip[hidden] { display:none; }
.atlas button:focus-visible { outline:2px solid #327555; outline-offset:3px; }
.atlas-leaf-note { color:#647467; font-size:13px; text-align:center; margin:0 0 20px; }
@media(max-width:800px) {
 .atlas { padding:18px 10px 14px; }
 /* Levels fill the page width, so on a phone the only way to keep the labels
    legible is to let the chart itself scroll sideways again. */
 .tree-scroll { overflow-x:auto; overscroll-behavior-x:contain; }
 .life-tree { min-width:720px; }
 .atlas-header { align-items:flex-start; flex-direction:column; gap:18px; }
 .atlas-summary-block { border-left:0; padding:0; min-width:0; }
 .atlas-summary { flex-wrap:wrap; }
 .atlas h1 { font-size:35px; }
 .atlas-nav { flex-wrap:wrap; margin-top:18px; }
 .atlas-footer { gap:9px; }
}
@media(prefers-reduced-motion:reduce) { .atlas * { transition:none!important; } }