.king-liquid-glass { --kng-liquid-blur: 18px; --kng-liquid-tint: rgba(255, 255, 255, 0.6); --kng-liquid-border-color: rgba(255, 255, 255, 0.35); --kng-liquid-border-width: 1px; --kng-liquid-noise-opacity: 0.14; --kng-liquid-noise-scale: 60px; --kng-liquid-highlight-opacity: 0.45; --kng-liquid-highlight-color: rgba(255, 255, 255, 0.85); --kng-liquid-highlight-x: 20%; --kng-liquid-highlight-y: 20%; --kng-liquid-glare-size: 70%; --kng-liquid-glare-blend: screen; --kng-liquid-glare-strength: 0; --kng-liquid-image-opacity: 0.45; --kng-liquid-image-blend: screen; --kng-liquid-shadow: 0 18px 44px rgba(15, 23, 42, 0.2); --kng-liquid-title-color: #0f172a; --kng-liquid-text-color: #1f2937; --kng-liquid-subtitle-color: rgba(15, 23, 42, 0.6); } .king-liquid-glass__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } .king-liquid-glass--equal-height .king-liquid-glass__grid { grid-auto-rows: 1fr; } .king-liquid-glass__card { position: relative; overflow: hidden; height: 100%; border-radius: 20px; box-shadow: var(--kng-liquid-shadow); background: transparent; transform-style: preserve-3d; transition: transform 0.35s ease, box-shadow 0.35s ease; } .king-liquid-glass__card.is-tilting { will-change: transform; } .king-liquid-glass__layers { position: absolute; inset: 0; z-index: 1; } .king-liquid-glass__layer { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; } .king-liquid-glass__layer--bg { background-color: var(--kng-liquid-tint); border: var(--kng-liquid-border-width) solid var(--kng-liquid-border-color); box-sizing: border-box; } @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { .king-liquid-glass__layer--bg { -webkit-backdrop-filter: blur(var(--kng-liquid-blur)); backdrop-filter: blur(var(--kng-liquid-blur)); } } .king-liquid-glass__layer--image { background-size: cover; background-position: center; opacity: var(--kng-liquid-image-opacity); mix-blend-mode: var(--kng-liquid-image-blend, screen); will-change: transform; } .king-liquid-glass__layer--parallax { mix-blend-mode: soft-light; will-change: transform; background-size: cover; background-position: center; } .king-liquid-glass__layer--noise { opacity: var(--kng-liquid-noise-opacity); mix-blend-mode: soft-light; background-image: radial-gradient(rgba(255, 255, 255, 0.25) 1px, transparent 1px), radial-gradient(rgba(0, 0, 0, 0.18) 1px, transparent 1px); background-size: var(--kng-liquid-noise-scale) var(--kng-liquid-noise-scale); background-position: 0 0, calc(var(--kng-liquid-noise-scale) / 2) calc(var(--kng-liquid-noise-scale) / 2); } .king-liquid-glass__layer--highlight { opacity: calc(var(--kng-liquid-highlight-opacity) + var(--kng-liquid-glare-strength, 0)); mix-blend-mode: var(--kng-liquid-glare-blend); background-image: radial-gradient( circle at var(--kng-liquid-highlight-x) var(--kng-liquid-highlight-y), var(--kng-liquid-highlight-color) 0%, rgba(255, 255, 255, 0) var(--kng-liquid-glare-size) ); } .king-liquid-glass__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 28px; } .king-liquid-glass__badge { align-self: flex-start; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; background-color: rgba(255, 255, 255, 0.6); color: #111827; } .king-liquid-glass__icon { display: inline-flex; align-items: center; justify-content: center; color: #111827; } .king-liquid-glass__icon svg { width: 28px; height: 28px; fill: currentColor; } .king-liquid-glass__media img { display: block; width: 100%; height: auto; border-radius: 14px; object-fit: cover; } .king-liquid-glass__title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--kng-liquid-title-color); } .king-liquid-glass__subtitle { font-size: 14px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--kng-liquid-subtitle-color); } .king-liquid-glass__description { margin: 0; font-size: 15px; line-height: 1.6; color: var(--kng-liquid-text-color); } .king-liquid-glass__button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(15, 23, 42, 0.15); background: rgba(255, 255, 255, 0.55); color: #0f172a; font-weight: 600; text-decoration: none; transition: background 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, border-color 0.25s ease; } .king-liquid-glass__button:hover { background: rgba(255, 255, 255, 0.8); border-color: rgba(15, 23, 42, 0.25); color: #0f172a; box-shadow: 0 12px 25px rgba(15, 23, 42, 0.12); } .king-liquid-glass__button.is-static { cursor: default; } .king-liquid-glass__button:focus-visible { outline: 2px solid rgba(15, 23, 42, 0.55); outline-offset: 3px; } .king-liquid-glass__card-link { position: absolute; inset: 0; z-index: 4; border-radius: inherit; text-indent: -9999px; cursor: pointer; } .king-liquid-glass__card-link:focus-visible { outline: 2px solid rgba(15, 23, 42, 0.7); outline-offset: 3px; } .king-liquid-glass__notice { margin-bottom: 18px; } .king-liquid-glass--align-left .king-liquid-glass__content { text-align: left; align-items: flex-start; } .king-liquid-glass--align-center .king-liquid-glass__content { text-align: center; align-items: center; } .king-liquid-glass--align-center .king-liquid-glass__badge { align-self: center; } .king-liquid-glass--align-right .king-liquid-glass__content { text-align: right; align-items: flex-end; } .king-liquid-glass--align-right .king-liquid-glass__badge { align-self: flex-end; } .king-liquid-glass--noise-off .king-liquid-glass__layer--noise { display: none; } .king-liquid-glass--shadow-off { --kng-liquid-shadow: none; } .king-liquid-glass--shadow-soft { --kng-liquid-shadow: 0 18px 44px rgba(15, 23, 42, 0.18); } .king-liquid-glass--shadow-medium { --kng-liquid-shadow: 0 24px 54px rgba(15, 23, 42, 0.25); } .king-liquid-glass--shadow-strong { --kng-liquid-shadow: 0 30px 70px rgba(0, 0, 0, 0.3); } .king-liquid-glass--preset-clear { --kng-liquid-blur: 16px; --kng-liquid-tint: rgba(255, 255, 255, 0.58); --kng-liquid-border-color: rgba(255, 255, 255, 0.45); --kng-liquid-noise-opacity: 0.12; --kng-liquid-highlight-opacity: 0.45; } .king-liquid-glass--preset-frosted { --kng-liquid-blur: 24px; --kng-liquid-tint: rgba(255, 255, 255, 0.72); --kng-liquid-border-color: rgba(255, 255, 255, 0.6); --kng-liquid-noise-opacity: 0.18; --kng-liquid-highlight-opacity: 0.35; } .king-liquid-glass--preset-dark { --kng-liquid-blur: 20px; --kng-liquid-tint: rgba(12, 15, 22, 0.62); --kng-liquid-border-color: rgba(255, 255, 255, 0.18); --kng-liquid-noise-opacity: 0.12; --kng-liquid-highlight-opacity: 0.3; --kng-liquid-highlight-color: rgba(255, 255, 255, 0.65); --kng-liquid-title-color: #f8fafc; --kng-liquid-text-color: rgba(248, 250, 252, 0.78); --kng-liquid-subtitle-color: rgba(248, 250, 252, 0.6); } .king-liquid-glass--preset-dark .king-liquid-glass__badge { background-color: rgba(15, 23, 42, 0.65); color: #f8fafc; } .king-liquid-glass--preset-dark .king-liquid-glass__button { background: rgba(255, 255, 255, 0.12); border-color: rgba(248, 250, 252, 0.35); color: #f8fafc; } .king-liquid-glass--preset-dark .king-liquid-glass__button:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(248, 250, 252, 0.5); box-shadow: 0 12px 25px rgba(15, 23, 42, 0.2); } .king-liquid-glass--tint-light { --kng-liquid-tint: rgba(255, 255, 255, 0.75); } .king-liquid-glass--tint-dark { --kng-liquid-tint: rgba(12, 15, 22, 0.68); --kng-liquid-title-color: #f8fafc; --kng-liquid-text-color: rgba(248, 250, 252, 0.78); --kng-liquid-subtitle-color: rgba(248, 250, 252, 0.6); } .king-liquid-glass--tint-dark .king-liquid-glass__button { background: rgba(255, 255, 255, 0.12); border-color: rgba(248, 250, 252, 0.35); color: #f8fafc; } .king-liquid-glass--tint-dark .king-liquid-glass__button:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(248, 250, 252, 0.5); } .king-liquid-glass--highlight-top-left { --kng-liquid-highlight-x: 18%; --kng-liquid-highlight-y: 18%; } .king-liquid-glass--highlight-top-right { --kng-liquid-highlight-x: 82%; --kng-liquid-highlight-y: 18%; } .king-liquid-glass--highlight-center { --kng-liquid-highlight-x: 50%; --kng-liquid-highlight-y: 45%; } .king-liquid-glass--highlight-bottom { --kng-liquid-highlight-x: 50%; --kng-liquid-highlight-y: 82%; } .king-liquid-glass--reduced-transparency .king-liquid-glass__layer--bg { -webkit-backdrop-filter: none; backdrop-filter: none; } .king-liquid-glass--reduced-transparency { --kng-liquid-blur: 0px; --kng-liquid-noise-opacity: 0; --kng-liquid-highlight-opacity: 0.2; } .king-liquid-glass--high-contrast { --kng-liquid-border-width: 2px; --kng-liquid-border-color: rgba(255, 255, 255, 0.8); } @media (prefers-reduced-motion: reduce) { .king-liquid-glass__card { transition: none; } } @media (prefers-reduced-transparency: reduce) { .king-liquid-glass { --kng-liquid-blur: 0px; --kng-liquid-noise-opacity: 0; --kng-liquid-highlight-opacity: 0.2; } .king-liquid-glass__layer--bg { -webkit-backdrop-filter: none; backdrop-filter: none; } } @media (prefers-contrast: more) { .king-liquid-glass { --kng-liquid-border-width: 2px; --kng-liquid-border-color: rgba(255, 255, 255, 0.8); } }