diff --git a/.coverage b/.coverage new file mode 100644 index 0000000..df93a76 Binary files /dev/null and b/.coverage differ diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..c41ff56 --- /dev/null +++ b/biome.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.3.15/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false + }, + "formatter": { + "enabled": true, + "indentStyle": "tab" + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + }, + "assist": { + "enabled": true, + "actions": { + "source": { + "organizeImports": "on" + } + } + } +} diff --git a/frontend/index.html b/frontend/index.html index 80f93ed..030a46f 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -60,6 +60,9 @@ --cf-text: #f1f5f9; --cf-text-strong: #e2e8f0; --cf-text-muted: #94a3b8; + --cf-link: #93c5fd; + --cf-link-hover: #bfdbfe; + --cf-link-visited: #c4b5fd; --cf-header-bg: rgba(15, 23, 42, 0.85); --cf-card-bg: #1e293b; --cf-modal-bg: #0f172a; @@ -72,6 +75,9 @@ --cf-text: #0f172a; --cf-text-strong: #0f172a; --cf-text-muted: #475569; + --cf-link: #1d4ed8; + --cf-link-hover: #1e40af; + --cf-link-visited: #6d28d9; --cf-header-bg: rgba(248, 250, 252, 0.92); --cf-card-bg: #ffffff; --cf-modal-bg: #ffffff; @@ -84,6 +90,9 @@ --cf-text: #f1f5f9; --cf-text-strong: #e2e8f0; --cf-text-muted: #94a3b8; + --cf-link: #93c5fd; + --cf-link-hover: #bfdbfe; + --cf-link-visited: #c4b5fd; --cf-header-bg: rgba(15, 23, 42, 0.85); --cf-card-bg: #1e293b; --cf-modal-bg: #0f172a; @@ -96,6 +105,9 @@ --cf-text: #ffffff; --cf-text-strong: #ffffff; --cf-text-muted: #f8fafc; + --cf-link: #ffff80; + --cf-link-hover: #ffff00; + --cf-link-visited: #ffb3ff; --cf-header-bg: rgba(0, 0, 0, 0.96); --cf-card-bg: #000000; --cf-modal-bg: #000000; @@ -200,8 +212,10 @@ background: rgba(59, 91, 219, 0.14); } html[data-theme='light'] .modal-cta:hover { background: rgba(59, 91, 219, 0.22); } - html[data-theme='light'] .text-gray-500, - html[data-theme='light'] .text-gray-400 { color: #475569 !important; } + html[data-theme='light'] .modal-section-title { color: #1e3a8a; } + html[data-theme='contrast'] .modal-section-title { color: #ffff00; } + .cf-body .text-gray-500, + .cf-body .text-gray-400 { color: var(--cf-text-muted) !important; } .theme-btn { width: 28px; height: 28px; @@ -255,8 +269,27 @@ html[data-theme='light'] .share-icon-btn:hover { background: rgba(59, 130, 246, 0.2); } - .footer-link { text-decoration: underline; text-underline-offset: 2px; } - .footer-link:hover { color: #dbeafe; } + .source-link, + .footer-link, + .powered-link { + color: var(--cf-link); + text-decoration: underline; + text-underline-offset: 2px; + } + .source-link:hover, + .source-link:focus-visible, + .footer-link:hover, + .footer-link:focus-visible, + .powered-link:hover, + .powered-link:focus-visible { + color: var(--cf-link-hover); + } + .source-link:visited, + .footer-link:visited, + .powered-link:visited { + color: var(--cf-link-visited); + } + .news-card:hover .news-card-title { color: var(--cf-link-hover); } .site-footer { background: color-mix(in srgb, var(--cf-bg) 92%, transparent); backdrop-filter: blur(10px); @@ -297,6 +330,11 @@ pointer-events: none; box-shadow: 0 8px 22px rgba(2, 6, 23, 0.45); } + html[data-theme='light'] .contact-hint { + background: rgba(255, 255, 255, 0.98); + color: #0f172a; + border-color: rgba(15, 23, 42, 0.2); + } *:focus-visible { outline: 2px solid #5c7cfa; outline-offset: 2px; @@ -401,7 +439,7 @@ Read TL;DR Via: @@ -462,11 +500,11 @@
-

+

@@ -613,17 +651,20 @@
-

Powered by Perplexity

+

Powered by Perplexity

GitHub + aria-describedby="contact-hint" + @mouseenter="showHint($event)" @mousemove="moveHint($event)" @mouseleave="hideHint()" + @focus="showHint($event)" @blur="hideHint()" + x-text="contactEmail">

© ClawFort. All rights reserved.

-
+