@import url('https://fonts.googleapis.com/css2?family=Fira+Code&family=Orbitron:wght@500;700;900&family=Poppins:wght@300;400;500;600&family=Rajdhani:wght@500;600;700&display=swap'); /* APPLY STYLING AND THEME VARIABLES GLOBALLY & ON ACTIVE THEMES */ :root, .dark, .theme-gray, .theme-slate, .theme-zinc { font-family: 'Poppins', sans-serif; /* DRACULA & CYBERPUNK COLOR SYSTEM */ --dracula-background: #181923; --dracula-background-dark: #0f1015; --dracula-foreground: #2d3142; --dracula-text: #f8f8f2; --dracula-slate: #6272a4; --dracula-cyan: #8be9fd; --dracula-green: #50fa7b; --dracula-orange: #ffb86c; --dracula-pink: #ff79c6; --dracula-purple: #bd93f9; --dracula-red: #ff5555; --dracula-yellow: #f1fa8c; /* Theme preset colors (RGB values for Tailwind transparency support) */ --color-50: 249 250 251; --color-100: 243 244 246; --color-200: 248 248 242; /* Text Color */ --color-300: 209 213 219; --color-400: 156 163 175; --color-500: 107 114 128; --color-600: 75 85 99; --color-700: 45 49 66; --color-800: 24 25 35; /* Main container background */ --color-900: 15 16 21; /* Core background */ --color-logo-start: 189 147 249; --color-logo-stop: 139 233 253; --standard-bg: rgba(45, 49, 66, 0.45); /* INFO WIDGET COLORS */ --info-widgets: var(--dracula-cyan); --resource-bar-bg: rgba(98, 114, 164, 0.2); --resource-bar-fg: var(--dracula-cyan); --widget-border: rgba(139, 233, 253, 0.2); /* SERVICES COLORS */ --service-group: var(--dracula-purple); --service-name: var(--dracula-text); --service-description: #a9b1d6; --service-block-bg: rgba(15, 16, 21, 0.7); --service-block-text: var(--dracula-pink); /* BOOKMARKS COLORS */ --bookmark-group: var(--dracula-purple); --bookmark-icon-bg: rgba(189, 147, 249, 0.15); --bookmark-icon: var(--dracula-purple); --bookmark-name: var(--dracula-text); /* ALL CARD COLORS (GLASSMORPHISM DEFAULT) */ --card-color: rgba(30, 32, 48, 0.55); --card-color-hover: rgba(40, 44, 68, 0.8); /* FOOTER COLORS */ --footer-items: var(--dracula-purple); --scrollbar-fg: var(--dracula-purple); --scrollbar-bg: var(--dracula-background-dark); } /* ========================================== * FUTURISTIC SCIFI HUD OVERLAY * ========================================== */ body { background-color: #0c0d12 !important; position: relative; overflow-x: hidden; } body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(rgba(12, 13, 18, 0.75), rgba(12, 13, 18, 0.85)), linear-gradient(90deg, rgba(139, 233, 253, 0.02) 1px, transparent 1px), linear-gradient(rgba(139, 233, 253, 0.02) 1px, transparent 1px); background-size: 100% 100%, 50px 50px, 50px 50px; pointer-events: none; z-index: -1; animation: gridPan 120s linear infinite; } /* Add a neon scanline effect */ body::after { content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06)); background-size: 100% 4px, 6px 100%; pointer-events: none; z-index: 9999; opacity: 0.15; } @keyframes gridPan { from { background-position: 0 0, 0 0, 0 0; } to { background-position: 0 0, 1000px 1000px, 1000px 1000px; } } /* ========================================== * TYPOGRAPHY & TITLE STYLES * ========================================== */ .service-group-name, .bookmark-group-name, #widgets-title { font-family: 'Orbitron', sans-serif !important; font-weight: 700 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; text-shadow: 0 0 10px rgba(189, 147, 249, 0.6) !important; color: var(--dracula-purple) !important; } .service-name { font-family: 'Rajdhani', sans-serif !important; font-weight: 700 !important; font-size: 1.15rem !important; letter-spacing: 0.03em !important; color: var(--dracula-text) !important; } .service-description { font-family: 'Poppins', sans-serif !important; font-size: 0.8rem !important; color: #a9b1d6 !important; } /* ========================================== * GLASSMORPHISM CARDS & ANIMATIONS * ========================================== */ .service-card, li.bookmark > a, #information-widgets, #dracula-calendar { background: var(--card-color) !important; backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important; border: 1px solid rgba(255, 255, 255, 0.06) !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4) !important; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important; position: relative; overflow: hidden; } /* Hover base styling */ .service-card:hover, li.bookmark > a:hover { transform: translateY(-4px) scale(1.02); background: var(--card-color-hover) !important; border-color: rgba(139, 233, 253, 0.4) !important; box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.6), 0 0 15px rgba(139, 233, 253, 0.2) !important; } /* Subtle corner tech border lines for hover */ .service-card::after { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 4px; border-top: 2px solid transparent; border-left: 2px solid transparent; transition: all 0.3s; } .service-card:hover::after { border-top-color: var(--dracula-cyan); border-left-color: var(--dracula-cyan); width: 15px; height: 15px; } /* Service Images */ .service img { border-radius: 20%; border: 1px solid rgba(255, 255, 255, 0.1); padding: 2px; background: rgba(0, 0, 0, 0.2); transition: all 0.4s; } .service-card:hover img { transform: rotate(5deg) scale(1.05); border-color: rgba(139, 233, 253, 0.4); } /* ========================================== * PULSING STATUS / ONLINE DOTS * ========================================== */ .bg-green-500, .bg-emerald-500, .text-green-500, .text-emerald-500 { position: relative; background-color: var(--dracula-green) !important; box-shadow: 0 0 10px var(--dracula-green) !important; } /* Create glowing animation rings */ .bg-green-500::after, .bg-emerald-500::after { content: ""; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; border-radius: 50%; border: 1.5px solid var(--dracula-green); animation: statusPulse 2s infinite ease-out; opacity: 0; pointer-events: none; } @keyframes statusPulse { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(2.4); opacity: 0; } } .bg-red-500, .text-red-500 { position: relative; background-color: var(--dracula-red) !important; box-shadow: 0 0 10px var(--dracula-red) !important; } .bg-red-500::after { content: ""; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; border-radius: 50%; border: 1.5px solid var(--dracula-red); animation: statusPulse 2s infinite ease-out; opacity: 0; pointer-events: none; } /* ========================================== * WIDGET & SCROLLBAR CUSTOMS * ========================================== */ #information-widgets { border-color: var(--widget-border) !important; margin-bottom: 2rem; } #information-widgets * { font-family: 'Rajdhani', sans-serif !important; font-weight: 600; color: var(--info-widgets) !important; } .resource-usage { background-color: var(--resource-bar-bg) !important; border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 4px; height: 8px !important; overflow: hidden; } .resource-usage > div { background: linear-gradient(90deg, var(--dracula-cyan), var(--dracula-purple)) !important; box-shadow: 0 0 8px rgba(139, 233, 253, 0.6); height: 100%; } .service-block { background: var(--service-block-bg) !important; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.05) !important; } .service-block .uppercase { color: var(--service-block-text) !important; font-family: 'Orbitron', sans-serif; font-size: 0.7rem; letter-spacing: 0.08em; } .service-block .font-thin { color: var(--dracula-text) !important; font-family: 'Fira Code', monospace; } /* Bookmarks styling */ .bookmark-icon { background-color: var(--bookmark-icon-bg) !important; border: 1px solid rgba(189, 147, 249, 0.2); } .bookmark-icon > div > div { background: var(--bookmark-icon) !important; } .bookmark-name { font-family: 'Poppins', sans-serif !important; font-weight: 500; } /* Calendar widget tweaks */ #dracula-calendar .flex.justify-between.flex-wrap span { color: var(--dracula-purple) !important; font-family: 'Rajdhani', sans-serif; font-weight: 700; } #footer svg { color: var(--footer-items) !important; filter: drop-shadow(0 0 5px rgba(189, 147, 249, 0.5)); } * { --scrollbar-thumb: var(--scrollbar-fg); --scrollbar-track: var(--scrollbar-bg); } /* Custom styling for the search input widget */ #search-input, .search-container input { background: rgba(15, 23, 42, 0.6) !important; border: 1px solid rgba(56, 189, 248, 0.3) !important; color: #e2e8f0 !important; font-family: 'Courier New', Courier, monospace !important; border-radius: 8px !important; backdrop-filter: blur(8px) !important; } #search-input:focus, .search-container input:focus { border-color: rgba(56, 189, 248, 0.8) !important; box-shadow: 0 0 15px rgba(56, 189, 248, 0.4) !important; outline: none !important; } /* ========================================== * CUSTOM COLOR INTEGRATION BY ID * ========================================== */ /* Setup distinct neon glow values on hover for individual service IDs */ #blue:hover .service-card { border-color: #6272a4 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(98, 114, 164, 0.45) !important; } #yellow:hover .service-card { border-color: #f1fa8c !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(241, 250, 140, 0.45) !important; } #red:hover .service-card { border-color: #ff5555 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 85, 85, 0.45) !important; } #cyan:hover .service-card { border-color: #8be9fd !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(139, 233, 253, 0.45) !important; } #purple:hover .service-card { border-color: #bd93f9 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(189, 147, 249, 0.45) !important; } #white:hover .service-card { border-color: #f8f8f2 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(248, 248, 242, 0.45) !important; } #gold:hover .service-card { border-color: #ffd700 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 215, 0, 0.45) !important; } #green:hover .service-card { border-color: #50fa7b !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(80, 250, 123, 0.45) !important; } #lime:hover .service-card { border-color: #a3e635 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(163, 230, 53, 0.45) !important; } #cobalt:hover .service-card { border-color: #3b82f6 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(59, 130, 246, 0.45) !important; } #gray:hover .service-card { border-color: #9ca3af !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(156, 163, 175, 0.45) !important; } #crimson:hover .service-card { border-color: #dc143c !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(220, 20, 60, 0.45) !important; } #lavender:hover .service-card { border-color: #e6e6fa !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(230, 230, 250, 0.45) !important; } #teal:hover .service-card { border-color: #008080 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 128, 128, 0.45) !important; } #violet:hover .service-card { border-color: #7c3aed !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(124, 58, 237, 0.45) !important; } #aqua:hover .service-card { border-color: #00ffff !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 255, 255, 0.45) !important; } #navy:hover .service-card { border-color: #000080 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 0, 128, 0.45) !important; } #beige:hover .service-card { border-color: #f5f5dc !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(245, 245, 220, 0.45) !important; } #slate:hover .service-card { border-color: #708090 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(112, 128, 144, 0.45) !important; } #burgundy:hover .service-card { border-color: #800020 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(128, 0, 32, 0.45) !important; } #emerald:hover .service-card { border-color: #50c878 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(80, 200, 120, 0.45) !important; } #salmon:hover .service-card { border-color: #fa8072 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(250, 128, 114, 0.45) !important; } #jade:hover .service-card { border-color: #00a86b !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 168, 107, 0.45) !important; } #indigo:hover .service-card { border-color: #4b0082 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(75, 0, 130, 0.45) !important; } #charcoal:hover .service-card { border-color: #36454f !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(54, 69, 79, 0.45) !important; } #cerulean:hover .service-card { border-color: #007ba7 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 123, 167, 0.45) !important; } #rose:hover .service-card { border-color: #ff007f !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 0, 127, 0.45) !important; } #coral:hover .service-card { border-color: #ff7f50 !important; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 127, 80, 0.45) !important; } /* Keep active indicators styled cleanly inside the cards */ #blue:hover .service-card::after { border-top-color: #6272a4; border-left-color: #6272a4; } #yellow:hover .service-card::after { border-top-color: #f1fa8c; border-left-color: #f1fa8c; } #red:hover .service-card::after { border-top-color: #ff5555; border-left-color: #ff5555; } #cyan:hover .service-card::after { border-top-color: #8be9fd; border-left-color: #8be9fd; } #purple:hover .service-card::after { border-top-color: #bd93f9; border-left-color: #bd93f9; } #white:hover .service-card::after { border-top-color: #f8f8f2; border-left-color: #f8f8f2; } #gold:hover .service-card::after { border-top-color: #ffd700; border-left-color: #ffd700; } #green:hover .service-card::after { border-top-color: #50fa7b; border-left-color: #50fa7b; } #lime:hover .service-card::after { border-top-color: #a3e635; border-left-color: #a3e635; } #cobalt:hover .service-card::after { border-top-color: #3b82f6; border-left-color: #3b82f6; } #gray:hover .service-card::after { border-top-color: #9ca3af; border-left-color: #9ca3af; } #crimson:hover .service-card::after { border-top-color: #dc143c; border-left-color: #dc143c; } #lavender:hover .service-card::after { border-top-color: #e6e6fa; border-left-color: #e6e6fa; } #teal:hover .service-card::after { border-top-color: #008080; border-left-color: #008080; } #violet:hover .service-card::after { border-top-color: #7c3aed; border-left-color: #7c3aed; } #aqua:hover .service-card::after { border-top-color: #00ffff; border-left-color: #00ffff; } #navy:hover .service-card::after { border-top-color: #000080; border-left-color: #000080; } #beige:hover .service-card::after { border-top-color: #f5f5dc; border-left-color: #f5f5dc; } #slate:hover .service-card::after { border-top-color: #708090; border-left-color: #708090; } #burgundy:hover .service-card::after { border-top-color: #800020; border-left-color: #800020; } #emerald:hover .service-card::after { border-top-color: #50c878; border-left-color: #50c878; } #salmon:hover .service-card::after { border-top-color: #fa8072; border-left-color: #fa8072; } #jade:hover .service-card::after { border-top-color: #00a86b; border-left-color: #00a86b; } #indigo:hover .service-card::after { border-top-color: #4b0082; border-left-color: #4b0082; } #charcoal:hover .service-card::after { border-top-color: #36454f; border-left-color: #36454f; } #cerulean:hover .service-card::after { border-top-color: #007ba7; border-left-color: #007ba7; } #rose:hover .service-card::after { border-top-color: #ff007f; border-left-color: #ff007f; } #coral:hover .service-card::after { border-top-color: #ff7f50; border-left-color: #ff7f50; }