Test custom.css
This commit is contained in:
+325
-293
@@ -1,42 +1,83 @@
|
||||
/* ============================================================================
|
||||
HOMEPAGE CUSTOM CSS - OPTIMIZED
|
||||
KalliLab — FINAL CUSTOM CSS
|
||||
Header CSS removed completely / everything else kept
|
||||
============================================================================ */
|
||||
|
||||
:root {
|
||||
/* Theme colors */
|
||||
--dominant-color: #1a3a3a;
|
||||
--accent-color: #00c8a0;
|
||||
--accent-color-dim: #00c8a050;
|
||||
--bg-color: #18191a;
|
||||
--bg-color-light: #1e2021;
|
||||
--text-color: #ffffff;
|
||||
--kl-bg: #071015;
|
||||
--kl-panel: rgba(8, 14, 19, 0.78);
|
||||
--kl-panel-2: rgba(11, 19, 24, 0.86);
|
||||
|
||||
/* Derived properties using dynamic colors */
|
||||
--card-border: 3.5px solid var(--dominant-color);
|
||||
--card-border-hover: var(--accent-color);
|
||||
--card-border-focus: var(--accent-color);
|
||||
--card-bg: var(--bg-color);
|
||||
--card-bg-hover: var(--accent-color-dim);
|
||||
--text-shadow: 0 0 10px var(--bg-color);
|
||||
--transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
|
||||
--focus-ring: 0 0 8px var(--accent-color-dim);
|
||||
--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
||||
--base-font-size: 14px;
|
||||
--card-padding: 0;
|
||||
--card-margin: 0;
|
||||
--border-radius: 1.5rem;
|
||||
--kl-card: rgba(11, 19, 25, 0.72);
|
||||
--kl-card-hover: rgba(14, 24, 31, 0.78);
|
||||
--kl-tab: rgba(9, 16, 22, 0.78);
|
||||
--kl-tab-hover: rgba(12, 22, 28, 0.82);
|
||||
--kl-tab-active: rgba(10, 22, 26, 0.84);
|
||||
|
||||
--kl-border: rgba(118, 181, 187, 0.12);
|
||||
--kl-border-strong: rgba(0, 200, 160, 0.34);
|
||||
--kl-border-active: rgba(74, 219, 196, 0.62);
|
||||
|
||||
--kl-text: #e8fbfb;
|
||||
--kl-text-soft: rgba(220, 243, 243, 0.74);
|
||||
--kl-text-dim: rgba(182, 215, 215, 0.54);
|
||||
|
||||
--kl-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
|
||||
--kl-glow: 0 0 18px rgba(0, 200, 160, 0.14);
|
||||
--kl-glow-strong: 0 0 24px rgba(0, 200, 160, 0.22);
|
||||
|
||||
--kl-radius: 18px;
|
||||
--kl-radius-sm: 14px;
|
||||
|
||||
--kl-font-ui: "Inter", "Segoe UI", system-ui, sans-serif;
|
||||
--kl-font-tech: "JetBrains Mono", "Consolas", monospace;
|
||||
|
||||
--kl-transition: 180ms ease;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
NAVIGATION TABS
|
||||
BASE
|
||||
============================================================================ */
|
||||
|
||||
html,
|
||||
body {
|
||||
background: #050c10;
|
||||
color: var(--kl-text);
|
||||
font-family: var(--kl-font-ui);
|
||||
}
|
||||
|
||||
body::before {
|
||||
content: "";
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
background:
|
||||
radial-gradient(circle at top center, rgba(0, 200, 160, 0.06), transparent 32%),
|
||||
linear-gradient(180deg, rgba(4, 10, 14, 0.18), rgba(4, 10, 14, 0.48));
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.container,
|
||||
main,
|
||||
#page_container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 94%;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
TABS
|
||||
============================================================================ */
|
||||
|
||||
#myTab {
|
||||
display: flex;
|
||||
gap: 60px;
|
||||
margin: 0 150px 30px;
|
||||
gap: 18px;
|
||||
margin: 0 24px 22px;
|
||||
padding: 0;
|
||||
font: 18px/2 var(--font-family-base);
|
||||
background: none;
|
||||
background: transparent;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
|
||||
@@ -48,231 +89,183 @@
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
[id$="-tab"] {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 50px;
|
||||
min-width: 180px;
|
||||
padding: 0 22px;
|
||||
border: 1px solid var(--kl-border);
|
||||
border-radius: 16px;
|
||||
background: linear-gradient(180deg, rgba(10, 18, 24, 0.72), rgba(7, 13, 18, 0.82));
|
||||
color: var(--kl-text-soft);
|
||||
font-family: var(--kl-font-ui);
|
||||
font-size: 0.95rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
transition:
|
||||
border-color var(--kl-transition),
|
||||
background var(--kl-transition),
|
||||
box-shadow var(--kl-transition),
|
||||
color var(--kl-transition);
|
||||
}
|
||||
|
||||
[id$="-tab"]:hover {
|
||||
color: var(--kl-text);
|
||||
border-color: rgba(0, 200, 160, 0.28);
|
||||
background: linear-gradient(180deg, var(--kl-tab-hover), rgba(8, 15, 20, 0.88));
|
||||
box-shadow: var(--kl-glow);
|
||||
transform: none;
|
||||
}
|
||||
|
||||
[id$="-tab"].tab-focused,
|
||||
[id$="-tab"].active,
|
||||
[id$="-tab"][aria-selected="true"] {
|
||||
color: var(--kl-text);
|
||||
border-color: var(--kl-border-active);
|
||||
background: linear-gradient(180deg, var(--kl-tab-active), rgba(7, 14, 18, 0.9));
|
||||
box-shadow: var(--kl-glow-strong);
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.tabcontent {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
inset: 0;
|
||||
display: none;
|
||||
overflow-y: auto;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transition: opacity 0.3s ease, visibility 0.3s ease;
|
||||
transition: opacity 220ms ease, visibility 220ms ease;
|
||||
}
|
||||
|
||||
.tabcontent.active {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
margin: 12px 0 15px;
|
||||
}
|
||||
|
||||
[id$="-tab"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 60px;
|
||||
margin: 0;
|
||||
border: var(--card-border);
|
||||
border-radius: var(--border-radius);
|
||||
background-color: #18191a;
|
||||
text-align: center;
|
||||
text-shadow: var(--text-shadow);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
GROUP TITLES
|
||||
============================================================================ */
|
||||
|
||||
.service-group,
|
||||
.services-group,
|
||||
.bookmarks-group,
|
||||
.widget-group {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
h2,
|
||||
.group-title,
|
||||
.section-title {
|
||||
color: var(--kl-text-soft);
|
||||
font-family: var(--kl-font-ui);
|
||||
font-size: 0.88rem;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
transition: var(--transition);
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
contain: layout style paint;
|
||||
will-change: background-color, border-color;
|
||||
backface-visibility: hidden;
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
[id$="-tab"]::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: -5px;
|
||||
background-color: var(--card-bg);
|
||||
border-radius: var(--border-radius);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
[id$="-tab"]:hover {
|
||||
background-color: #1e2021;
|
||||
border-color: var(--card-border-hover);
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
[id$="-tab"].tab-focused,
|
||||
[id$="-tab"].active {
|
||||
background-color: #1e2021;
|
||||
border-color: var(--card-border-focus);
|
||||
outline: none;
|
||||
box-shadow: var(--focus-ring);
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
SERVICE CARDS
|
||||
============================================================================ */
|
||||
|
||||
.service-card {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: var(--card-border);
|
||||
border-radius: var(--border-radius);
|
||||
background-color: #18191a;
|
||||
text-shadow: var(--text-shadow);
|
||||
font-weight: 400;
|
||||
white-space: nowrap;
|
||||
transition: var(--transition);
|
||||
contain: layout style paint;
|
||||
will-change: background-color, border-color;
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 200px;
|
||||
backface-visibility: hidden;
|
||||
transform: translateZ(0);
|
||||
border: 1px solid var(--kl-border);
|
||||
border-radius: var(--kl-radius);
|
||||
background: linear-gradient(180deg, rgba(12, 20, 26, 0.72), rgba(8, 14, 18, 0.72));
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03),
|
||||
var(--kl-shadow);
|
||||
color: var(--kl-text);
|
||||
text-shadow: none;
|
||||
font-weight: 500;
|
||||
white-space: normal;
|
||||
overflow: hidden;
|
||||
transition:
|
||||
border-color var(--kl-transition),
|
||||
background var(--kl-transition),
|
||||
box-shadow var(--kl-transition);
|
||||
}
|
||||
|
||||
.service-card::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: -5px;
|
||||
background-color: var(--card-bg);
|
||||
border-radius: var(--border-radius);
|
||||
z-index: -1;
|
||||
inset: 0;
|
||||
background: linear-gradient(135deg, rgba(74, 219, 196, 0.03), transparent 36%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.service-card:hover {
|
||||
background-color: #1e2021;
|
||||
border-color: var(--card-border-hover);
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--kl-border-strong);
|
||||
background: linear-gradient(180deg, rgba(14, 24, 31, 0.78), rgba(9, 16, 21, 0.78));
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.04),
|
||||
0 14px 34px rgba(0, 0, 0, 0.26),
|
||||
0 0 0 1px rgba(0, 200, 160, 0.05),
|
||||
0 0 18px rgba(0, 200, 160, 0.1);
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.service-card > :is(div, span, h1, h2, h3, h4, h5, h6, p):first-child:not(.service-container),
|
||||
.bookmark,
|
||||
.widget-container {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
.service-card a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.service-card > :first-child:not(.service-container),
|
||||
.service-card > .service-header,
|
||||
.service-card > .service-title {
|
||||
margin-bottom: 1px;
|
||||
.service-header,
|
||||
.service-title,
|
||||
.card-title {
|
||||
color: var(--kl-text) !important;
|
||||
font-family: var(--kl-font-ui);
|
||||
font-weight: 700 !important;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
.service-card > :nth-child(2):not(.service-header):not(.service-title),
|
||||
.service-card > .service-body,
|
||||
.service-card > .service-content {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.service-card:has(iframe) .service-container {
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.service-card a:-moz-any-link {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.service-card :is(a:focus, a:hover, div[onclick]:hover) {
|
||||
background-color: transparent;
|
||||
outline: none;
|
||||
.service-description,
|
||||
.card-description,
|
||||
.service-card p {
|
||||
color: var(--kl-text-dim) !important;
|
||||
}
|
||||
|
||||
.service-icon img {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
vertical-align: middle;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.service-container {
|
||||
color: var(--kl-text-soft);
|
||||
}
|
||||
|
||||
.service-block {
|
||||
position: relative;
|
||||
border: 2px solid darkslategrey;
|
||||
border-radius: var(--border-radius);
|
||||
}
|
||||
|
||||
.service-block:has(iframe) {
|
||||
border: none;
|
||||
border-radius: var(--kl-radius);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.service-block:has(.epl),
|
||||
.service-block:has(.uptime),
|
||||
.service-block:has(.todo) {
|
||||
border-color: #191c1d;
|
||||
.service-card .status,
|
||||
.service-status,
|
||||
.card-status {
|
||||
font-family: var(--kl-font-tech);
|
||||
font-size: 0.8rem;
|
||||
color: var(--kl-text-soft);
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
INFORMATION WIDGETS
|
||||
IFRAMES / SPECIALS
|
||||
============================================================================ */
|
||||
#information-widgets {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
#information-widgets-right {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.information-widget-greeting {
|
||||
flex-grow: 1.5;
|
||||
}
|
||||
|
||||
.information-widget-resources {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.information-widget-resource {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
#information-widgets > * {
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: var(--border-radius);
|
||||
backdrop-filter: none;
|
||||
text-shadow: var(--text-shadow);
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
transition: var(--transition);
|
||||
contain: layout;
|
||||
will-change: transform;
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 200px;
|
||||
backface-visibility: hidden;
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
#information-widgets > *::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#information-widgets > *:is(:hover, :focus) {
|
||||
background-color: transparent !important;
|
||||
border-color: transparent !important;
|
||||
box-shadow: none !important;
|
||||
backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
IFRAME CONTAINERS
|
||||
============================================================================ */
|
||||
iframe {
|
||||
width: 100%;
|
||||
border: 0;
|
||||
@@ -311,8 +304,9 @@ iframe {
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
CUSTOM LISTS - OPTIMIZED SELECTORS
|
||||
CUSTOM LISTS
|
||||
============================================================================ */
|
||||
|
||||
#upcominggames .flex.flex-row.text-right,
|
||||
#tautulli_recent_movies .flex.flex-row.text-right,
|
||||
#tautulli_recent_shows .flex.flex-row.text-right {
|
||||
@@ -386,62 +380,14 @@ iframe {
|
||||
margin: 3px 3px 1px;
|
||||
border-radius: 0.4rem;
|
||||
text-align: left;
|
||||
text-shadow: var(--text-shadow);
|
||||
text-shadow: none;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
#headlessui-disclosure-panel-\:r6\: > ul:first-child > li:first-child > div:first-child > div:first-child {
|
||||
margin: -100px;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
ANIMATIONS
|
||||
UTILITIES
|
||||
============================================================================ */
|
||||
@keyframes updatePulse {
|
||||
0%, 100% {
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes loadingBar {
|
||||
0% {
|
||||
width: 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
width: 100%;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
.service-card.updating {
|
||||
animation: updatePulse 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
.service-card.loading::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: var(--card-border-hover);
|
||||
animation: loadingBar 2s linear infinite;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
UTILITY CLASSES
|
||||
============================================================================ */
|
||||
.container {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
@@ -477,54 +423,73 @@ iframe {
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
RESPONSIVE DESIGN
|
||||
ANIMATIONS
|
||||
============================================================================ */
|
||||
@media (max-width: 768px) {
|
||||
:root {
|
||||
--card-padding: 10px;
|
||||
--card-margin: 3px;
|
||||
}
|
||||
|
||||
@keyframes updatePulse {
|
||||
0%, 100% {
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.74;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes loadingBar {
|
||||
0% {
|
||||
width: 0;
|
||||
opacity: 0.45;
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
width: 100%;
|
||||
opacity: 0.45;
|
||||
}
|
||||
}
|
||||
|
||||
.service-card.updating {
|
||||
animation: updatePulse 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
.service-card.loading::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, rgba(0, 200, 160, 0.2), rgba(74, 219, 196, 0.9));
|
||||
animation: loadingBar 2s linear infinite;
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
RESPONSIVE
|
||||
============================================================================ */
|
||||
|
||||
@media (max-width: 768px) {
|
||||
#myTab {
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
gap: 8px;
|
||||
margin: 0 12px 18px;
|
||||
}
|
||||
|
||||
[id$="-tab"] {
|
||||
width: 100%;
|
||||
padding: 15px;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.tabcontent {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.container {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.service-card,
|
||||
[id$="-tab"] {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.hide-on-mobile {
|
||||
display: none !important;
|
||||
height: 0 !important;
|
||||
min-height: 0 !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
border: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
#myTab {
|
||||
gap: 3px;
|
||||
}
|
||||
|
||||
.service-card,
|
||||
[id$="-tab"] {
|
||||
font-size: 12px;
|
||||
@@ -546,23 +511,90 @@ iframe {
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================================
|
||||
BOOKMARKS — gleicher Look wie Service Cards
|
||||
Homepage rendert Bookmarks als <a> Tags mit Tailwind-Klassen
|
||||
BOOKMARKS — FINAL MATCH TO MAIN CARDS
|
||||
============================================================================ */
|
||||
.service-block a[href],
|
||||
#bookmarks a[href] {
|
||||
border: var(--card-border);
|
||||
border-radius: var(--border-radius);
|
||||
background-color: var(--bg-color-light);
|
||||
text-shadow: var(--text-shadow);
|
||||
transition: var(--transition);
|
||||
|
||||
/* Haupt-Balken */
|
||||
#bookmarks a[href],
|
||||
.service-block a[href] {
|
||||
position: relative;
|
||||
|
||||
border: 1px solid var(--kl-border) !important;
|
||||
border-radius: 14px;
|
||||
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(12, 20, 26, 0.72),
|
||||
rgba(8, 14, 18, 0.72)
|
||||
) !important;
|
||||
|
||||
backdrop-filter: blur(6px);
|
||||
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03),
|
||||
var(--kl-shadow);
|
||||
|
||||
transition:
|
||||
border-color var(--kl-transition),
|
||||
background var(--kl-transition),
|
||||
box-shadow var(--kl-transition);
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.service-block a[href]:hover,
|
||||
#bookmarks a[href]:hover {
|
||||
background-color: var(--bg-color);
|
||||
border-color: var(--card-border-hover);
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
/* leichter Glow Layer wie bei Cards */
|
||||
#bookmarks a[href]::before,
|
||||
.service-block a[href]::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
|
||||
background: linear-gradient(
|
||||
135deg,
|
||||
rgba(74, 219, 196, 0.04),
|
||||
transparent 40%
|
||||
);
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Hover exakt wie Main Cards */
|
||||
#bookmarks a[href]:hover,
|
||||
.service-block a[href]:hover {
|
||||
border-color: var(--kl-border-strong) !important;
|
||||
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(14, 24, 31, 0.78),
|
||||
rgba(9, 16, 21, 0.78)
|
||||
) !important;
|
||||
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.04),
|
||||
0 14px 34px rgba(0, 0, 0, 0.26),
|
||||
0 0 0 1px rgba(0, 200, 160, 0.05),
|
||||
0 0 18px rgba(0, 200, 160, 0.1);
|
||||
}
|
||||
|
||||
/* Text sauber wie oben */
|
||||
#bookmarks a[href] * {
|
||||
color: var(--kl-text-soft) !important;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#bookmarks a[href]:hover * {
|
||||
color: var(--kl-text) !important;
|
||||
}
|
||||
|
||||
/* Icons etwas cleaner */
|
||||
#bookmarks img {
|
||||
border-radius: 6px;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
/* leichte Separation zwischen Reihen */
|
||||
#bookmarks .flex,
|
||||
#bookmarks .grid {
|
||||
gap: 10px;
|
||||
}
|
||||
Reference in New Issue
Block a user