|
1081 | 1081 | .constellation-grid { |
1082 | 1082 | z-index: 0; |
1083 | 1083 | background-image: |
| 1084 | + radial-gradient(circle at 18% 18%, rgba(110, 243, 255, 0.05), transparent 0 2.8%), |
| 1085 | + radial-gradient(circle at 72% 28%, rgba(219, 178, 97, 0.04), transparent 0 2.5%), |
1084 | 1086 | linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), |
1085 | 1087 | linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px); |
1086 | 1088 | background-size: 88px 88px; |
| 1089 | + background-blend-mode: screen; |
1087 | 1090 | -webkit-mask-image: radial-gradient(circle at center, black 28%, transparent 85%); |
1088 | 1091 | mask-image: radial-gradient(circle at center, black 28%, transparent 85%); |
1089 | 1092 | } |
1090 | 1093 |
|
1091 | 1094 | @media (prefers-color-scheme: light) { |
1092 | 1095 | html:not(.theme-dark) .constellation-grid { |
1093 | 1096 | background-image: |
| 1097 | + radial-gradient(circle at 18% 18%, rgba(43, 143, 134, 0.05), transparent 0 2.8%), |
| 1098 | + radial-gradient(circle at 72% 28%, rgba(184, 134, 11, 0.03), transparent 0 2.5%), |
1094 | 1099 | linear-gradient(rgba(0, 0, 0, 0.02) 1px, transparent 1px), |
1095 | 1100 | linear-gradient(90deg, rgba(0, 0, 0, 0.02) 1px, transparent 1px); |
1096 | 1101 | } |
1097 | 1102 | } |
1098 | 1103 |
|
1099 | 1104 | html.theme-light .constellation-grid { |
1100 | 1105 | background-image: |
| 1106 | + radial-gradient(circle at 18% 18%, rgba(43, 143, 134, 0.05), transparent 0 2.8%), |
| 1107 | + radial-gradient(circle at 72% 28%, rgba(184, 134, 11, 0.03), transparent 0 2.5%), |
1101 | 1108 | linear-gradient(rgba(0, 0, 0, 0.02) 1px, transparent 1px), |
1102 | 1109 | linear-gradient(90deg, rgba(0, 0, 0, 0.02) 1px, transparent 1px); |
1103 | 1110 | } |
1104 | 1111 |
|
1105 | 1112 | .constellation-links { |
1106 | 1113 | z-index: 1; |
| 1114 | + pointer-events: none; |
1107 | 1115 | } |
1108 | 1116 |
|
1109 | 1117 | .constellation-nodes { |
|
1113 | 1121 | .link { |
1114 | 1122 | position: absolute; |
1115 | 1123 | height: 1px; |
1116 | | - background: linear-gradient(90deg, transparent, rgba(139, 233, 253, 0.5), transparent); |
| 1124 | + border-radius: 999px; |
| 1125 | + background: linear-gradient(90deg, transparent 0%, rgba(110, 243, 255, 0.18) 20%, rgba(214, 164, 88, 0.42) 50%, rgba(110, 243, 255, 0.18) 80%, transparent 100%); |
| 1126 | + box-shadow: 0 0 16px rgba(110, 243, 255, 0.12), inset 0 0 8px rgba(255, 255, 255, 0.1); |
1117 | 1127 | transform-origin: left center; |
1118 | | - opacity: 0.7; |
1119 | | - transition: opacity 160ms ease, filter 160ms ease; |
| 1128 | + opacity: 0.62; |
| 1129 | + transition: opacity 180ms ease, filter 180ms ease, background 180ms ease; |
| 1130 | + } |
| 1131 | + |
| 1132 | + .link.is-connected { |
| 1133 | + opacity: 1; |
| 1134 | + filter: saturate(1.15) drop-shadow(0 0 8px rgba(110, 243, 255, 0.22)); |
1120 | 1135 | } |
1121 | 1136 |
|
1122 | 1137 | .node { |
|
1125 | 1140 | place-items: center; |
1126 | 1141 | border-radius: 50%; |
1127 | 1142 | border: 2px solid rgba(255, 255, 255, 0.22); |
1128 | | - -webkit-backdrop-filter: blur(6px); |
1129 | | - backdrop-filter: blur(6px); |
1130 | | - box-shadow: 0 0 24px rgba(110, 243, 255, 0.15); |
| 1143 | + background-clip: padding-box; |
| 1144 | + -webkit-backdrop-filter: blur(8px); |
| 1145 | + backdrop-filter: blur(8px); |
| 1146 | + box-shadow: 0 0 32px rgba(110, 243, 255, 0.12); |
1131 | 1147 | cursor: pointer; |
1132 | 1148 | transform: translate(-50%, -50%); |
1133 | 1149 | -webkit-appearance: none; |
1134 | 1150 | appearance: none; |
1135 | 1151 | padding: 0; |
1136 | 1152 | margin: 0; |
1137 | 1153 | animation: nodeAppear 260ms ease; |
1138 | | - transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), opacity var(--transition-normal), filter var(--transition-normal); |
| 1154 | + transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), opacity var(--transition-normal), filter var(--transition-normal), background var(--transition-normal); |
1139 | 1155 | } |
1140 | 1156 |
|
1141 | 1157 | .node:hover, |
1142 | | - .node:focus-visible { |
1143 | | - transform: translate(-50%, -50%) scale(1.08); |
1144 | | - border-color: rgba(255, 255, 255, 0.48); |
1145 | | - box-shadow: 0 0 32px rgba(110, 243, 255, 0.28); |
| 1158 | + .node:focus-visible, |
| 1159 | + .node.is-connected, |
| 1160 | + .node.is-hovered { |
| 1161 | + transform: translate(-50%, -50%) scale(1.1); |
| 1162 | + border-color: rgba(255, 255, 255, 0.52); |
| 1163 | + box-shadow: 0 0 32px rgba(110, 243, 255, 0.3), 0 0 6px rgba(255, 255, 255, 0.08); |
| 1164 | + z-index: 4; |
1146 | 1165 | } |
1147 | 1166 |
|
1148 | 1167 | .node.is-selected { |
1149 | | - border-color: rgba(214, 164, 88, 0.58); |
1150 | | - box-shadow: 0 0 34px rgba(214, 164, 88, 0.24); |
| 1168 | + border-color: rgba(214, 164, 88, 0.72); |
| 1169 | + box-shadow: 0 0 42px rgba(214, 164, 88, 0.3), 0 0 18px rgba(110, 243, 255, 0.12); |
1151 | 1170 | } |
1152 | 1171 |
|
1153 | 1172 | .node.is-selected.node--work { |
1154 | | - width: 58px; |
1155 | | - height: 58px; |
| 1173 | + width: 62px; |
| 1174 | + height: 62px; |
1156 | 1175 | z-index: 5; |
1157 | | - background: radial-gradient(circle, rgba(238, 161, 200, 0.56), rgba(238, 161, 200, 0.12)); |
1158 | | - box-shadow: 0 0 42px rgba(238, 161, 200, 0.3), 0 0 20px rgba(214, 164, 88, 0.18); |
| 1176 | + background: radial-gradient(circle, rgba(238, 161, 200, 0.68), rgba(238, 161, 200, 0.14)); |
| 1177 | + box-shadow: 0 0 44px rgba(238, 161, 200, 0.34), 0 0 20px rgba(214, 164, 88, 0.2); |
1159 | 1178 | } |
1160 | 1179 |
|
1161 | 1180 | .node.is-loading { |
|
1166 | 1185 |
|
1167 | 1186 | .node.is-muted-temporal, |
1168 | 1187 | .link.is-muted-temporal { |
1169 | | - opacity: 0.2; |
| 1188 | + opacity: 0.22; |
1170 | 1189 | filter: saturate(0.75); |
1171 | 1190 | } |
1172 | 1191 |
|
1173 | 1192 | .node.is-temporal-focus { |
1174 | | - box-shadow: 0 0 30px rgba(77, 182, 172, 0.28); |
| 1193 | + box-shadow: 0 0 34px rgba(77, 182, 172, 0.32); |
1175 | 1194 | } |
1176 | 1195 |
|
1177 | 1196 | .node.is-filter-muted, |
|
1181 | 1200 | } |
1182 | 1201 |
|
1183 | 1202 | .node.is-filter-focus { |
1184 | | - box-shadow: 0 0 28px rgba(214, 164, 88, 0.18); |
| 1203 | + box-shadow: 0 0 30px rgba(214, 164, 88, 0.18); |
1185 | 1204 | } |
1186 | 1205 |
|
1187 | 1206 | .node--movement { |
|
1204 | 1223 |
|
1205 | 1224 | .node-label { |
1206 | 1225 | position: absolute; |
1207 | | - top: calc(100% + 10px); |
| 1226 | + top: calc(100% + 8px); |
1208 | 1227 | left: 50%; |
1209 | | - transform: translateX(-50%); |
| 1228 | + transform: translateX(-50%) translateY(0); |
1210 | 1229 | white-space: nowrap; |
1211 | 1230 | font-family: Arial, Helvetica, sans-serif; |
1212 | | - font-size: 0.77rem; |
| 1231 | + font-size: 0.78rem; |
1213 | 1232 | letter-spacing: 0.04em; |
1214 | 1233 | color: var(--text-soft); |
1215 | 1234 | pointer-events: none; |
| 1235 | + opacity: 0.86; |
| 1236 | + transition: opacity 180ms ease, transform 180ms ease, color 180ms ease; |
1216 | 1237 | } |
1217 | 1238 |
|
| 1239 | + .node:hover .node-label, |
| 1240 | + .node:focus-visible .node-label, |
1218 | 1241 | .node.is-selected .node-label { |
| 1242 | + opacity: 1; |
| 1243 | + transform: translateX(-50%) translateY(0); |
1219 | 1244 | color: var(--text-main); |
| 1245 | + } |
| 1246 | + |
| 1247 | + .node.is-selected .node-label { |
1220 | 1248 | font-weight: 600; |
1221 | 1249 | font-size: 0.84rem; |
1222 | 1250 | text-shadow: 0 0 14px rgba(255, 255, 255, 0.12); |
|
0 commit comments