Auto-sync: 2026-03-20 10:00:21

This commit is contained in:
2026-03-20 10:00:21 +01:00
parent 58809aad26
commit 783906f4c8
8 changed files with 1588 additions and 481 deletions
+81 -183
View File
@@ -1,214 +1,112 @@
/*==================================
FONT SETTINGS
==================================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Merriweather:wght@400;700&display=swap');
/* KalliLab custom.css
Cyber-dark look with electric cyan accents */
/*==================================
ROOT VARIABLES
==================================*/
:root {
--font-primary: 'Poppins', sans-serif;
--font-secondary: 'Merriweather', serif;
--color-border: #4d4e5e;
--color-tab-border: #4a4a54;
--color-tab-hover: #AC2747;
--color-background-primary: #11141d;
--color-background-hover: #08081c;
--color-block: #222432;
--color-block-hover: #2d2d4a;
--color-bookmark-icon: #1f233c;
--gradient-border: linear-gradient(90deg, #F75050, #6C033D, #F75050);
--spacing-xs: 5px;
--spacing-sm: 8px;
--spacing-md: 10px;
--spacing-lg: 30px;
--spacing-xl: 40px;
--border-width: 2px;
--border-radius: .375rem;
--border-radius-sm: .275rem;
--animation-duration: 3s;
--transition-duration: 0.3s;
--logo-size: 66px;
--tab-border-width: 2px;
--tab-border-radius: .375rem;
--tab-backdrop-filter: blur(1px);
/* 👇 Abstand zwischen Kacheln (verdoppelt) */
--card-gap: 4px;
--kalilab-bg-1: #0d1117;
--kalilab-bg-2: #0f1923;
--kalilab-bg-3: #071018;
--kalilab-primary: #00b4d8;
--kalilab-primary-2: #0077b6;
--kalilab-text: #e6f7ff;
--kalilab-muted: #8fb8c7;
--kalilab-border: rgba(0, 180, 216, 0.18);
--kalilab-glow: 0 0 18px rgba(0, 180, 216, 0.16);
}
/*==================================
GLOBAL FONT
==================================*/
* {
font-family: var(--font-primary) !important;
body {
background:
radial-gradient(circle at top left, rgba(0, 180, 216, 0.12), transparent 26%),
radial-gradient(circle at top right, rgba(0, 119, 182, 0.14), transparent 22%),
linear-gradient(135deg, var(--kalilab-bg-1) 0%, var(--kalilab-bg-2) 48%, var(--kalilab-bg-3) 100%) !important;
color: var(--kalilab-text);
}
/*==================================
TAB STYLES
==================================*/
#myTab {
padding: var(--spacing-xs);
background: none;
backdrop-filter: none;
display: flex;
justify-content: flex-start;
gap: var(--spacing-xl);
#page_container::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
background-size: 36px 36px;
mask-image: radial-gradient(circle at center, black 35%, transparent 100%);
opacity: 0.35;
}
button[id$='-tab'] {
border-width: var(--tab-border-width);
border-radius: var(--tab-border-radius);
border-color: var(--color-tab-border);
backdrop-filter: var(--tab-backdrop-filter);
padding: 1px;
margin: 1px;
border-spacing: 0;
transition: border-color var(--transition-duration) ease;
.group-title,
.services-group .group-name,
.bookmark-group .group-name {
letter-spacing: 0.04em;
text-transform: uppercase;
color: #d9f7ff !important;
}
button[id$='-tab']:hover {
border-color: var(--color-tab-hover);
.service,
.bookmark {
background: linear-gradient(180deg, rgba(15, 25, 35, 0.82) 0%, rgba(13, 17, 23, 0.88) 100%) !important;
border: 1px solid var(--kalilab-border) !important;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28), var(--kalilab-glow);
border-radius: 18px !important;
}
/*==================================
HEADER
==================================*/
.information-widget-logo + .information-widget-greeting span {
font-family: var(--font-secondary) !important;
font-weight: 700 !important;
.service:hover,
.bookmark:hover {
transform: translateY(-2px);
border-color: rgba(0, 180, 216, 0.34) !important;
box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34), 0 0 22px rgba(0, 180, 216, 0.22);
}
.information-widget-logo img {
width: var(--logo-size) !important;
height: var(--logo-size) !important;
max-width: none;
max-height: none;
margin-left: var(--spacing-lg);
.service-name,
.bookmark-name,
.information-widget .widget-title,
.information-widget .title {
color: var(--kalilab-text) !important;
}
/*==================================
SERVICE CARD
==================================*/
.service-card {
position: relative;
padding: 0;
margin: 0 !important;
border-radius: var(--border-radius);
background: transparent;
border: var(--border-width) solid var(--color-border);
overflow: visible;
.service-description,
.bookmark-description,
.information-widget .description,
p,
span {
color: var(--kalilab-muted);
}
/* Hintergrund */
.bg-theme-200\/50,
.flex-1.service-block {
background-color: var(--color-block) !important;
transition: background-color var(--transition-duration) ease;
.status .status-dot {
box-shadow: 0 0 10px currentColor;
}
.service-card:hover [class*="bg-theme-200/50"],
.service-card:hover .flex-1.service-block {
background-color: var(--color-block-hover) !important;
.information-widget {
background: rgba(10, 19, 28, 0.72) !important;
border: 1px solid rgba(0, 180, 216, 0.14) !important;
border-radius: 18px !important;
box-shadow: 0 10px 26px rgba(0, 0, 0, 0.24);
}
/*==================================
KARTEN ABSTAND
==================================*/
.services-group ul,
.services-group .flex.flex-col,
.services-group [class*="flex-col"] {
display: flex !important;
flex-direction: column !important;
gap: var(--card-gap) !important;
.search-container input,
.quick-launch input {
background: rgba(8, 15, 24, 0.88) !important;
border: 1px solid rgba(0, 180, 216, 0.22) !important;
color: var(--kalilab-text) !important;
border-radius: 16px !important;
}
.services-group li {
margin: 0 !important;
.search-container input:focus,
.quick-launch input:focus {
border-color: rgba(0, 180, 216, 0.55) !important;
box-shadow: 0 0 0 1px rgba(0, 180, 216, 0.25), 0 0 18px rgba(0, 180, 216, 0.16) !important;
}
/*==================================
ANIMATED BORDER
==================================*/
.service-card::before {
content: '';
position: absolute;
inset: calc(-1 * var(--border-width));
background: var(--gradient-border);
z-index: -2;
border-radius: var(--border-radius);
background-size: 200% 100%;
animation: wave var(--animation-duration) linear infinite;
opacity: 0;
transition: opacity var(--transition-duration) ease;
a {
color: #b8f3ff;
}
.service-card:hover::before {
opacity: 1;
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
@keyframes wave {
0% { background-position: 100% 0; }
100% { background-position: -100% 0; }
::-webkit-scrollbar-thumb {
background: linear-gradient(180deg, rgba(0, 180, 216, 0.65), rgba(0, 119, 182, 0.75));
border-radius: 999px;
}
.service-card::after {
content: '';
position: absolute;
inset: var(--border-width);
background: var(--color-background-primary);
border-radius: var(--border-radius-sm);
z-index: -1;
transition: background-color var(--transition-duration) ease;
}
.service-card:hover::after {
background: var(--color-background-hover);
}
.service-card:hover {
border-color: transparent;
}
/*==================================
BOOKMARK
==================================*/
.flex.flex-col.mt-3.bookmark-list {
border: var(--border-width) solid var(--color-border);
border-radius: var(--border-radius);
padding: var(--spacing-md) var(--spacing-sm) 0 var(--spacing-sm);
margin-bottom: var(--spacing-sm);
}
.bookmark-icon {
background-color: var(--color-bookmark-icon) !important;
}
/*==================================
TEXT
==================================*/
.text-sm {
white-space: pre-line;
text-align: center;
font-size: 1em;
}
[data-name^="_hidden"] .service-title,
.bookmark-group .bookmark-group-name {
display: none;
}
/*==================================
FOOTER
==================================*/
#footer {
display: none;
}