// ==UserScript==
// @name ❄️Winter Acellus Mod Pack🛠️
// @author Type Sh!t
// @description For more versions check out my profile!
// @icon https://i.pinimg.com/originals/44/66/ec/4466ecf1a7b1cfb3c40a014386e2fa57.png
// @version 1.4
// @match https://admin192a.acellus.com/student/*
// @license MIT
// @match https://admin192c.acellus.com/student/*
// @run-at document-start
// @grant none
// @namespace https://greasyfork.org/users/1394549
// @icon https://i.pinimg.com/originals/44/66/ec/4466ecf1a7b1cfb3c40a014386e2fa57.png
// ==/UserScript==
(function () {
'use strict';
console.log("Enhanced winter theme script running");
// Create and inject a style element into the head
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `
/* Smooth changing background gradient for body and html */
@keyframes backgroundGradientChange {
0% { background: linear-gradient(135deg, #0f1b2b, #2a3f5b); } /* Darker blue gradient */
50% { background: linear-gradient(135deg, #2a3f5b, #445e7d); } /* Medium blue gradient */
100% { background: linear-gradient(135deg, #0f1b2b, #2a3f5b); } /* Darker blue gradient */
}
body, html {
margin: 0;
padding: 0;
height: 100%;
animation: backgroundGradientChange 20s infinite alternate;
background-size: cover;
color: #b0e0e6; /* Light ice blue text */
}
/* Transparent backgrounds for main containers to show the gradient */
#root, .container, .main, .wrapper, section, header, footer, div, article, aside, nav, main {
background: transparent !important;
box-shadow: none;
}
/* Frosted glass effect for buttons, inputs, text areas, and cards */
button, a, .card, .box, .content-box, .panel, .widget, .form, .modal, .popup, .course-button {
background: rgba(255, 255, 255, 0.1); /* Updated to make backgrounds glass clear */
backdrop-filter: blur(10px);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.3); /* Reduced opacity for a more glass-like effect */
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s, box-shadow 0.3s;
color: #5f9ea0; /* Teal */
}
/* Cold white effect for input fields, text areas, and selects */
input, textarea, select {
background: rgba(240, 248, 255, 0.1); /* Cold white background with reduced opacity */
backdrop-filter: blur(10px);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s, box-shadow 0.3s;
color: #b0e0e6; /* Light ice blue text for less strain */
}
/* Ensure text within interactive elements remains readable */
button, a, .card, input, textarea, select, .box, .content-box, .panel, .widget, .form, .modal, .popup, .course-button {
color: #5f9ea0 !important; /* Teal for readability */
}
/* Text color animation - varying durations based on brightness */
@keyframes textColorChange {
0% { color: #b0e0e6; } /* Ice */
10% { color: #5f9ea0; } /* Teal */
20% { color: #add8e6; } /* Light Blue */
30% { color: #87ceeb; } /* Sky Blue */
40% { color: #89cff0; } /* Baby Blue */
50% { color: #4682b4; } /* Sky Blue with grey */
60% { color: #00ced1; } /* Blueish Green */
70% { color: #b0e0e6; } /* Ice again */
100% { color: #5f9ea0; } /* Teal */
}
/* Apply the text color animation smoothly to all text elements, with varying duration */
body, html, button, a, .card, input, textarea, select, .box, .content-box, .panel, .widget, .form, .modal, .popup, .highlighted-text, .important-section, p, h1, h2, h3, h4, h5, h6, span, div {
animation: textColorChange 10s infinite alternate;
transition: color 1s ease-in-out;
text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2); /* Light blurred stroke for contrast in default mode */
}
/* Hover effect for buttons, cards, and other interactive elements */
button:hover, a:hover, .card:hover, .box:hover, .content-box:hover, .panel:hover, .widget:hover, .modal:hover, .popup:hover {
transform: scale(1.02);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
/* Input focus effect */
input:focus, textarea:focus, select:focus {
outline: none;
border-color: #6ca0dc;
box-shadow: 0 0 5px rgba(108, 160, 220, 0.5);
}
/* Styling for images */
img {
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s;
}
img:hover {
transform: scale(1.02);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
/* Improved visibility for important text containers */
.highlighted-text, .important-section {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(5px);
padding: 10px;
border-radius: 5px;
color: #5f9ea0; /* Teal */
}
/* Dark mode adjustments */
.dark-ice-theme body, .dark-ice-theme html {
background: linear-gradient(135deg, #1a1a2e, #16213e); /* Dark ice-themed gradient */
}
.dark-ice-theme button, .dark-ice-theme a, .dark-ice-theme .card, .dark-ice-theme .box, .dark-ice-theme .content-box, .dark-ice-theme .panel, .dark-ice-theme .widget, .dark-ice-theme .form, .dark-ice-theme .modal, .dark-ice-theme .popup, .dark-ice-theme input, .dark-ice-theme textarea, .dark-ice-theme select, .dark-ice-theme .course-button {
background: rgba(255, 255, 255, 0.1); /* Glass clear background */
backdrop-filter: blur(10px);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
transition: transform 0.3s, box-shadow 0.3s;
color: #b0e0e6 !important; /* Light ice blue for better visibility in dark mode */
}
.dark-ice-theme body, .dark-ice-theme html, .dark-ice-theme button, .dark-ice-theme a, .dark-ice-theme .card, .dark-ice-theme input, .dark-ice-theme textarea, .dark-ice-theme select, .dark-ice-theme .box, .dark-ice-theme .content-box, .dark-ice-theme .panel, .dark-ice-theme .widget, .dark-ice-theme .form, .dark-ice-theme .modal, .dark-ice-theme .popup, .dark-ice-theme .highlighted-text, .dark-ice-theme .important-section, .dark-ice-theme p, .dark-ice-theme h1, .dark-ice-theme h2, .dark-ice-theme h3, .dark-ice-theme h4, .dark-ice-theme h5, .dark-ice-theme h6, .dark-ice-theme span, .dark-ice-theme div {
text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.1), -1px -1px 4px rgba(255, 255, 255, 0.1); /* Very light blurred stroke for better contrast in dark mode */
}
`;
document.head.appendChild(style);
// Create and append a button to toggle the dark ice theme
const themeToggleButton = document.createElement('button');
themeToggleButton.innerText = "Toggle Dark Ice Theme";
themeToggleButton.style.position = 'fixed';
themeToggleButton.style.bottom = '20px';
themeToggleButton.style.right = '20px';
themeToggleButton.style.padding = '10px 20px';
themeToggleButton.style.borderRadius = '8px';
themeToggleButton.style.border = 'none';
themeToggleButton.style.background = 'rgba(255, 255, 255, 0.5)';
themeToggleButton.style.color = '#5f9ea0';
themeToggleButton.style.cursor = 'pointer';
themeToggleButton.style.backdropFilter = 'blur(10px)';
themeToggleButton.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.1)';
themeToggleButton.style.transition = 'transform 0.3s, box-shadow 0.3s';
document.body.appendChild(themeToggleButton);
// Create and append a button to toggle type settings
const typeSettingsButton = document.createElement('button');
typeSettingsButton.innerText = "Type~Setting";
typeSettingsButton.style.position = 'fixed';
typeSettingsButton.style.bottom = '60px';
typeSettingsButton.style.right = '20px';
typeSettingsButton.style.padding = '10px 20px';
typeSettingsButton.style.borderRadius = '8px';
typeSettingsButton.style.border = 'none';
typeSettingsButton.style.background = 'rgba(255, 255, 255, 0.5)';
typeSettingsButton.style.color = '#5f9ea0';
typeSettingsButton.style.cursor = 'pointer';
typeSettingsButton.style.backdropFilter = 'blur(10px)';
typeSettingsButton.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.1)';
typeSettingsButton.style.transition = 'transform 0.3s, box-shadow 0.3s';
document.body.appendChild(typeSettingsButton);
// Create dropdown menu for type settings
const typeSettingsMenu = document.createElement('div');
typeSettingsMenu.style.position = 'fixed';
typeSettingsMenu.style.bottom = '100px';
typeSettingsMenu.style.right = '20px';
typeSettingsMenu.style.padding = '10px';
typeSettingsMenu.style.borderRadius = '8px';
typeSettingsMenu.style.border = '1px solid rgba(255, 255, 255, 0.3)';
typeSettingsMenu.style.background = 'rgba(255, 255, 255, 0.7)';
typeSettingsMenu.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.1)';
typeSettingsMenu.style.display = 'none';
const betterTextColorsLabel = document.createElement('label');
betterTextColorsLabel.innerText = 'Better Text Colors';
betterTextColorsLabel.style.marginRight = '10px';
const betterTextColorsCheckbox = document.createElement('input');
betterTextColorsCheckbox.type = 'checkbox';
betterTextColorsCheckbox.checked = true;
betterTextColorsCheckbox.addEventListener('change', () => {
if (betterTextColorsCheckbox.checked) {
style.innerHTML += `
@keyframes textColorChange {
0% { color: #b0e0e6; } /* Ice */
10% { color: #5f9ea0; } /* Teal */
20% { color: #add8e6; } /* Light Blue */
30% { color: #87ceeb; } /* Sky Blue */
40% { color: #89cff0; } /* Baby Blue */
50% { color: #4682b4; } /* Sky Blue with grey */
60% { color: #00ced1; } /* Blueish Green */
70% { color: #b0e0e6; } /* Ice again */
100% { color: #5f9ea0; } /* Teal */
}
`;
} else {
style.innerHTML = style.innerHTML.replace(/@keyframes textColorChange {[^}]+}/g, '');
}
});
typeSettingsMenu.appendChild(betterTextColorsLabel);
typeSettingsMenu.appendChild(betterTextColorsCheckbox);
document.body.appendChild(typeSettingsMenu);
// Toggle the dropdown menu
typeSettingsButton.addEventListener('click', () => {
typeSettingsMenu.style.display = typeSettingsMenu.style.display === 'none' ? 'block' : 'none';
});
// Function to toggle dark ice theme
themeToggleButton.addEventListener('click', () => {
const isDark = document.body.classList.toggle('dark-ice-theme');
if (isDark) {
style.innerHTML += `
body, html {
background: linear-gradient(135deg, #1a1a2e, #16213e); /* Dark ice-themed gradient */
}
button, a, .card, .box, .content-box, .panel, .widget, .form, .modal, .popup, input, textarea, select, .course-button {
background: rgba(255, 255, 255, 0.1); /* Glass clear background */
backdrop-filter: blur(10px);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
transition: transform 0.3s, box-shadow 0.3s;
color: #b0e0e6 !important; /* Light ice blue for better visibility in dark mode */
}
`;
} else {
style.innerHTML = style.innerHTML.replace(/body, html {[^}]+}/g, `body, html {
margin: 0;
padding: 0;
height: 100%;
animation: backgroundGradientChange 20s infinite alternate;
background-size: cover;
}`).replace(/button, a, .card, .box, .content-box, .panel, .widget, .form, .modal, .popup, input, textarea, select {[^}]+}/g, `button, a, .card, .box, .content-box, .panel, .widget, .form, .modal, .popup, input, textarea, select {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s, box-shadow 0.3s;
color: #5f9ea0;
}`);
}
});
})();