Testing347 commited on
Commit
59df2f2
·
verified ·
1 Parent(s): 7540be3

Update assets/site.css

Browse files
Files changed (1) hide show
  1. assets/site.css +46 -10
assets/site.css CHANGED
@@ -5,7 +5,7 @@
5
 
6
  :root {
7
  --bg: #000000;
8
- --panel: rgba(17, 24, 39, 0.35); /* gray-900-ish with alpha */
9
  --border: rgba(31, 41, 55, 0.85); /* gray-800-ish */
10
  --indigo: rgba(99, 102, 241, 1);
11
  --purple: rgba(139, 92, 246, 1);
@@ -13,14 +13,24 @@
13
  --ring: rgba(99, 102, 241, 0.65);
14
  }
15
 
 
 
 
 
 
 
 
16
  html, body {
17
  height: 100%;
18
  }
19
 
20
  body {
 
21
  background: var(--bg);
22
  color: #ffffff;
23
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
 
 
24
  }
25
 
26
  /* Gradient text used in hero headings */
@@ -56,15 +66,25 @@ body {
56
  transform: translateY(-2px);
57
  }
58
 
59
- /* Accessible focus ring */
60
  .focus-ring:focus {
61
  outline: none;
62
  box-shadow: 0 0 0 2px var(--ring);
63
  }
 
 
 
 
 
 
 
 
 
64
 
65
  /* Modal animation helpers */
66
  .modal {
67
  transition: opacity 0.3s ease, transform 0.3s ease;
 
68
  }
69
  .modal-hidden {
70
  opacity: 0;
@@ -110,16 +130,32 @@ body {
110
  border-radius: 3px;
111
  }
112
 
113
- /* Typing indicator used in chat.html */
 
114
  .typing-indicator::after {
115
  content: "...";
116
- animation: typing 1.5s infinite;
117
  display: inline-block;
118
- width: 20px;
119
- text-align: left;
 
 
120
  }
121
- @keyframes typing {
122
- 0% { content: "."; }
123
- 33% { content: ".."; }
124
- 66% { content: "..."; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
 
5
 
6
  :root {
7
  --bg: #000000;
8
+ --panel: rgba(17, 24, 39, 0.35); /* gray-900-ish with alpha */
9
  --border: rgba(31, 41, 55, 0.85); /* gray-800-ish */
10
  --indigo: rgba(99, 102, 241, 1);
11
  --purple: rgba(139, 92, 246, 1);
 
13
  --ring: rgba(99, 102, 241, 0.65);
14
  }
15
 
16
+ /* Small reset to prevent layout weirdness across pages */
17
+ *,
18
+ *::before,
19
+ *::after {
20
+ box-sizing: border-box;
21
+ }
22
+
23
  html, body {
24
  height: 100%;
25
  }
26
 
27
  body {
28
+ min-height: 100vh;
29
  background: var(--bg);
30
  color: #ffffff;
31
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
32
+ -webkit-font-smoothing: antialiased;
33
+ -moz-osx-font-smoothing: grayscale;
34
  }
35
 
36
  /* Gradient text used in hero headings */
 
66
  transform: translateY(-2px);
67
  }
68
 
69
+ /* Accessible focus ring (prefer focus-visible when available) */
70
  .focus-ring:focus {
71
  outline: none;
72
  box-shadow: 0 0 0 2px var(--ring);
73
  }
74
+ @supports selector(:focus-visible) {
75
+ .focus-ring:focus {
76
+ box-shadow: none;
77
+ }
78
+ .focus-ring:focus-visible {
79
+ outline: none;
80
+ box-shadow: 0 0 0 2px var(--ring);
81
+ }
82
+ }
83
 
84
  /* Modal animation helpers */
85
  .modal {
86
  transition: opacity 0.3s ease, transform 0.3s ease;
87
+ will-change: opacity, transform;
88
  }
89
  .modal-hidden {
90
  opacity: 0;
 
130
  border-radius: 3px;
131
  }
132
 
133
+ /* Typing indicator used in chat.html
134
+ Avoid animating `content:` (unreliable). Animate width instead. */
135
  .typing-indicator::after {
136
  content: "...";
 
137
  display: inline-block;
138
+ overflow: hidden;
139
+ vertical-align: bottom;
140
+ width: 0ch;
141
+ animation: typingDots 1.2s steps(3, end) infinite;
142
  }
143
+
144
+ @keyframes typingDots {
145
+ 0% { width: 0ch; }
146
+ 33% { width: 1ch; }
147
+ 66% { width: 2ch; }
148
+ 100% { width: 3ch; }
149
+ }
150
+
151
+ /* Respect reduced motion */
152
+ @media (prefers-reduced-motion: reduce) {
153
+ .conscious-element,
154
+ .modal {
155
+ transition: none !important;
156
+ }
157
+ .typing-indicator::after {
158
+ animation: none !important;
159
+ width: 3ch;
160
+ }
161
  }