diff --git a/public/css/main.css b/public/css/main.css index 6db756a..21abc88 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -114,6 +114,20 @@ html[data-theme="dark"] { inset 0 -1px 0 color-mix(in srgb, hsl(var(--theme-h) calc(var(--theme-s) * 1%) calc(var(--theme-l) * 1%)) 18%, transparent); --btn-primary-backdrop: blur(16px) saturate(135%); --btn-primary-backdrop-hover: blur(18px) saturate(140%); + /* Liquid Glass (Хабр): displacement + blur — только Chromium */ + --btn-primary-backdrop-lg: url(#liquid-glass-displacement) blur(15px) saturate(135%); + --btn-primary-backdrop-hover-lg: url(#liquid-glass-displacement) blur(17px) saturate(140%); + /* Полупрозрачный акцентный фон, чтобы displacement был виден (Liquid Glass) */ + --btn-primary-bg-lg: radial-gradient( + circle at 0% 0%, + color-mix(in hsl, var(--accent), white 10%) 0%, + color-mix(in srgb, var(--accent) 82%, transparent) 100% + ); + --btn-primary-hover-bg-lg: radial-gradient( + circle at 0% 0%, + color-mix(in hsl, var(--accent), white 14%) 0%, + color-mix(in srgb, var(--accent) 86%, transparent) 100% + ); --btn-primary-sheen: linear-gradient( 155deg, hsla(0, 0%, 100%, 0.1) 0%, @@ -206,6 +220,20 @@ html[data-theme="light"] { inset 0 -1px 0 color-mix(in srgb, var(--accent) 32%, hsl(0 0% 0%) 68%); --btn-primary-backdrop: blur(10px) saturate(142%); --btn-primary-backdrop-hover: blur(11px) saturate(148%); + /* Liquid Glass (Хабр): displacement + blur — только Chromium */ + --btn-primary-backdrop-lg: url(#liquid-glass-displacement) blur(9px) saturate(142%); + --btn-primary-backdrop-hover-lg: url(#liquid-glass-displacement) blur(10px) saturate(148%); + /* Полупрозрачный акцентный фон, чтобы displacement был виден (Liquid Glass) */ + --btn-primary-bg-lg: radial-gradient( + circle at 0% 0%, + color-mix(in hsl, var(--accent), white 10%) 0%, + color-mix(in srgb, var(--accent) 82%, transparent) 100% + ); + --btn-primary-hover-bg-lg: radial-gradient( + circle at 0% 0%, + color-mix(in hsl, var(--accent), white 14%) 0%, + color-mix(in srgb, var(--accent) 86%, transparent) 100% + ); --btn-primary-sheen: linear-gradient( 155deg, color-mix(in srgb, var(--accent) 55%, hsl(0 0% 100%) 45%) 0%, @@ -5199,6 +5227,54 @@ html[data-theme="light"] .fab.glass-neutral:not(.fab--primary):focus-visible { backdrop-filter: var(--v12-glass-neutral-filter-elevated-lg); -webkit-backdrop-filter: var(--v12-glass-neutral-filter-elevated-lg); } + + /* Кнопки: primary/fab — акцентное стекло + displacement; + secondary/ghost — нейтральное стекло + displacement */ + html[data-theme="dark"] .btn--primary, + html[data-theme="light"] .btn--primary, + html[data-theme="dark"] .fab--primary, + html[data-theme="light"] .fab--primary { + background: var(--btn-primary-bg-lg); + backdrop-filter: var(--btn-primary-backdrop-lg); + -webkit-backdrop-filter: var(--btn-primary-backdrop-lg); + } + + html[data-theme="dark"] .btn--primary:hover, + html[data-theme="dark"] .btn--primary:focus-visible, + html[data-theme="light"] .btn--primary:hover, + html[data-theme="light"] .btn--primary:focus-visible, + html[data-theme="dark"] a.btn--primary:visited:hover, + html[data-theme="light"] a.btn--primary:visited:hover, + html[data-theme="dark"] .fab--primary:hover, + html[data-theme="dark"] .fab--primary:focus-visible, + html[data-theme="light"] .fab--primary:hover, + html[data-theme="light"] .fab--primary:focus-visible, + html[data-theme="dark"] a.fab--primary:visited, + html[data-theme="light"] a.fab--primary:visited { + background: var(--btn-primary-hover-bg-lg); + backdrop-filter: var(--btn-primary-backdrop-hover-lg); + -webkit-backdrop-filter: var(--btn-primary-backdrop-hover-lg); + } + + html[data-theme="dark"] .btn--secondary, + html[data-theme="light"] .btn--secondary, + html[data-theme="dark"] .btn--ghost, + html[data-theme="light"] .btn--ghost { + backdrop-filter: var(--v12-glass-neutral-filter-lg); + -webkit-backdrop-filter: var(--v12-glass-neutral-filter-lg); + } + + html[data-theme="dark"] .btn--secondary:hover, + html[data-theme="dark"] .btn--secondary:focus-visible, + html[data-theme="light"] .btn--secondary:hover, + html[data-theme="light"] .btn--secondary:focus-visible, + html[data-theme="dark"] .btn--ghost:hover, + html[data-theme="dark"] .btn--ghost:focus-visible, + html[data-theme="light"] .btn--ghost:hover, + html[data-theme="light"] .btn--ghost:focus-visible { + backdrop-filter: var(--v12-glass-neutral-filter-elevated-lg); + -webkit-backdrop-filter: var(--v12-glass-neutral-filter-elevated-lg); + } } html[data-theme="dark"] .nav-more__dock,