diff --git a/src/app.css b/src/app.css
index 910aa69..d151b13 100644
--- a/src/app.css
+++ b/src/app.css
@@ -19,13 +19,13 @@
--card: 220 22% 92%;
--card-foreground: 222.2 84% 4.9%;
- --border: 266 85% 58%;
+ --border: 180 50% 35%;
--input: 214.3 31.8% 91.4%;
- --primary: 266 85% 58%;
+ --primary: 175 50% 40%;
--primary-foreground: 210 40% 98%;
- --secondary: 231 97% 72%;
+ --secondary: 180 30% 60%;
--secondary-foreground: 222.2 47.4% 11.2%;
--accent: 210 40% 96.1%;
@@ -34,80 +34,84 @@
--destructive: 0 72.2% 50.6%;
--destructive-foreground: 210 40% 98%;
- --ring: 222.2 84% 4.9%;
+ --ring: 175 50% 40%;
--radius: 0.5rem;
}
.dark {
- --background: 240 21% 15%;
- --foreground: 210 40% 98%;
+ /* Deep warm black - immersive and easy on the eyes */
+ --background: 220 15% 4%;
+ --foreground: 220 12% 88%;
- --muted: 217.2 32.6% 17.5%;
- --muted-foreground: 227 35% 80%;
+ /* Elevated surfaces with clear hierarchy */
+ --muted: 220 12% 8%;
+ --muted-foreground: 220 10% 55%;
- --popover: 222.2 84% 4.9%;
- --popover-foreground: 210 40% 98%;
+ --popover: 220 15% 6%;
+ --popover-foreground: 220 12% 88%;
- --card: 240 21% 12%;
- --card-foreground: 210 40% 98%;
+ --card: 220 12% 7%;
+ --card-foreground: 220 12% 88%;
- --border: 267 84% 81%;
- --input: 217.2 32.6% 17.5%;
+ /* Teal/cyan accent - modern and calm */
+ --primary: 175 60% 45%;
+ --primary-foreground: 220 15% 4%;
- --primary: 267 84% 81%;
- --primary-foreground: 222.2 47.4% 11.2%;
+ --secondary: 180 25% 20%;
+ --secondary-foreground: 220 12% 88%;
- --secondary: 232.2 97% 85%;
- --secondary-foreground: 210 40% 98%;
+ --accent: 220 12% 10%;
+ --accent-foreground: 220 12% 88%;
- --accent: 217.2 32.6% 17.5%;
- --accent-foreground: 210 40% 98%;
+ /* Subtle warm border */
+ --border: 220 10% 14%;
+ --input: 220 12% 10%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 210 40% 98%;
+ --destructive: 0 60% 45%;
+ --destructive-foreground: 220 15% 90%;
+
+ --ring: 175 60% 45%;
- --ring: 212.7 26.8% 83.9%;
+ /* Glow color for subtle effects */
+ --glow: 175 60% 45%;
}
/* Windows 2000 Theme */
.theme-win2000 {
- --background: 210 11% 71%; /* Classic W2K gray background: HSL for #D4D0C8 */
- --foreground: 0 0% 0%; /* Black text */
+ --background: 210 11% 71%;
+ --foreground: 0 0% 0%;
- --card: 210 11% 78%; /* Slightly lighter gray for card backgrounds: HSL for #DFDCD5 */
+ --card: 210 11% 78%;
--card-foreground: 0 0% 0%;
- --popover: 0 0% 100%; /* White popovers */
+ --popover: 0 0% 100%;
--popover-foreground: 0 0% 0%;
- --primary: 220 60% 30%; /* Darker, desaturated blue for title bars, buttons: HSL for approx #243C78 */
+ --primary: 220 60% 30%;
--primary-foreground: 0 0% 100%;
- --secondary: 210 10% 85%; /* Lighter gray for some elements: HSL for #D2D2D7 */
+ --secondary: 210 10% 85%;
--secondary-foreground: 0 0% 0%;
- --muted: 210 10% 90%; /* Very light gray: HSL for #E1E1E6 */
- --muted-foreground: 0 0% 25%; /* Darker gray text on muted: HSL for #404040 */
+ --muted: 210 10% 90%;
+ --muted-foreground: 0 0% 25%;
- --accent: 210 15% 65%; /* A slightly different gray for accents: HSL for #989CA6 */
+ --accent: 210 15% 65%;
--accent-foreground: 0 0% 0%;
--destructive: 0 72.2% 50.6%;
--destructive-foreground: 0 0% 100%;
- --border: 0 0% 50%; /* Gray borders: #808080 */
- --input: 0 0% 100%; /* White input backgrounds */
- --ring: 220 60% 50%; /* Focus ring, a slightly lighter version of primary: HSL for #4C68B9 */
+ --border: 0 0% 50%;
+ --input: 0 0% 100%;
+ --ring: 220 60% 50%;
- --radius: 0.125rem; /* Very slight rounding, W2K was mostly sharp */
+ --radius: 0.125rem;
}
- /* Apply base font to html for themes to inherit if not overridden by components */
html.theme-win2000 {
- font-family: "Tahoma", "MS Sans Serif", Arial, Inter, sans-serif; /* Prioritize Tahoma/MS Sans Serif */
- /* You can also add a W2K cursor here if you have one */
- /* cursor: url('/cursors/win2000/arrow.cur'), auto; */
+ font-family: "Tahoma", "MS Sans Serif", Arial, Inter, sans-serif;
}
}
@@ -115,14 +119,71 @@
* {
@apply border-border;
}
+
html {
scroll-behavior: smooth;
}
+
body {
@apply bg-background text-foreground;
font-family: "Inter", sans-serif;
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
+
+ /* Dark mode background - stars handled by StarField component */
+ .dark body {
+ position: relative;
+ overflow-x: hidden;
+ }
+}
+
+@layer components {
+ /* Subtle glow effect for primary interactive elements */
+ .glow-sm {
+ box-shadow: 0 0 10px -3px hsl(var(--glow) / 0.3);
+ }
+
+ .glow-md {
+ box-shadow: 0 0 20px -5px hsl(var(--glow) / 0.4);
+ }
+
+ /* Hover glow transition */
+ .hover-glow {
+ transition: box-shadow 0.2s ease-in-out;
+ }
+
+ .hover-glow:hover {
+ box-shadow: 0 0 15px -3px hsl(var(--glow) / 0.35);
+ }
+
+ /* Glass card effect - use sparingly */
+ .glass {
+ background: hsl(var(--card) / 0.6);
+ backdrop-filter: blur(8px);
+ border: 1px solid hsl(var(--border) / 0.5);
+ }
+
+ /* Gradient text for headings - optional flourish */
+ .gradient-text {
+ background: linear-gradient(
+ 135deg,
+ hsl(var(--primary)) 0%,
+ hsl(180 40% 55%) 100%
+ );
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
+ }
+}
+
+@layer utilities {
+ /* Smooth transitions for theme switching */
+ .theme-transition {
+ transition: background-color 0.3s ease,
+ color 0.3s ease,
+ border-color 0.3s ease,
+ box-shadow 0.3s ease;
+ }
}
.font-mono {
diff --git a/src/lib/components/StarField.svelte b/src/lib/components/StarField.svelte
new file mode 100644
index 0000000..1391b07
--- /dev/null
+++ b/src/lib/components/StarField.svelte
@@ -0,0 +1,134 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index bef8e67..806a6d9 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -5,6 +5,7 @@
import { Card, CardHeader, CardTitle, CardContent } from "$lib/components/ui/card/index.js";
import { flyAndScale } from "$lib/utils.js";
import { Terminal, UserCircle, ServerIcon, FolderGit2, ArrowRight, Gem } from "lucide-svelte";
+ import StarField from '$lib/components/StarField.svelte';
// Dashboard links remain the same as previous version
const dashboardLinks = [
@@ -54,6 +55,7 @@
}
+