main
css 150 lines 3.16 KB
Raw
1 .site-footer,
2 .top-link {
3 font-size: var(--text-xs);
4 color: var(--color-text-muted);
5 }
6
7 .site-footer {
8 margin-block-start: var(--space-6);
9 border-top: var(--size-border-thin) solid var(--color-border);
10 background: var(--color-surface);
11 }
12
13 .site-footer__inner {
14 display: grid;
15 gap: var(--space-3);
16 max-width: calc(var(--main-width) + var(--gap) * 2);
17 margin: auto;
18 padding: var(--space-6) var(--gap);
19 text-align: center;
20 }
21
22 .site-footer__tagline,
23 .site-footer__meta {
24 margin: 0;
25 }
26
27 .site-footer__tagline {
28 color: var(--color-text);
29 font-size: var(--text-sm);
30 }
31
32 .site-footer__nav {
33 display: flex;
34 flex-wrap: wrap;
35 justify-content: center;
36 gap: var(--space-3);
37 }
38
39 .ai-disclosure {
40 display: grid;
41 grid-template-columns: auto 1fr;
42 gap: var(--space-3);
43 max-width: var(--prose-measure);
44 margin: 0 auto;
45 padding: var(--space-3);
46 border: var(--size-border-thin) solid var(--color-border);
47 border-radius: var(--radius-lg);
48 background: color-mix(in srgb, var(--color-accent-muted) 55%, var(--color-surface));
49 text-align: left;
50 }
51
52 .ai-disclosure__icon {
53 display: inline-flex;
54 align-items: center;
55 justify-content: center;
56 width: var(--space-5);
57 height: var(--space-5);
58 border-radius: var(--radius-full);
59 background: var(--color-surface);
60 box-shadow: var(--shadow-sm);
61 }
62
63 .ai-disclosure__title,
64 .ai-disclosure p {
65 margin: 0;
66 }
67
68 .ai-disclosure__body {
69 display: grid;
70 gap: var(--space-2);
71 }
72
73 .ai-disclosure__title {
74 color: var(--color-text);
75 font-size: var(--text-sm);
76 line-height: var(--leading-tight);
77 }
78
79 @media (max-width: 640px) {
80 .ai-disclosure {
81 grid-template-columns: 1fr;
82 text-align: center;
83 }
84
85 .ai-disclosure__icon {
86 margin: 0 auto;
87 }
88 }
89
90 @media print {
91 .ai-disclosure {
92 break-inside: avoid;
93 border-color: currentColor;
94 background: transparent;
95 color: #000;
96 }
97 }
98
99 .site-footer a,
100 .site-footer__link {
101 color: var(--color-text-muted);
102 text-underline-offset: var(--space-1);
103 text-decoration: underline;
104 }
105
106 .site-footer__link {
107 padding: 0;
108 border: 0;
109 background: none;
110 font: inherit;
111 cursor: pointer;
112 }
113
114 .site-footer a:hover,
115 .site-footer a:focus-visible,
116 .site-footer__link:hover,
117 .site-footer__link:focus-visible,
118 .top-link:hover,
119 .top-link:focus-visible {
120 color: var(--color-accent);
121 }
122
123 .top-link {
124 position: fixed;
125 inset-block-end: var(--space-6);
126 inset-inline-end: var(--space-5);
127 z-index: var(--z-overlay);
128 display: inline-flex;
129 align-items: center;
130 justify-content: center;
131 width: calc(var(--space-5) + var(--space-2));
132 height: calc(var(--space-5) + var(--space-2));
133 padding: var(--space-2);
134 border: var(--size-border-thin) solid var(--color-border);
135 border-radius: var(--radius-full);
136 background: var(--color-surface);
137 color: var(--color-text-muted);
138 box-shadow: var(--shadow-md);
139 transition: visibility .3s, opacity .3s cubic-bezier(0.4, 0, 1, 1);
140 }
141
142 .top-link svg {
143 width: var(--size-icon-md);
144 height: var(--size-icon-md);
145 }
146
147 .hidden {
148 visibility: hidden;
149 opacity: 0;
150 }