- {{ tags }}
+
+
+ {{ drupal_breadcrumb() }}
+
+
{{ title }}
+
+ {% block summary %}{% endblock %}
- {% endif %}
-
- {% include 'laszlo:meta' with {
- icon: 'calendar',
- label: 'Published'|t,
- value: published_timestamp|format_date('dmy'),
- } only %}
-
•
- {% include 'laszlo:meta' with {
- icon: 'read-time',
- label: 'Time to read'|t,
- value: '@minutes min.'|t({'@minutes': estimated_read_time}),
- } only %}
+ {% if tags %}
+
+ {{ tags }}
+
+ {% endif %}
+
+
+ {% include 'laszlo:meta' with {
+ icon: 'calendar',
+ label: 'Published'|t,
+ value: published_timestamp|format_date('dmy'),
+ } only %}
+ •
+ {% include 'laszlo:meta' with {
+ icon: 'read-time',
+ label: 'Time to read'|t,
+ value: '@minutes min.'|t({'@minutes': estimated_read_time}),
+ } only %}
+
-
-
+
-
-
{% if next_link or previous_link %}
diff --git a/app/themes/laszlo/components/content/comment-card/comment-card.css b/app/themes/laszlo/components/content/comment-card/comment-card.css
index d8760da2f..baba443fa 100644
--- a/app/themes/laszlo/components/content/comment-card/comment-card.css
+++ b/app/themes/laszlo/components/content/comment-card/comment-card.css
@@ -10,11 +10,13 @@
padding: var(--spacing-6);
transition: all 0.25s cubic-bezier(0.39, 0.58, 0.57, 1);
color: var(--color-on-surface);
- border: 1px solid var(--color-surface-variant);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-4);
outline: var(--default-focus-outline-width) solid transparent;
background: var(--color-surface);
gap: var(--spacing-6);
+ box-shadow: color-mix(in sRGB, var(--color-shadow), transparent 90%) 0 2px
+ 8px 0;
&:focus-within,
&:hover,
diff --git a/app/themes/laszlo/components/content/comment/comment.css b/app/themes/laszlo/components/content/comment/comment.css
index cb7559cc1..0f055650e 100644
--- a/app/themes/laszlo/components/content/comment/comment.css
+++ b/app/themes/laszlo/components/content/comment/comment.css
@@ -8,15 +8,12 @@
color: var(--color-on-surface);
border: 1px solid var(--color-surface-dim);
border-radius: var(--spacing-2);
- background: var(--color-surface-bright);
+ background: var(--color-surface-container-low);
gap: var(--_comment-gap);
}
.comment__body {
- display: flex;
- flex-direction: column;
font: var(--typography-body-medium);
- gap: var(--spacing-4);
}
.comment__attribution {
diff --git a/app/themes/laszlo/components/content/home-cards/home-cards.css b/app/themes/laszlo/components/content/home-cards/home-cards.css
index 70ba06579..772e599ad 100644
--- a/app/themes/laszlo/components/content/home-cards/home-cards.css
+++ b/app/themes/laszlo/components/content/home-cards/home-cards.css
@@ -68,6 +68,8 @@
}
.home-cards__description {
+ --prose-color: var(--color-on-secondary);
+
font: var(--typography-body-medium);
}
}
diff --git a/app/themes/laszlo/components/content/search-result/search-result.css b/app/themes/laszlo/components/content/search-result/search-result.css
index 598b20c17..ba52b3d31 100644
--- a/app/themes/laszlo/components/content/search-result/search-result.css
+++ b/app/themes/laszlo/components/content/search-result/search-result.css
@@ -4,10 +4,12 @@
display: flex;
flex-direction: column;
padding: var(--spacing-4);
- border: 1px solid var(--color-surface-variant);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-4);
background-color: var(--color-surface);
gap: var(--spacing-2);
+ box-shadow: color-mix(in sRGB, var(--color-shadow), transparent 90%) 0 2px
+ 8px 0;
&:focus-within,
&:hover,
diff --git a/app/themes/laszlo/components/content/tag-card/tag-card.css b/app/themes/laszlo/components/content/tag-card/tag-card.css
index 93d6ca1e6..8337f348e 100644
--- a/app/themes/laszlo/components/content/tag-card/tag-card.css
+++ b/app/themes/laszlo/components/content/tag-card/tag-card.css
@@ -6,6 +6,7 @@
padding: var(--spacing-4);
transition: background-color 0.25s linear;
color: var(--color-on-surface);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-2);
background: var(--color-surface);
gap: var(--spacing-2);
@@ -23,7 +24,7 @@
right: 0;
bottom: 0;
left: 0;
- border-radius: var(--spacing-4);
+ border-radius: var(--spacing-2);
&:active {
outline: var(--default-focus-outline);
diff --git a/app/themes/laszlo/components/layout/author-page/author-page.css b/app/themes/laszlo/components/layout/author-page/author-page.css
index 6ceb717a8..8bef3c26a 100644
--- a/app/themes/laszlo/components/layout/author-page/author-page.css
+++ b/app/themes/laszlo/components/layout/author-page/author-page.css
@@ -16,9 +16,12 @@
flex-direction: column;
order: 2;
padding: var(--page-side-gap);
- border: 1px solid var(--color-surface-variant);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-4);
background-color: var(--color-surface);
+ box-shadow:
+ color-mix(in sRGB, var(--color-shadow), transparent 95%) 0 4px 16px,
+ color-mix(in sRGB, var(--color-shadow), transparent 99%) 0 8px 32px;
gap: var(--author-page-content-gap);
margin-inline: calc(var(--page-side-gap) * -1);
diff --git a/app/themes/laszlo/components/layout/comment-reply-page/comment-reply-page.css b/app/themes/laszlo/components/layout/comment-reply-page/comment-reply-page.css
index ac9ecff29..a58d06fe4 100644
--- a/app/themes/laszlo/components/layout/comment-reply-page/comment-reply-page.css
+++ b/app/themes/laszlo/components/layout/comment-reply-page/comment-reply-page.css
@@ -5,7 +5,7 @@
align-items: center;
padding: var(--spacing-16) var(--spacing-12);
border-radius: var(--spacing-4);
- background-color: var(--color-surface-container, transparent);
+ background-color: var(--color-surface);
}
.comment-reply-page__inner {
diff --git a/app/themes/laszlo/components/ui/author-page-navigation-item/author-page-navigation-item.css b/app/themes/laszlo/components/ui/author-page-navigation-item/author-page-navigation-item.css
index 207b848ef..b3f04e503 100644
--- a/app/themes/laszlo/components/ui/author-page-navigation-item/author-page-navigation-item.css
+++ b/app/themes/laszlo/components/ui/author-page-navigation-item/author-page-navigation-item.css
@@ -6,6 +6,8 @@
--button-color-hover: var(--color-surface);
--button-height: var(--spacing-15);
--button-gap: var(--spacing-4);
+ --button-border-color: var(--color-outline-variant);
+ --button-border-width: 1px;
}
.author-page-navigation-item__icon {
@@ -17,7 +19,7 @@
}
.author-page-navigation-item--active-trail {
- color: var(--color-on-primary-container);
- background-color: var(--button-background-color-hover);
+ --button-background-color: var(--color-primary-container);
+ --button-color: var(--color-on-primary-container);
}
}
diff --git a/app/themes/laszlo/components/ui/branding/branding.css b/app/themes/laszlo/components/ui/branding/branding.css
index dc16e596e..b4e822bdc 100644
--- a/app/themes/laszlo/components/ui/branding/branding.css
+++ b/app/themes/laszlo/components/ui/branding/branding.css
@@ -1,7 +1,7 @@
@layer component.ui {
.branding {
- --logo-color-primary: var(--color-primary);
- --logo-color-secondary: white;
+ --logo-color-primary: var(--color-surface-tint);
+ --logo-color-secondary: var(--color-surface-container-lowest);
--logo-fill-1: color-mix(
in sRGB,
var(--logo-color-primary),
@@ -17,7 +17,7 @@
var(--logo-color-primary),
var(--logo-color-secondary) 90%
);
- --logo-fill-4: var(--logo-color-primary);
+ --logo-fill-4: var(--color-primary);
display: flex;
flex-shrink: 0;
@@ -26,12 +26,6 @@
gap: var(--spacing-5);
}
- [data-theme="dark"] {
- .branding {
- --logo-color-secondary: black;
- }
- }
-
.branding svg {
width: 64px;
}
@@ -51,7 +45,7 @@
}
.branding__slogan {
- color: var(--color-on-surface);
+ color: var(--color-on-surface-variant);
font: var(--typography-title-small);
}
}
diff --git a/app/themes/laszlo/components/ui/breadcrumb-item/breadcrumb-item.css b/app/themes/laszlo/components/ui/breadcrumb-item/breadcrumb-item.css
index 050a75c49..4621edabf 100644
--- a/app/themes/laszlo/components/ui/breadcrumb-item/breadcrumb-item.css
+++ b/app/themes/laszlo/components/ui/breadcrumb-item/breadcrumb-item.css
@@ -1,8 +1,10 @@
@layer component.ui {
.breadcrumb-item {
--arrow-size: var(--spacing-3);
- --arrow-background-color: var(--color-surface-bright);
+ --arrow-background-color: var(--color-surface-container-low);
+ --arrow-background-color-hover: var(--color-surface);
--arrow-color: var(--color-on-surface);
+ --arrow-color-hover: var(--color-on-surface);
--arrow-border-radius: var(--spacing-1);
--arrow-padding: var(--spacing-2);
@@ -16,7 +18,12 @@
background-color 150ms ease-in-out;
text-decoration: none;
color: var(--arrow-color);
- background-color: var(--arrow-background-color);
+ background-color: color-mix(
+ in sRGB,
+ var(--arrow-background-color),
+ transparent 50%
+ );
+ backdrop-filter: blur(var(--spacing-4));
font: var(--typography-label-large);
clip-path: polygon(
calc(100% - var(--arrow-size)) 0%,
@@ -29,9 +36,9 @@
&:hover,
&:focus {
- color: var(--arrow-background-color);
+ color: var(--arrow-color-hover);
outline: none;
- background-color: var(--arrow-color);
+ background-color: var(--arrow-background-color-hover);
}
}
diff --git a/app/themes/laszlo/components/ui/button/button.css b/app/themes/laszlo/components/ui/button/button.css
index feab5d923..7b722f46b 100644
--- a/app/themes/laszlo/components/ui/button/button.css
+++ b/app/themes/laszlo/components/ui/button/button.css
@@ -8,6 +8,7 @@
--button-background-color-hover,
transparent
);
+ --_button-border-width: var(--button-border-width, 2px);
--_button-border-color: var(--button-border-color, transparent);
--_button-border-color-hover: var(--button-border-color-hover, transparent);
--_button-color: var(--button-color, black);
@@ -24,7 +25,7 @@
transition: all 250ms cubic-bezier(0.39, 0.58, 0.57, 1);
text-decoration: none;
color: var(--_button-color);
- border: 2px solid var(--_button-border-color);
+ border: var(--_button-border-width) solid var(--_button-border-color);
border-radius: var(--_button-border-radius);
background: var(--_button-background-color);
font: var(--_button-font);
diff --git a/app/themes/laszlo/components/ui/callout/callout.css b/app/themes/laszlo/components/ui/callout/callout.css
index d81c9f4c8..6d167fd6f 100644
--- a/app/themes/laszlo/components/ui/callout/callout.css
+++ b/app/themes/laszlo/components/ui/callout/callout.css
@@ -2,25 +2,19 @@
.callout {
--_callout-expected-heading-height: 28px;
--_callout-color: var(--callout-color, var(--color-scrim));
- --_callout-border-color: color-mix(
- in sRGB,
- var(--_callout-color),
- var(--color-surface) 30%
- );
- --icon-wrapper-width: 18px;
+ --icon-wrapper-width: 24px;
display: flex;
flex-direction: column;
- margin-top: calc(var(--_callout-expected-heading-height) / 2);
- padding: var(--spacing-4);
- padding-top: 0;
+ padding: var(--spacing-6);
color: var(--color-on-surface);
- border: 1px solid var(--_callout-border-color);
- border-radius: var(--spacing-1);
- background-color: color-mix(
- in sRGB,
- var(--_callout-color),
- var(--color-surface) 90%
+ border: 2px solid
+ color-mix(in sRGB, var(--_callout-color), var(--color-surface) 30%);
+ border-radius: var(--spacing-3);
+ background-image: linear-gradient(
+ to bottom,
+ color-mix(in sRGB, var(--_callout-color), var(--color-surface) 90%),
+ color-mix(in sRGB, var(--_callout-color), var(--color-surface) 85%)
);
gap: var(--spacing-4);
}
@@ -30,16 +24,12 @@
align-items: flex-start;
align-self: flex-start;
width: fit-content;
- margin-top: calc(var(--_callout-expected-heading-height) / -2);
- padding: var(--spacing-1) var(--spacing-2);
- color: var(--color-on-surface);
- border-radius: var(--spacing-1);
- background-color: color-mix(
+ color: color-mix(
in sRGB,
var(--_callout-color),
- var(--color-surface) 70%
+ var(--color-on-surface) 80%
);
- font: var(--typography-label-large);
+ font: var(--typography-title-medium);
font-weight: bold;
gap: var(--spacing-2);
}
diff --git a/app/themes/laszlo/components/ui/chip/chip.css b/app/themes/laszlo/components/ui/chip/chip.css
index 3d9124cf4..311e8fe9e 100644
--- a/app/themes/laszlo/components/ui/chip/chip.css
+++ b/app/themes/laszlo/components/ui/chip/chip.css
@@ -5,17 +5,20 @@
--_chip-gap: var(--chip-gap, var(--spacing-2));
--_chip-background-color: var(
--chip-background-color,
- var(--color-surface-bright, transparent)
+ var(--color-secondary-container, transparent)
);
--_chip-background-color-hover: var(
--chip-background-color-hover,
- var(--color-surface-container-lowest, transparent)
+ var(--color-secondary, transparent)
);
--_chip-border-radius: var(--chip-border-radius, var(--spacing-5));
- --_chip-color: var(--chip-color, var(--color-on-surface, black));
+ --_chip-color: var(
+ --chip-color,
+ var(--color-on-secondary-container, black)
+ );
--_chip-color-hover: var(
--chip-color-hover,
- var(--color-on-surface, black)
+ var(--color-on-secondary, black)
);
--_chip-font: var(--chip-font, var(--typography-label-medium));
diff --git a/app/themes/laszlo/components/ui/code-block/code-block.css b/app/themes/laszlo/components/ui/code-block/code-block.css
index ed32fbde7..3d05a2df5 100644
--- a/app/themes/laszlo/components/ui/code-block/code-block.css
+++ b/app/themes/laszlo/components/ui/code-block/code-block.css
@@ -24,7 +24,7 @@
pointer-events: none;
opacity: 0;
border-top: 1px solid var(--color-outline-variant);
- border-radius: 0 0 var(--spacing-1) var(--spacing-1);
+ border-radius: 0 0 var(--spacing-2) var(--spacing-2);
background: color-mix(
in sRGB,
var(--color-secondary-fixed),
diff --git a/app/themes/laszlo/components/ui/dialog/dialog.css b/app/themes/laszlo/components/ui/dialog/dialog.css
index 77c327d6c..3f7d53aad 100644
--- a/app/themes/laszlo/components/ui/dialog/dialog.css
+++ b/app/themes/laszlo/components/ui/dialog/dialog.css
@@ -16,7 +16,7 @@
}
.dialog::backdrop {
- opacity: 0.7;
+ opacity: 0.3;
background-color: var(--color-scrim);
}
@@ -26,7 +26,8 @@
width: 100%;
color: var(--color-on-surface);
border-radius: var(--dialog-radius, 8px);
- background-color: var(--color-surface);
+ background-color: color-mix(in sRGB, var(--color-surface), transparent 30%);
+ backdrop-filter: blur(var(--spacing-6));
box-shadow: var(--elevation-5);
margin-inline: var(--page-side-gap);
margin-block: var(--page-side-gap);
diff --git a/app/themes/laszlo/components/ui/fab/fab.css b/app/themes/laszlo/components/ui/fab/fab.css
index 8cda6b8bc..5ff24a3f5 100644
--- a/app/themes/laszlo/components/ui/fab/fab.css
+++ b/app/themes/laszlo/components/ui/fab/fab.css
@@ -1,12 +1,15 @@
@layer component.ui {
.fab {
- --_background-color: var(--fab-background-color, var(--color-secondary));
+ --_background-color: var(
+ --fab-background-color,
+ var(--color-tertiary-container)
+ );
--_background-color-hover: var(
--fab-background-color-hover,
- var(--color-secondary)
+ var(--color-tertiary)
);
- --_color: var(--fab-color, var(--color-on-secondary));
- --_color-hover: var(--fab-color-hover, var(--color-on-secondary));
+ --_color: var(--fab-color, var(--color-on-tertiary-container));
+ --_color-hover: var(--fab-color-hover, var(--color-on-tertiary));
--icon-wrapper-width: 32px;
--_border-radius: var(--fab-border-radius, var(--spacing-4));
@@ -19,9 +22,7 @@
margin: 0;
padding: 0;
cursor: pointer;
- transition:
- transform 0.15s linear,
- box-shadow 0.15s linear;
+ transition: all 0.25s cubic-bezier(0.39, 0.58, 0.57, 1);
color: var(--_color);
border: none;
border-radius: var(--_border-radius);
diff --git a/app/themes/laszlo/components/ui/lightbox/lightbox.css b/app/themes/laszlo/components/ui/lightbox/lightbox.css
index 04d13268a..22067f030 100644
--- a/app/themes/laszlo/components/ui/lightbox/lightbox.css
+++ b/app/themes/laszlo/components/ui/lightbox/lightbox.css
@@ -1,4 +1,9 @@
@layer component.ui {
+ .lightbox {
+ display: flex;
+ justify-content: center;
+ }
+
.lightbox__link {
position: relative;
display: flex;
@@ -17,13 +22,16 @@
position: absolute;
z-index: 5;
- top: var(--spacing-8);
- right: var(--spacing-8);
+ top: var(--spacing-2);
+ right: var(--spacing-2);
transition: opacity 0.25s linear;
opacity: 0;
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-2);
background-color: var(--color-surface-container-low);
- box-shadow: var(--elevation-5);
+ box-shadow:
+ color-mix(in sRGB, var(--color-scrim), transparent 90%) 0 10px 15px -3px,
+ color-mix(in sRGB, var(--color-scrim), transparent 95%) 0 4px 6px -2px;
}
.lightbox:hover .lightbox__icon {
diff --git a/app/themes/laszlo/components/ui/main-navigation/main-navigation.css b/app/themes/laszlo/components/ui/main-navigation/main-navigation.css
index bba02d61d..0781b0f94 100644
--- a/app/themes/laszlo/components/ui/main-navigation/main-navigation.css
+++ b/app/themes/laszlo/components/ui/main-navigation/main-navigation.css
@@ -17,7 +17,7 @@
padding: var(--spacing-2);
border-radius: var(--spacing-16);
background: color-mix(in sRGB, var(--color-surface-tint), transparent 50%);
- backdrop-filter: saturate(280%) blur(40px);
+ backdrop-filter: saturate(280%) blur(24px);
gap: var(--spacing-4);
box-shadow:
rgb(17 17 26 / 0.1) 0 8px 24px,
diff --git a/app/themes/laszlo/components/ui/previous-next-link/previous-next-link.css b/app/themes/laszlo/components/ui/previous-next-link/previous-next-link.css
index 1ee6b36c9..82474f658 100644
--- a/app/themes/laszlo/components/ui/previous-next-link/previous-next-link.css
+++ b/app/themes/laszlo/components/ui/previous-next-link/previous-next-link.css
@@ -6,19 +6,18 @@
align-items: center;
padding: var(--spacing-6);
text-decoration: none;
+ color: var(--color-on-surface);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-4);
- background: var(--color-surface-variant);
+ outline: var(--default-focus-outline-width) solid transparent;
+ background: var(--color-surface-container-high);
gap: var(--spacing-4);
&:hover,
&:focus {
- color: var(--color-on-surface);
+ color: var(--color-on-surface-variant);
background-color: var(--color-surface-container-highest);
}
-
- &:active {
- outline: var(--default-focus-outline);
- }
}
.previous-next-link__icon {
@@ -37,12 +36,10 @@
}
.previous-next-link__label {
- color: var(--color-on-surface);
font: var(--typography-label-large);
}
.previous-next-link__text {
- color: var(--color-on-surface);
font: var(--typography-body-large);
}
}
diff --git a/app/themes/laszlo/components/ui/text-input/text-input.css b/app/themes/laszlo/components/ui/text-input/text-input.css
index 90777247b..29938cd39 100644
--- a/app/themes/laszlo/components/ui/text-input/text-input.css
+++ b/app/themes/laszlo/components/ui/text-input/text-input.css
@@ -12,7 +12,7 @@
--_input-border-width: var(--input-border-width, 1px);
--_input-background-color: var(
--input-background-color,
- var(--color-surface-bright)
+ var(--color-surface-container-lowest)
);
--_input-color: var(--input-color, var(--color-on-surface));
--_input-placeholder-color: var(
diff --git a/app/themes/laszlo/components/ui/textarea/textarea.css b/app/themes/laszlo/components/ui/textarea/textarea.css
index c3625f649..da0582986 100644
--- a/app/themes/laszlo/components/ui/textarea/textarea.css
+++ b/app/themes/laszlo/components/ui/textarea/textarea.css
@@ -12,7 +12,7 @@
--_textarea-border-width: var(--textarea-border-width, 1px);
--_textarea-background-color: var(
--textarea-background-color,
- var(--color-surface-bright)
+ var(--color-surface-container-lowest)
);
--_textarea-color: var(--textarea-color, var(--color-on-surface));
--_textarea-placeholder-color: var(
diff --git a/app/themes/laszlo/components/ui/toc-dialog/toc-dialog.css b/app/themes/laszlo/components/ui/toc-dialog/toc-dialog.css
index 2b3e08fde..1ee59adfa 100644
--- a/app/themes/laszlo/components/ui/toc-dialog/toc-dialog.css
+++ b/app/themes/laszlo/components/ui/toc-dialog/toc-dialog.css
@@ -21,6 +21,7 @@
padding: var(--_link-padding-y) var(--_link-padding-x);
text-decoration: none;
color: var(--color-on-surface);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-1);
background: var(--color-surface-container);
font: var(--typography-title-small);
diff --git a/app/themes/laszlo/components/ui/video/video.css b/app/themes/laszlo/components/ui/video/video.css
index 482a99ea3..0ff51dd0e 100644
--- a/app/themes/laszlo/components/ui/video/video.css
+++ b/app/themes/laszlo/components/ui/video/video.css
@@ -3,7 +3,7 @@
position: relative;
display: flex;
justify-content: center;
- border: 1px solid var(--color-surface-dim);
+ border: 1px solid var(--color-outline-variant);
border-radius: var(--spacing-2);
}
}