:root,
body.light {
--et-services: #59b670;
--et-products: #F39200;
--et-tools: #00b39b;
--et-articles: #57318d;
--et-accent: var(--et-services);
--primary: #2f7d4f;
--on-primary: #ffffff;
--primary-container: #c8ecd2;
--on-primary-container: #00210f;
--secondary: #4d6353;
--on-secondary: #ffffff;
--secondary-container: #d2e8d9;
--on-secondary-container: #0b1f14;
--tertiary: #9a5b00;
--on-tertiary: #ffffff;
--tertiary-container: #ffddb3;
--on-tertiary-container: #2a1700;
--error: #ba1a1a;
--on-error: #ffffff;
--error-container: #ffdad6;
--on-error-container: #410002;
--background: #ffffff;
--on-background: #17181a;
--surface: #ffffff;
--on-surface: #17181a;
--surface-variant: #e6e7ea;
--on-surface-variant: #46474a;
--outline: #74767a;
--outline-variant: #c9cacf;
--shadow: #000000;
--scrim: #000000;
--inverse-surface: #2c2d30;
--inverse-on-surface: #f2f2f5;
--inverse-primary: #59b670;
--surface-dim: #dcdcdf;
--surface-bright: #ffffff;
--surface-container-lowest: #ffffff;
--surface-container-low: #f6f6f8;
--surface-container: #f1f1f3;
--surface-container-high: #ebebee;
--surface-container-highest: #e5e5e9;
--et-good: #18794e;
--et-caution: #9a5a00;
--et-risk: #b3261e;
--et-info: #2e5aac;
--et-neutral: var(--on-surface-variant);
--et-sale: #ff5600;
--et-sale-bg: #ff5600;
--et-sale-fg: #ffffff;
--et-sale-on: #ffffff;
}
body.dark {
--et-services: #59b670;
--et-products: #F39200;
--et-tools: #00b39b;
--et-articles: #57318d;
--et-accent: var(--et-services);
--primary: #59b670;
--on-primary: #00391d;
--primary-container: #1c5132;
--on-primary-container: #c8ecd2;
--secondary: #b3ccbb;
--on-secondary: #1e352a;
--secondary-container: #354b3f;
--on-secondary-container: #d2e8d9;
--tertiary: #F39200;
--on-tertiary: #2a1700;
--tertiary-container: #6a3e00;
--on-tertiary-container: #ffddb3;
--error: #ffb4ab;
--on-error: #690005;
--error-container: #93000a;
--on-error-container: #ffdad6;
--background: #0d0d0f;
--on-background: #e5e5e8;
--surface: #0d0d0f;
--on-surface: #e5e5e8;
--surface-variant: #45464a;
--on-surface-variant: #c6c6cb;
--outline: #8e9095;
--outline-variant: #45464a;
--shadow: #000000;
--scrim: #000000;
--inverse-surface: #e5e5e8;
--inverse-on-surface: #2c2d30;
--inverse-primary: #2f7d4f;
--surface-dim: #0d0d0f;
--surface-bright: #353539;
--surface-container-lowest: #080809;
--surface-container-low: #161618;
--surface-container: #1a1a1d;
--surface-container-high: #242427;
--surface-container-highest: #2f2f32;
--et-good: #5bd99a;
--et-caution: #f4b75e;
--et-risk: #f2887e;
--et-info: #9ab4f5;
--et-neutral: var(--on-surface-variant);
--et-sale: #ff5600;
--et-sale-bg: #ff5600;
--et-sale-fg: #ffffff;
--et-sale-on: #3a1322;
}
.et-silo-services, body.et-silo-services { --et-accent: var(--et-services); --primary:#59b670; --on-primary:#00391d; --primary-container:#c8ecd2; --on-primary-container:#00210f; --inverse-primary:#2f7d4f; }
.et-silo-products, body.et-silo-products { --et-accent: var(--et-products); --primary:#f39200; --on-primary:#2a1700; --primary-container:#ffddb3; --on-primary-container:#2a1700; --inverse-primary:#ffb866; }
.et-silo-tools, body.et-silo-tools { --et-accent: var(--et-tools); --primary:#00b39b; --on-primary:#00382f; --primary-container:#a9f0e4; --on-primary-container:#00201a; --inverse-primary:#00796b; }
.et-silo-articles, body.et-silo-articles { --et-accent: var(--et-articles); --primary:#57318d; --on-primary:#fff; --primary-container:#ecddff; --on-primary-container:#1d0a3f; --inverse-primary:#c3a5f5; }
body.dark.et-silo-services, body.dark .et-silo-services { --et-accent:#59b670; --primary:#59b670; --on-primary:#00391d; --primary-container:#1c5132; --on-primary-container:#c8ecd2; --inverse-primary:#2f7d4f; }
body.dark.et-silo-products, body.dark .et-silo-products { --et-accent:#F39200; --primary:#F39200; --on-primary:#2a1700; --primary-container:#6a3e00; --on-primary-container:#ffddb3; --inverse-primary:#a35f00; }
body.dark.et-silo-tools, body.dark .et-silo-tools { --et-accent:#00b39b; --primary:#00b39b; --on-primary:#00382f; --primary-container:#00504a; --on-primary-container:#a9f0e4; --inverse-primary:#00796b; }
body.dark.et-silo-articles, body.dark .et-silo-articles { --et-accent:#c3a5f5; --primary:#c3a5f5; --on-primary:#2c1357; --primary-container:#432b6b; --on-primary-container:#ecddff; --inverse-primary:#57318d; }
.et-tile .et-i, .et-hero-silo .et-i { color: var(--primary); }
.et-tile { transition: border-color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease), transform var(--et-dur) var(--et-ease); }
.et-tile:hover {
border-color: color-mix(in srgb, var(--et-accent) 60%, transparent);
box-shadow: 0 8px 26px color-mix(in srgb, var(--et-accent) 22%, transparent);
}
:root {
--font-icon: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
--et-max: 1120px;
--et-radius: 0.5rem;
--et-ease: cubic-bezier(.2,.7,.2,1);
--et-spring: cubic-bezier(.34, 1.56, .64, 1);
--et-dur: 200ms;
--et-sh-1: 0 1px 2px rgba(15,23,42,.05), 0 3px 10px rgba(15,23,42,.05);
--et-sh-2: 0 2px 5px rgba(15,23,42,.07), 0 12px 32px rgba(15,23,42,.10);
--et-glow: 0 10px 30px color-mix(in srgb, var(--primary) 22%, transparent);
}
body {
--et-muted: var(--on-surface-variant);
--et-line: var(--outline-variant);
--et-line-strong: var(--outline);
}
body.dark {
--et-sh-1: 0 1px 2px rgba(0,0,0,.4);
--et-sh-2: 0 2px 6px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.5);
}
:root { --font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
html, body {
font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body {
background: var(--surface, #fff);
font-size: 1rem;
line-height: 1.55;
letter-spacing: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
body.page { display: grid; opacity: 1; position: static; }
[hidden] { display: none !important; }
h1, h2, h3, h4, h5, h6 {
margin: 0 0 0.6em;
font-weight: 700;
line-height: 1.18;
letter-spacing: -0.015em;
overflow-wrap: break-word;
text-wrap: balance;
}
h1 { font-size: clamp(1.85rem, 1.3rem + 2vw, 2.5rem); line-height: 1.1; letter-spacing: -0.022em; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.95rem); line-height: 1.15; }
h3 { font-size: clamp(1.22rem, 1.05rem + 0.7vw, 1.45rem); letter-spacing: -0.01em; }
h4 { font-size: 1.15rem; letter-spacing: -0.005em; }
h5 { font-size: 1.02rem; line-height: 1.3; letter-spacing: 0; }
h6 { font-size: 0.92rem; line-height: 1.35; letter-spacing: 0.02em; }
small, .small { font-size: 0.85em; }
strong, b { font-weight: 700; }
.et-main { max-width: var(--et-max); margin-inline: auto; padding: 1rem 1rem 6rem; overflow: visible; }
@media (min-width: 993px) { .et-main { padding: 1.5rem 1.75rem 2.5rem; } }
.et-main > section { margin-block: 3rem; }
.et-brand { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; text-decoration: none; transition: transform 250ms var(--et-spring); will-change: transform; }
.et-brand span { font-size: 1.75rem; letter-spacing: -0.01em; }
.et-brand::after { display: none; }
.et-brand:hover, .et-brand:focus-visible { transform: scale(1.06); }
.et-brand img.et-logo:not(.responsive) {
border-radius: 0;
block-size: 2.25rem; inline-size: auto;
min-block-size: 2.25rem; max-block-size: 2.25rem;
min-inline-size: auto; max-inline-size: none;
}
.et-ico { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.et-i {
position: static; padding: 0;
block-size: 1.4rem; inline-size: 1.4rem; min-inline-size: 1.4rem;
fill: currentColor; flex: none;
}
.et-hero h1 .et-i { block-size: 1.55rem; inline-size: 1.55rem; min-inline-size: 1.55rem; }
.et-related__grid a .et-i, .et-tile .et-i { block-size: 1.5rem; inline-size: 1.5rem; min-inline-size: 1.5rem; }
.et-mico {
display: inline-block; flex: none;
inline-size: 1.5rem; block-size: 1.5rem;
background: currentColor;
-webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
mask-position: center; mask-size: contain; mask-repeat: no-repeat;
}
.et-search-row__icon .et-mico { inline-size: 1.2rem; block-size: 1.2rem; }
nav.top.et-top { border-block-end: 1px solid var(--outline-variant); box-shadow: var(--et-sh-1); }
nav.top.et-top { transition: transform 250ms var(--et-ease); will-change: transform; }
nav.top.et-top.et-hidden { transform: translateY(calc(-100% - 1rem)); }
@media (prefers-reduced-motion: reduce) {
nav.top.et-top { transition: none; }
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
nav.top.et-top, nav.bottom.et-bottom {
background-color: color-mix(in srgb, var(--surface-container) 72%, transparent);
-webkit-backdrop-filter: saturate(180%) blur(14px);
backdrop-filter: saturate(180%) blur(14px);
}
}
.et-hero { margin-bottom: 1.25rem; }
.et-hero h1 { display: flex; align-items: center; gap: 0.65rem; margin: 0.1rem 0; }
.et-hero h1 i {
display: inline-flex; align-items: center; justify-content: center;
width: 2.6rem; height: 2.6rem; font-size: 1.6rem; border-radius: var(--et-radius);
color: var(--on-primary-container); background: var(--primary-container);
}
.et-hero__bar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.8rem; }
.et-hero__pill {
display: inline-flex; align-items: center; gap: 0.3rem;
padding: 0.2rem 0.6rem 0.2rem 0.25rem; border-radius: 999px;
background: var(--surface-container-low, var(--surface)); border: 1px solid var(--et-line);
font-size: 0.66rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
color: var(--et-muted); text-decoration: none; line-height: 1;
transition: border-color var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease);
}
.et-hero__pill:hover { border-color: color-mix(in srgb, var(--primary) 40%, transparent); color: var(--primary); }
.et-hero__pill .et-ico { background: var(--surface); border-radius: 50%; padding: 0.22rem; color: var(--primary); }
.et-hero__pill .et-i { block-size: 0.95rem; inline-size: 0.95rem; min-inline-size: 0.95rem; }
.et-hero__tools { display: inline-flex; gap: 0.4rem; flex: none; }
.et-hero__btn {
inline-size: 2rem; block-size: 2rem; border-radius: 50%; padding: 0;
display: inline-flex; align-items: center; justify-content: center;
background: var(--surface-container-low, var(--surface)); border: 1px solid var(--et-line);
color: var(--on-surface); cursor: pointer;
transition: border-color var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-hero__btn:hover { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 40%, transparent); box-shadow: var(--et-sh-1); }
.et-hero__btn .et-i { block-size: 1.1rem; inline-size: 1.1rem; min-inline-size: 1.1rem; }
.et-hero__btn[aria-pressed="true"] { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 45%, transparent); }
.et-hero--calc h1 {
display: block;
font-size: clamp(2rem, 1.5rem + 2.4vw, 3rem); font-weight: 700;
letter-spacing: -0.02em; line-height: 1.12; margin: 0.1rem 0 0;
}
.et-hero--calc .et-lead { font-size: 1.1rem; margin-top: 0.55rem;}
.et-hero--center h1 { display: flex; align-items: center; justify-content: center; gap: 0.7rem; text-align: center; }
.et-hero--center h1 .et-ico {
flex: none;
inline-size: 2.8rem; block-size: 2.8rem;
border-radius: var(--et-radius);
}
.et-hero--center h1 .et-ico .et-i { block-size: 1.6rem; inline-size: 1.6rem; min-inline-size: 1.6rem; }
.et-hero--center .et-lead { margin-inline: auto; text-align: center; }
.et-hero--center .et-landing-count { text-align: center; }
.et-landing-main :is(.et-related, .et-features, .et-usecases, .et-faq) h2 { text-align: center; }
.et-landing-main .et-faq h2 { justify-content: center; }
.et-lead { color: var(--et-muted); margin-top: 0.35rem;}
.et-card {
padding: 1.25rem; border-radius: var(--et-radius); margin-bottom: 1rem;
background: var(--surface-container-low, var(--surface));
border: 1px solid var(--et-line);
box-shadow: var(--et-sh-1);
transition: box-shadow var(--et-dur) var(--et-ease), transform 250ms var(--et-spring);
}
.et-calc { margin-top: 0.5rem; }
.et-custom { margin: 0.5rem auto 0; }
.et-custom .et-results { position: static; }
.et-countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; }
.et-countdown__unit {
text-align: center; padding: 0.9rem 0.4rem; border-radius: var(--et-radius);
background: color-mix(in srgb, var(--on-primary-container) 8%, transparent);
border: 1px solid color-mix(in srgb, var(--on-primary-container) 12%, transparent);
}
.et-countdown__num {
font-size: clamp(1.7rem, 1.1rem + 3vw, 2.6rem); font-weight: 800; line-height: 1;
font-variant-numeric: tabular-nums; color: var(--on-primary-container);
}
.et-countdown__label {
margin-block-start: 0.4rem; font-size: 0.66rem; font-weight: 700;
text-transform: uppercase; letter-spacing: 0.06em;
color: color-mix(in srgb, var(--on-primary-container) 62%, transparent);
}
.et-cd-picker { margin-block-end: 1rem; }
.et-cd-target { margin-block-start: 1rem; text-align: center; color: color-mix(in srgb, var(--on-primary-container) 80%, transparent); }
.et-key {
appearance: none; cursor: pointer; font: inherit; margin: 0;
min-height: 3.4rem; padding: 0.5rem; border-radius: var(--et-radius);
border: 1px solid var(--et-line); background: var(--surface); color: var(--on-surface);
font-size: 1.2rem; font-weight: 600;
display: inline-flex; align-items: center; justify-content: center;
transition: background-color 0.12s var(--et-ease), border-color 0.12s var(--et-ease), transform 0.06s var(--et-ease);
}
.et-key:hover { border-color: color-mix(in srgb, var(--primary) 42%, transparent); }
.et-key:active { transform: translateY(1px); }
.et-key:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.et-key--fn { color: var(--et-muted); font-size: 1rem; font-weight: 700; }
.et-key--op {
color: var(--primary); font-weight: 700;
background: color-mix(in srgb, var(--primary) 8%, var(--surface));
border-color: color-mix(in srgb, var(--primary) 20%, var(--et-line));
}
.et-key--op:hover { background: color-mix(in srgb, var(--primary) 16%, var(--surface)); }
.et-key--eq { background: var(--primary); color: var(--on-primary); border-color: var(--primary); font-weight: 700; }
.et-key--eq:hover { background: color-mix(in srgb, var(--primary) 88%, #000); border-color: transparent; }
.et-key--wide { grid-column: 1 / -1; }
.et-field-group { margin-bottom: 1.3rem; }
.et-calc article.et-card:not(.et-results) :is(h2, h3),
.et-field-group > :is(h2, h3) { font-size: 0.95rem; margin: 0.2rem 0 0.7rem; color: var(--on-surface); }
.et-card .field { transition: box-shadow var(--et-dur) var(--et-ease); }
.et-card .field:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent); }
.et-field-help { color: var(--et-muted); font-size: 0.9rem; margin: 0 0 0.9rem; }
.et-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-top: 1rem; }
.et-presets__label { display: none; }
.et-presets .chip { cursor: pointer; }
.et-form-actions { display: flex; justify-content: flex-end; margin-top: 0.5rem; }
.et-form-actions .et-i { inline-size: 1.1rem; block-size: 1.1rem; }
.checkbox > span:before {
content: "";
border-radius: 0;
background-color: var(--on-surface-variant);
-webkit-mask: url("../icons/check_box_outline_blank.svg") center / contain no-repeat;
mask: url("../icons/check_box_outline_blank.svg") center / contain no-repeat;
}
.checkbox > input:checked + span:before {
background-color: var(--primary);
-webkit-mask-image: url("../icons/check_box.svg");
mask-image: url("../icons/check_box.svg");
}
.checkbox > input:indeterminate + span:before {
background-color: var(--primary);
-webkit-mask-image: url("../icons/indeterminate_check_box.svg");
mask-image: url("../icons/indeterminate_check_box.svg");
}
.switch > input:checked + span:before { content: ""; }
.et-results {
min-height: 180px;
background: linear-gradient(180deg, var(--primary-container), color-mix(in srgb, var(--primary-container) 35%, var(--surface)));
border: 1px solid color-mix(in srgb, var(--primary) 28%, transparent);
box-shadow: var(--et-glow);
}
@media (min-width: 993px) { .et-results { position: sticky; top: 5.25rem; } }
.et-results__title { font-size: 0.72rem; margin: 0 0 0.9rem; color: var(--on-primary-container); opacity: 0.8; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
.et-result-hero { text-align: center; padding: 0.4rem 0 1rem; }
.et-result-hero__value {
font-size: clamp(2.4rem, 1.8rem + 3vw, 3.2rem); font-weight: 800; line-height: 1.08;
color: var(--on-primary-container); letter-spacing: -0.03em;
font-variant-numeric: tabular-nums;
overflow-wrap: anywhere;
}
.et-result-hero__label { margin-top: 0.5rem; font-size: 0.9rem; color: color-mix(in srgb, var(--on-primary-container) 78%, transparent); }
.et-result-rows { border-top: 1px solid color-mix(in srgb, var(--on-primary-container) 16%, transparent); }
.et-result { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.7rem 0; }
.et-result + .et-result { border-top: 1px solid color-mix(in srgb, var(--on-primary-container) 12%, transparent); }
.et-result__label { font-size: 0.9rem; color: color-mix(in srgb, var(--on-primary-container) 75%, transparent); }
.et-result__value {
font-size: 1.15rem; font-weight: 700; color: var(--on-primary-container);
font-variant-numeric: tabular-nums; text-align: end;
min-inline-size: 0; overflow-wrap: anywhere;
}
.et-article {
margin: 1.25rem 0 0;
font-size: 1.05rem; line-height: 1.75; color: var(--on-surface);
box-shadow: none; border: none; background: transparent;
}
.et-posthero {
position: relative;
isolation: isolate;
margin: 0.5rem;
min-height: clamp(18rem, 34vw, 27rem);
display: flex;
border-radius: 1.25rem;
overflow: hidden;
}
.et-posthero__img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.et-posthero::after {
content: ""; position: absolute; inset: 0;
background: linear-gradient(180deg, rgba(0,0,0,0.30), rgba(0,0,0,0.42) 60%, rgba(0,0,0,0.52));
}
.et-posthero__inner {
position: relative; z-index: 1; flex: 1;
display: flex; flex-direction: column; align-items: center; justify-content: center;
gap: 1.1rem; text-align: center; padding: 3rem 1.5rem 4rem;
}
.et-posthero__title { margin: 0; color: #fff; max-inline-size: 20ch; text-shadow: 0 2px 14px rgba(0,0,0,0.35); }
@media (max-width: 600px) {
.et-posthero { border-radius: 1rem; min-height: 16rem; }
.et-posthero__inner { padding: 2rem 1rem 3.25rem; gap: 0.85rem; }
}
.et-postmeta {
display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem;
margin: 1.1rem 0 1.5rem; font-size: 0.9rem; color: var(--et-muted);
}
.et-postmeta__avatar {
display: inline-flex; align-items: center; justify-content: center;
inline-size: 1.75rem; block-size: 1.75rem; border-radius: 999px;
background: var(--primary); color: #fff; font-size: 0.82rem; font-weight: 700;
}
.et-postmeta__author { color: var(--on-surface); font-weight: 700; text-decoration: none; }
.et-postmeta__author:hover { text-decoration: underline; }
.et-postmeta__sep { opacity: 0.4; }
.et-postmeta__cat {
color: var(--on-surface-variant); font-weight: 700; font-size: 0.78rem;
letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none;
}
.et-postmeta__cat:hover { text-decoration: underline; color: var(--primary); }
.et-postmeta__updated { color: var(--et-muted); }
.et-authorbox {
display: flex; gap: 1rem; align-items: flex-start;
margin-block-start: 2.5rem; padding: 1.25rem;
border: 1px solid var(--outline-variant); border-radius: var(--et-radius);
background: var(--surface-container-low, var(--surface));
}
.et-authorbox__avatar {
flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
inline-size: 3rem; block-size: 3rem; border-radius: 999px;
background: var(--primary); color: #fff; font-size: 1.2rem; font-weight: 700;
}
.et-postmeta__avatar, .et-authorbox__avatar, .et-authorhero__avatar { overflow: hidden; }
.et-postmeta__avatar img, .et-authorbox__avatar img, .et-authorhero__avatar img {
inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: inherit; display: block;
}
.et-toolcat { margin-block-start: 2rem; }
.et-toolcat__head { display: flex; align-items: center; gap: 0.55rem; font-size: 1.35rem; margin: 0 0 0.25rem; }
.et-toolcat__head .et-i { color: var(--primary); }
.et-toolcat__desc { color: var(--et-muted); margin: 0 0 0.9rem; }
.et-toolgrid { display: grid; grid-template-columns: 1fr; gap: 0.9rem; }
@media (min-width: 601px) { .et-toolgrid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 993px) { .et-toolgrid { grid-template-columns: 1fr 1fr 1fr; } }
.et-toolcard {
display: flex; flex-direction: column; gap: 0.5rem;
padding: 1.1rem 1.15rem; border-radius: var(--et-radius);
border: 1px solid var(--et-line); background: var(--surface-container-low, var(--surface));
text-decoration: none; color: var(--on-surface);
transition: border-color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease), transform 250ms var(--et-spring);
}
.et-toolcard:hover { border-color: color-mix(in srgb, var(--primary) 38%, transparent); box-shadow: var(--et-sh-1); transform: translateY(-2px); }
.et-toolcard__icon {
inline-size: 2.5rem; block-size: 2.5rem; flex: none;
display: inline-flex; align-items: center; justify-content: center;
border-radius: 0.7rem; background: var(--primary-container); color: var(--on-primary-container);
}
.et-toolcard__title { font-weight: 700; font-size: 1.05rem; color: var(--on-surface); }
.et-toolcard__desc { font-size: 0.9rem; line-height: 1.5; color: var(--et-muted); }
.et-tyokalu-widget table { width: 100%; border-collapse: collapse; margin: 1rem 0 0; font-size: 0.95rem; overflow: hidden; border-radius: var(--et-radius); }
.et-tyokalu-widget thead th { background: var(--primary-container); color: var(--on-primary-container); text-align: start; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.7rem 0.9rem; }
.et-tyokalu-widget tbody td { padding: 0.7rem 0.9rem; border-block-start: 1px solid var(--et-line); vertical-align: top; }
.et-tyokalu-widget tbody tr:nth-child(even) { background: color-mix(in srgb, var(--on-surface) 3%, transparent); }
.et-toolsearch {
display: flex; align-items: center; gap: 0.6rem;
margin: 1.25rem 0; padding: 0.65rem 1rem;
border: 1px solid var(--et-line); border-radius: 999px;
background: var(--surface-container-low, var(--surface));
}
.et-toolsearch .et-i { color: var(--et-muted); flex: none; }
.et-toolsearch input {
flex: 1; border: 0; background: transparent; color: var(--on-surface);
font: inherit; font-size: 1rem; outline: none; min-inline-size: 0;
}
.et-authorbox__body { min-width: 0; }
.et-authorbox__head {
display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem;
margin: 0 0 0.35rem; font-size: 1.05rem; font-weight: 700; color: var(--on-surface);
}
.et-authorbox__name a { color: inherit; text-decoration: none; }
.et-authorbox__name a:hover { text-decoration: underline; }
.et-authorbox__title { font-weight: 500; font-size: 0.9rem; color: var(--et-muted); }
.et-authorbox__title::before { content: "·"; margin-inline-end: 0.5rem; opacity: 0.5; }
.et-authorbox__sep { font-weight: 400; opacity: 0.35; }
.et-authorbox__link { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--on-surface); font-weight: 700; text-decoration: none; }
.et-authorbox__link:hover { text-decoration: underline; }
.et-authorbox__chev { inline-size: 1rem; block-size: 1rem; }
.et-authorbox__bio { margin: 0; color: var(--et-muted); line-height: 1.6; }
.et-authorhero {
display: flex; flex-direction: column; align-items: center; text-align: center;
max-width: 40rem; margin: 1.5rem auto 2.5rem;
}
.et-authorhero__avatar {
display: flex; align-items: center; justify-content: center;
inline-size: 4.5rem; block-size: 4.5rem; border-radius: 999px; margin: 0 0 1rem;
background: var(--primary); color: #fff; font-size: 1.75rem; font-weight: 700;
}
.et-authorhero__name { margin: 0 0 0.6rem; }
.et-authorhero__bio { margin: 0; max-width: 36rem; color: var(--et-muted); line-height: 1.65; }
.et-article__head { margin-bottom: 1.5rem; }
.et-article__kicker {
display: inline-block; margin-bottom: 0.7rem;
font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
color: var(--primary); text-decoration: none;
}
.et-article__kicker:hover { text-decoration: underline; }
.et-article__title { margin: 0 0 0.85rem; }
.et-article h2 { margin: 2.5rem 0 0.6rem; }
.et-article h3 { margin: 1.75rem 0 0.4rem; }
.et-article p, .et-article ul { margin: 0.85rem 0; }
.et-article strong { color: var(--on-surface); }
.et-article > :first-child { margin-top: 0; }
.et-prose > p:first-of-type { font-size: 1.15rem; line-height: 1.7; color: var(--et-muted); }
.et-article .et-formula {
margin: 1rem 0;
background: var(--surface-container, color-mix(in srgb, var(--primary) 7%, var(--surface)));
border: 1px solid var(--et-line);
border-left: 3px solid var(--primary);
padding: 0.75rem 1rem; border-radius: var(--et-radius);
text-align: center; font-weight: 600; font-variant-numeric: tabular-nums;
}
.is-good { --et-tone: var(--et-good); }
.is-caution { --et-tone: var(--et-caution); }
.is-risk { --et-tone: var(--et-risk); }
.is-info { --et-tone: var(--et-info); }
.is-neutral { --et-tone: var(--et-neutral); }
.et-statuspill {
display: inline-flex; align-items: center; gap: 0.5rem;
padding: 0.4rem 0.95rem; border-radius: 999px;
font-weight: 600; font-size: 0.92rem;
color: var(--et-tone, var(--on-primary-container));
background: color-mix(in srgb, var(--et-tone, var(--primary)) 18%, transparent);
}
.et-statuspill::before {
content: ""; inline-size: 0.5rem; block-size: 0.5rem;
border-radius: 50%; background: currentColor; flex: none;
}
.et-gauge { margin: 1.1rem 0 0.4rem; }
.et-gauge__track {
position: relative; block-size: 0.55rem; border-radius: 999px;
background: var(--et-gauge-grad, var(--surface-variant));
}
.et-gauge__marker {
position: absolute; inset-block-start: 50%; inset-inline-start: var(--et-pos, 50%);
inline-size: 0.22rem; block-size: 1.15rem; border-radius: 999px;
background: var(--on-primary-container);
box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-container) 85%, transparent);
transform: translate(-50%, -50%);
transition: inset-inline-start var(--et-dur) var(--et-ease);
}
.et-gauge__ticks { position: relative; block-size: 1.1rem; margin-block-start: 0.45rem; }
.et-gauge__tick {
position: absolute; transform: translateX(-50%);
font-size: 0.7rem; white-space: nowrap;
color: color-mix(in srgb, var(--on-primary-container) 65%, transparent);
}
.et-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem; margin-block-start: 0.9rem; }
.et-metrics--1 { grid-template-columns: 1fr; }
.et-metric {
padding: 0.7rem 0.85rem; border-radius: var(--et-radius);
background: color-mix(in srgb, var(--on-primary-container) 8%, transparent);
border: 1px solid color-mix(in srgb, var(--on-primary-container) 12%, transparent);
}
.et-metric__label {
font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
color: color-mix(in srgb, var(--on-primary-container) 62%, transparent);
}
.et-metric__value {
margin-block-start: 0.25rem; font-size: 1.15rem; font-weight: 700;
font-variant-numeric: tabular-nums; color: var(--on-primary-container);
overflow-wrap: anywhere;
}
.et-metric__value.is-good { color: var(--et-good); }
.et-metric__value.is-caution { color: var(--et-caution); }
.et-metric__value.is-risk { color: var(--et-risk); }
.et-metric__value.is-info { color: var(--et-info); }
.et-split { margin-block-start: 1rem; }
.et-split__bar { display: flex; block-size: 0.55rem; border-radius: 999px; overflow: hidden; background: var(--surface-variant); }
.et-split__a { background: var(--primary); }
.et-split__b { background: var(--et-caution); }
.et-split__legend { display: flex; justify-content: space-between; margin-block-start: 0.5rem; font-size: 0.8rem; color: color-mix(in srgb, var(--on-primary-container) 75%, transparent); }
.et-split__legend b { color: var(--on-primary-container); }
.et-split__legend b.is-caution { color: var(--et-caution); }
.et-segmented { display: inline-flex; padding: 0.2rem; gap: 0.2rem; border-radius: 999px; background: var(--surface-container-high, var(--surface-variant)); }
.et-segmented__btn {
border: 0; cursor: pointer; padding: 0.45rem 0.95rem; border-radius: 999px;
font: inherit; font-size: 0.88rem; font-weight: 600;
color: var(--on-surface-variant); background: transparent;
transition: background-color var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease);
}
.et-segmented__btn[aria-pressed="true"] { background: var(--primary); color: var(--on-primary); }
.et-catlist { display: grid; gap: 0.7rem; margin: 1.25rem 0; }
.et-catitem {
padding: 1rem 1.15rem; border-radius: var(--et-radius);
border: 1px solid var(--et-line);
border-inline-start: 3px solid var(--et-tone, var(--et-line));
background: color-mix(in srgb, var(--et-tone, var(--on-surface)) 6%, var(--surface-container-low, var(--surface)));
}
.et-catitem__title { display: flex; align-items: center; gap: 0.55rem; font-weight: 700; color: var(--on-surface); }
.et-catitem__title::before {
content: ""; inline-size: 0.62rem; block-size: 0.62rem; border-radius: 50%;
background: var(--et-tone, var(--et-neutral)); flex: none;
}
.et-catitem__text { margin-block-start: 0.45rem; color: var(--et-muted); line-height: 1.6; font-size: 0.96rem; }
.et-iconlist { display: grid; gap: 1.15rem; margin: 1.25rem 0; }
.et-iconitem { display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; align-items: start; }
.et-iconitem > .et-ico {
inline-size: 2.4rem; block-size: 2.4rem; border-radius: var(--et-radius);
background: var(--primary-container); color: var(--on-primary-container); flex: none;
}
.et-iconitem > .et-ico .et-i { inline-size: 1.3rem; block-size: 1.3rem; }
.et-iconitem__title { font-weight: 700; color: var(--on-surface); }
.et-iconitem__text { margin-block-start: 0.25rem; color: var(--et-muted); line-height: 1.6; }
.et-callout {
display: flex; gap: 0.75rem; align-items: flex-start;
margin: 1.5rem 0; padding: 0.95rem 1.15rem; border-radius: var(--et-radius);
border: 1px solid color-mix(in srgb, var(--et-tone, var(--primary)) 32%, transparent);
color: var(--on-surface); line-height: 1.6;
}
.et-callout .et-i { color: var(--et-tone, var(--primary)); flex: none; margin-block-start: 0.1rem; }
.et-callout > div { min-inline-size: 0; }
.et-article table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: 0.95rem; overflow: hidden; border-radius: var(--et-radius); }
.et-article thead th { background: var(--primary-container); color: var(--on-primary-container); text-align: start; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.7rem 0.9rem; }
.et-article tbody td { padding: 0.7rem 0.9rem; border-block-start: 1px solid var(--et-line); }
.et-article tbody tr:nth-child(even) { background: color-mix(in srgb, var(--on-surface) 3%, transparent); }
.et-linkcards {
margin: 2.25rem auto 0;
padding: 1.5rem; border-radius: calc(var(--et-radius) + 0.35rem);
border: 1px solid var(--et-line); background: var(--surface-container-low, var(--surface));
}
.et-linkcards__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.et-linkcards__head h2 { display: flex; align-items: center; gap: 0.55rem; font-size: 1.25rem; margin: 0; }
.et-linkcards__head h2 .et-i { color: var(--primary); }
.et-linkcards__more {
display: inline-flex; align-items: center; gap: 0.25rem; white-space: nowrap;
color: var(--primary); text-decoration: none; font-weight: 600; font-size: 0.9rem;
}
.et-linkcards__more .et-i { block-size: 1rem; inline-size: 1rem; min-inline-size: 1rem; }
.et-linkcards__grid { display: grid; grid-template-columns: 1fr; gap: 0.6rem; }
@media (min-width: 601px) { .et-linkcards__grid { grid-template-columns: 1fr 1fr; } }
.et-linkcard {
display: flex; align-items: center; gap: 0.75rem;
padding: 0.7rem 0.85rem; border-radius: var(--et-radius);
border: 1px solid var(--et-line); background: var(--surface);
text-decoration: none; color: var(--on-surface); min-inline-size: 0;
transition: border-color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease), transform 250ms var(--et-spring);
}
.et-linkcard:hover { border-color: color-mix(in srgb, var(--primary) 38%, transparent); box-shadow: var(--et-sh-1); transform: translateY(-2px); }
.et-linkcard__icon {
flex: none; inline-size: 2.2rem; block-size: 2.2rem; border-radius: var(--et-radius);
display: inline-flex; align-items: center; justify-content: center;
background: var(--primary-container); color: var(--on-primary-container);
}
.et-linkcard__icon .et-i { block-size: 1.2rem; inline-size: 1.2rem; min-inline-size: 1.2rem; }
.et-linkcard__text { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.et-linkcard__title {
font-weight: 600; font-size: 0.95rem; line-height: 1.25; color: var(--on-surface);
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.et-linkcard__sub { font-size: 0.78rem; color: var(--et-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-linkcard__arrow { flex: none; color: var(--et-muted); transition: transform var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease); }
.et-linkcard__arrow .et-i { block-size: 1.1rem; inline-size: 1.1rem; min-inline-size: 1.1rem; }
.et-linkcard:hover .et-linkcard__arrow { color: var(--primary); transform: translateX(3px); }
.et-faq {
margin: 2.25rem auto 0;
padding: 1.5rem; border-radius: calc(var(--et-radius) + 0.35rem);
border: 1px solid var(--et-line); background: var(--surface-container-low, var(--surface));
}
.et-faq h2 {
display: flex; align-items: center; gap: 0.55rem;
font-size: 1.4rem; margin: 0 0 1.1rem;
}
.et-faq h2 .et-i { color: var(--primary); }
.et-faq__list { display: grid; gap: 0.7rem; }
.et-faq details {
border: 1px solid var(--et-line); border-radius: var(--et-radius);
background: var(--surface);
transition: box-shadow var(--et-dur) var(--et-ease), border-color var(--et-dur) var(--et-ease);
}
.et-faq details[open] {
box-shadow: var(--et-sh-1);
border-color: color-mix(in srgb, var(--primary) 32%, var(--et-line));
}
.et-faq summary {
cursor: pointer; list-style: none;
display: flex; align-items: center; gap: 1rem;
padding: 1.05rem 1.2rem; font-weight: 600; font-size: 1.05rem;
line-height: 1.4; color: var(--on-surface);
transition: color var(--et-dur) var(--et-ease);
}
.et-faq summary::-webkit-details-marker { display: none; }
.et-faq summary:hover { color: var(--primary); }
.et-faq__q { flex: 1; }
.et-faq__chevron {
flex: none; color: var(--et-muted);
transition: transform var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease);
}
.et-faq details[open] .et-faq__chevron { transform: rotate(180deg); color: var(--primary); }
.et-faq__a { padding: 0 1.2rem 1.2rem; color: var(--et-muted); line-height: 1.7; }
.et-home-hero { margin: 1.5rem auto 2rem; text-align: center; }
.et-home-hero h1 { margin: 0; padding-bottom: 1rem; }
.et-home-hero .et-lead { margin: 0.6rem auto 1.4rem;}
.et-home-search {
display: flex; align-items: center; gap: 0.6rem;
width: 100%; max-width: 40rem; min-width: 0; box-sizing: border-box;
margin-inline: auto;
padding: 1.5rem 1.1rem; border-radius: 2rem; cursor: text;
border: 1px solid var(--outline-variant); background: var(--surface-container);
color: var(--et-muted); font-size: 1.05rem;
box-shadow: var(--et-sh-1);
transition: border-color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-home-search:hover { border-color: color-mix(in srgb, var(--primary) 45%, transparent); box-shadow: var(--et-sh-2); }
.et-home-search > .et-ico { flex: none; }
.et-home-search > span { flex: 1; min-width: 0; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 30rem) {
.et-home-search { padding: 0.7rem 1rem; font-size: 1rem; gap: 0.5rem; }
}
.et-home-hero--search { margin: 2.75rem auto 2.5rem; }
.et-home-hero__title {
margin: 0;
font-size: clamp(2.3rem, 6vw, 4rem);
line-height: 1.05;
letter-spacing: -0.03em;
}
.et-hero-silos {
display: flex; flex-wrap: wrap; justify-content: center;
gap: 0.4rem 2rem;
margin: 1.5rem auto 1.7rem;
}
.et-hero-silo {
display: inline-flex; align-items: center; gap: 0.5rem;
padding: 0.35rem 0.25rem;
color: var(--on-surface); font-weight: 700; font-size: 1.05rem;
text-decoration: none;
transition: color var(--et-dur) var(--et-ease);
}
.et-hero-silo .et-i { block-size: 1.35rem; inline-size: 1.35rem; min-inline-size: 1.35rem; }
.et-hero-silo:hover { color: var(--primary); }
@media (max-width: 30rem) {
.et-hero-silos { flex-wrap: nowrap; align-items: flex-start; gap: 0.5rem; margin: 1.25rem auto 1.4rem; }
.et-hero-silo {
flex: 1 1 0; min-width: 0;
flex-direction: column; gap: 0.3rem;
padding: 0.35rem 0.15rem;
font-size: 0.78rem; line-height: 1.15; text-align: center;
overflow-wrap: break-word;
}
.et-hero-silo .et-i { block-size: 1.5rem; inline-size: 1.5rem; min-inline-size: 1.5rem; }
}
.et-home-all { max-width: var(--et-max); margin: 2rem auto 0; text-align: center; }
.et-home-all a:not(.button) { color: var(--primary); text-decoration: none; font-weight: 600; }
.et-azjump {
display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: center;
max-width: var(--et-max); margin: 0 auto 1.5rem;
}
.et-azjump a {
display: inline-flex; align-items: center; justify-content: center;
min-inline-size: 2rem; block-size: 2rem; padding: 0 0.4rem; border-radius: var(--et-radius);
border: 1px solid var(--outline-variant); text-decoration: none;
color: var(--on-surface); font-weight: 700;
}
.et-azjump a:hover { background: var(--primary-container); color: var(--on-primary-container); border-color: transparent; }
.et-azlist { max-width: var(--et-max); margin: 0 auto; }
.et-azgroup { margin-bottom: 1.5rem; scroll-margin-top: 5rem; }
.et-azgroup__letter {
font-size: 1.3rem; color: var(--primary);
padding-bottom: 0.3rem; margin-bottom: 0.5rem;
border-bottom: 1px solid var(--outline-variant);
}
.et-azgroup ul {
list-style: none; margin: 0; padding: 0;
display: grid; grid-template-columns: 1fr; gap: 0.15rem;
}
@media (min-width: 601px) { .et-azgroup ul { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 993px) { .et-azgroup ul { grid-template-columns: repeat(3, 1fr); } }
.et-azgroup li a {
display: flex; align-items: center; gap: 0.6rem;
padding: 0.5rem 0.6rem; border-radius: var(--et-radius);
text-decoration: none; color: var(--on-surface);
}
.et-azgroup li a:hover { background: color-mix(in srgb, var(--on-surface) 8%, transparent); color: var(--primary); }
.et-azgroup li .et-i { color: var(--et-muted); }
.et-drawer__head {
display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem;
padding-block-end: 0.6rem; border-block-end: 1px solid var(--outline-variant);
}
.et-browse { position: relative; overflow-y: auto; }
.et-browse__panel { display: none; flex-direction: column; }
.et-browse__panel.is-active { display: flex; }
.et-browse__row, .et-browse__back {
box-sizing: border-box; margin: 0; block-size: auto; justify-content: flex-start;
display: flex; align-items: center; gap: 0.75rem; width: 100%;
padding: 0.7rem 0.6rem; border: 0; background: transparent; cursor: pointer;
text-align: start; text-decoration: none; color: var(--on-surface);
font: inherit; border-radius: var(--et-radius);
transition: transform 200ms var(--et-spring), background-color var(--et-dur) var(--et-ease);
}
.et-browse__row:hover, .et-browse__back:hover {
background: color-mix(in srgb, var(--on-surface) 8%, transparent);
}
.et-browse__label { flex: 1; min-inline-size: 0; font-weight: 600; }
.et-browse__chev { flex: none; color: var(--et-muted); }
.et-browse__back { font-weight: 700; color: var(--primary); margin-bottom: 0.25rem; }
.et-browse__chev-back { transform: rotate(180deg); color: var(--primary); }
.et-browse__all { color: var(--primary); font-weight: 700; }
.et-browse__row .et-ico {
flex: none; inline-size: 2.2rem; block-size: 2.2rem; border-radius: 0.6rem;
background: var(--et-accent); color: var(--on-primary);
transition: box-shadow var(--et-dur) var(--et-ease), transform 200ms var(--et-spring);
}
.et-browse__row:hover .et-ico {
transform: translateY(-1px);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--et-accent) 30%, transparent);
}
.et-browse__sep--sale { color: var(--et-sale-fg); }
.et-browse__row--sale {
margin-block: 0.15rem; background: var(--et-sale-bg); color: var(--et-sale-fg);
}
.et-browse__row--sale:hover { background: color-mix(in srgb, var(--et-sale) 18%, var(--et-sale-bg)); }
.et-browse__row--sale .et-ico {
background: var(--et-sale);
color: var(--et-sale-on);
}
.et-landing { max-width: var(--et-max); margin: 0 auto; }
.et-landing--list { max-width: 52rem; }
.et-landing__grid {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem;
}
@media (min-width: 601px) { .et-landing__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 993px) { .et-landing__grid { grid-template-columns: repeat(4, 1fr); } }
.et-landing__tile { justify-content: flex-start; }
.et-tile__title { line-height: 1.3; }
.et-tile__count { font-size: 0.78rem; font-weight: 500; color: var(--et-muted); }
.et-landing-count { margin-top: 0.85rem; }
.et-landing-count .chip { color: var(--et-muted); }
.et-related { max-width: var(--et-max); margin: 2.25rem auto 0; }
.et-related h2 {font-size: 1.75rem;margin-bottom:1.5rem; line-height: 2.15rem;}
.et-section-lead { max-width: 40rem; margin: -0.5rem auto 1.1rem; text-align: center; color: var(--et-muted); }
.et-related__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; }
@media (min-width: 601px) { .et-related__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 993px) { .et-related__grid { grid-template-columns: repeat(4, 1fr); } }
.et-cats { margin: 2.2rem 0 0; }
.et-cats__title, .et-recent__title, .et-cat-seo > h2 { font-size: 1.35rem; }
.et-cats__title { text-align: center; }
.et-cats__lead { max-width: 72ch; margin-inline: auto; margin-bottom: 1.1rem; text-align: center; }
.et-cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
@media (min-width: 601px) { .et-cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 901px) { .et-cat-grid { grid-template-columns: repeat(4, 1fr); } }
.et-cat-card {
display: flex; align-items: center; gap: 0.6rem;
padding: 0.7rem 0.85rem; border: 1px solid var(--et-line);
border-radius: var(--et-radius); background: var(--surface-container-low, var(--surface));
color: var(--on-surface); text-decoration: none;
transition: border-color var(--et-dur) var(--et-ease), transform var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-cat-card:hover { border-color: var(--primary); transform: translateY(-2px); box-shadow: var(--et-sh-1); }
.et-cat-card .et-i { block-size: 1.4rem; inline-size: 1.4rem; min-inline-size: 1.4rem; color: var(--primary); }
.et-cat-card__name { font-weight: 600; font-size: 0.92rem; line-height: 1.2; flex: 1 1 auto; }
.et-cat-card__count { color: var(--et-muted); font-size: 0.82rem; font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.et-recent { margin-top: 2.4rem; }
.et-recent__title { margin-bottom: 0.9rem; }
.et-cat-seo { margin: 2.6rem 0 1rem; }
.et-cat-seo__list { margin-top: 1.1rem; }
.et-cat-seo__list dt { font-weight: 600; margin-top: 1rem; }
.et-cat-seo__list dt:first-of-type { margin-top: 0.4rem; }
.et-cat-seo__list dt a { color: var(--primary); }
.et-cat-seo__list dd { margin: 0.2rem 0 0; color: var(--et-muted); }
.et-cat-seo__note { margin-top: 1.6rem; padding: 0.85rem 1rem; border-inline-start: 3px solid var(--primary); background: var(--surface-container-low, var(--surface)); border-radius: var(--et-radius); }
.et-cities { margin: 2.6rem 0 1rem; }
.et-cities__title { font-size: 1.35rem; margin-bottom: 1.1rem; }
.et-city-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; }
@media (min-width: 601px) { .et-city-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 901px) { .et-city-grid { grid-template-columns: repeat(4, 1fr); } }
.et-city-card {
display: block; padding: 0.9rem 1.1rem;
border: 1px solid var(--et-line); border-radius: var(--et-radius);
background: var(--surface-container-low, var(--surface));
color: var(--primary); font-weight: 600; text-decoration: none;
transition: border-color var(--et-dur) var(--et-ease), transform var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-city-card:hover { border-color: var(--primary); transform: translateY(-2px); box-shadow: var(--et-sh-1); }
.et-postgrid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
max-width: var(--et-max);
margin-inline: auto;
}
@media (min-width: 601px) { .et-postgrid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
@media (min-width: 993px) { .et-postgrid { grid-template-columns: repeat(4, 1fr); } }
.et-postcard {
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
min-width: 0;
text-decoration: none;
color: inherit;
}
.et-postcard__media {
display: flex; align-items: center; justify-content: center;
aspect-ratio: 16 / 11;
border-radius: 1rem;
overflow: hidden;
background: var(--surface-container);
color: var(--et-muted);
}
.et-postcard__media img {
inline-size: 100%; block-size: 100%; object-fit: cover; display: block;
transition: transform 0.3s var(--et-ease);
}
.et-postcard:hover .et-postcard__media img { transform: scale(1.04); }
.et-postcard__media .et-i { inline-size: 2.5rem; block-size: 2.5rem; }
.et-postcard__body { display: flex; flex-direction: column; padding: 0.7rem 0 0; min-width: 0; }
.et-postcard__title { font-size: 1.1rem; font-weight: 700; line-height: 1.3; color: var(--on-surface); }
.et-postcard__excerpt {
margin: 0; color: var(--et-muted); font-size: 0.9rem; line-height: 1.55; margin-block-start: 0.50rem !important;
display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
@media (min-width: 993px) { .et-postcard__title { font-size: 1.2rem; } }
.et-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.et-pill {
display: inline-flex; align-items: center; gap: 0.55rem;
padding: 0.55rem 0.95rem; border: 1px solid var(--et-line);
border-radius: var(--et-radius);
background: var(--surface-container-low, var(--surface));
color: var(--on-surface); text-decoration: none;
font-weight: 600; font-size: 0.95rem;
transition: transform 250ms var(--et-spring), color var(--et-dur) var(--et-ease);
}
.et-pills .et-pill .et-i {
block-size: 1.15rem; inline-size: 1.15rem; min-inline-size: 1.15rem;
color: var(--primary);
}
.et-pill:hover { color: var(--primary); }
.et-pill__count {
display: inline-flex; align-items: center; justify-content: center;
min-inline-size: 1.5rem; block-size: 1.5rem; padding: 0 0.4rem;
border-radius: 999px; font-size: 0.78rem; font-weight: 700;
background: var(--secondary-container); color: var(--on-secondary-container);
}
#et-calc-root .et-related { margin:auto 0; }
#et-calc-root .et-related__grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) {
#et-calc-root .et-related__grid { grid-template-columns: repeat(4, 1fr); }
}
.et-related__grid a, .et-tile {
display: flex; flex-direction: column; align-items: center; gap: 0.55rem; text-align: center;
padding: 1.15rem 0.6rem; border-radius: var(--et-radius); border: 1px solid var(--et-line);
background: var(--surface-container-low, var(--surface)); box-shadow: var(--et-sh-1);
text-decoration: none; font-weight: 600; color: var(--on-surface);
transition: transform 250ms var(--et-spring), box-shadow var(--et-dur) var(--et-ease), border-color var(--et-dur) var(--et-ease);
}
.et-related__grid a i, .et-tile i {
display: inline-flex; align-items: center; justify-content: center;
width: 2.6rem; height: 2.6rem; font-size: 1.5rem; border-radius: var(--et-radius);
background: var(--primary-container); color: var(--on-primary-container);
}
.et-tile--all { border-style: dashed; }
.et-tile--all .et-tile__title { color: var(--primary); }
.et-cluster { max-width: var(--et-max); margin: 2.5rem auto 0; }
.et-cluster__head { text-align: center; margin-bottom: 1.1rem; }
.et-cluster__head h2 {
display: inline-flex; align-items: center; gap: 0.6rem;
font-size: 1.5rem; margin: 0 0 0.3rem;
}
.et-cluster__head h2 a { color: var(--on-surface); text-decoration: none; }
.et-cluster__head h2 a:hover { color: var(--primary); }
.et-cluster__head .et-lead { margin: 0 auto;}
.et-features { margin: 2.5rem auto 0; }
.et-features > h2 { font-size: 1.5rem; text-align: center; margin-bottom: 1.1rem; }
.et-features__list {
display: grid; gap: 1.1rem;
padding: 1.5rem; border-radius: var(--et-radius);
border: 1px solid var(--et-line); background: var(--surface-container-low, var(--surface));
}
.et-features__row { display: flex; gap: 0.9rem; align-items: flex-start; line-height: 1.55; }
.et-features__row > .et-i { flex: none; margin-top: 0.05rem; color: var(--primary); }
.et-features__row strong { color: var(--on-surface); }
.et-usecases {
margin: 2.5rem auto 0;
padding: 1.75rem; border-radius: calc(var(--et-radius) + 0.35rem);
border: 1px solid var(--et-line); background: var(--surface-container-low, var(--surface));
}
.et-usecases > h2 {
display: flex; align-items: center; justify-content: center; gap: 0.55rem;
font-size: 1.4rem; margin: 0 0 1.5rem;
}
.et-usecases > h2 .et-i { color: var(--primary); }
.et-usecases__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 700px) { .et-usecases__grid { grid-template-columns: repeat(2, 1fr); column-gap: 2rem; } }
.et-usecase { padding: 0; border: 0; background: none; box-shadow:none;}
.et-usecase h3 {
display: flex; align-items: center; gap: 0.5rem;
font-size: 1.02rem; margin: 0 0 0.4rem; color: var(--on-surface);
}
.et-usecase h3 > .et-ico {
flex: none; color: var(--on-primary-container); background: var(--primary-container);
inline-size: 2rem; block-size: 2rem; border-radius: var(--et-radius);
}
.et-usecase h3 > .et-ico .et-i { inline-size: 1.2rem; block-size: 1.2rem; min-inline-size: 1.2rem; }
.et-usecase p { margin: 0; color: var(--et-muted); line-height: 1.6; font-size: 0.95rem; }
.et-answer {
margin: 1.75rem auto 0; padding: 1.1rem 1.25rem;
border-radius: var(--et-radius);
border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent);
background: var(--primary-container);
color: var(--on-primary-container);
font-size: 1.05rem; line-height: 1.6;
}
.et-answer strong { color: var(--on-primary-container); font-weight: 700; }
.et-partners {
--pbox-bg: #e6f3e7;
--pbox-on: #173b22;
--pbox-accent: #2e7d32;
--pbox-on-accent: #ffffff;
margin: 1.75rem auto 0; padding: 1.1rem 1.25rem;
border: 1px solid color-mix(in srgb, var(--pbox-accent) 35%, transparent);
border-radius: var(--et-radius);
background: var(--pbox-bg);
color: var(--pbox-on);
}
body.dark .et-partners {
--pbox-bg: #1e2b21;
--pbox-on: #c4e5c8;
--pbox-accent: #84ce8c;
--pbox-on-accent: #0c2912;
}
.et-partners__head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.35rem; }
.et-partners__head h2 { font-size: 1.25rem; margin: 0; flex: 1; color: var(--pbox-on); }
.et-ad__label {
flex: none; font-size: 0.5rem; font-weight: 600; letter-spacing: 0.04em;
text-transform: uppercase; opacity: 0.7;
border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
border-radius: 999px; padding: 0.1rem 0.55rem;
}
.et-ad__ini { display: grid; place-items: center; inline-size: 100%; block-size: 100%; font-weight: 800; }
.et-partners__logo {
flex: none; display: grid; place-items: center; overflow: hidden;
inline-size: 2.6rem; block-size: 2.6rem; border-radius: 0.6rem;
background: color-mix(in srgb, var(--pbox-on) 8%, transparent);
}
.et-partners__logo img { max-inline-size: 78%; max-block-size: 78%; object-fit: contain; }
.et-partners__logo .et-ad__ini { font-size: 1.1rem; color: var(--pbox-on); }
.et-partners__list { list-style: none; margin: 0; padding: 0; }
.et-partners__list > li + li {
border-top: 1px solid color-mix(in srgb, var(--pbox-on) 14%, transparent);
}
.et-partners__list a {
display: grid; grid-template-columns: auto 1fr auto; align-items: center;
gap: 0.4rem 0.9rem; padding: 0.75rem 0.15rem;
text-decoration: none; color: var(--pbox-on);
border-radius: var(--et-radius);
transition: background var(--et-dur) var(--et-ease);
}
.et-partners__text { min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.et-partners__name { font-weight: 700; }
.et-partners__desc { font-size: 0.9rem; line-height: 1.45; opacity: 0.85; }
.et-partners__cta {
justify-self: end; display: inline-flex; align-items: center; gap: 0.35rem;
background: var(--pbox-accent); color: var(--pbox-on-accent);
font-size: 0.86rem; font-weight: 600; white-space: nowrap;
padding: 0.45rem 0.9rem; border-radius: 999px;
box-shadow: var(--et-sh-1);
transition: transform var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-partners__cta .et-i { block-size: 1rem; inline-size: 1rem; min-inline-size: 1rem; }
.et-partners__note { margin: 0 0.15rem 0.5rem; font-size: 0.78rem; color: var(--pbox-on); opacity: 0.75; }
@media (hover: hover) {
.et-partners__list a:hover { background: color-mix(in srgb, var(--pbox-on) 8%, transparent); }
.et-partners__list a:hover .et-partners__cta { transform: translateY(-1px); box-shadow: var(--et-sh-2); }
}
@media (max-width: 600px) {
.et-partners__list a { grid-template-columns: auto 1fr; }
.et-partners__cta { grid-column: 1 / -1; justify-self: stretch; justify-content: center; margin-top: 0.15rem; }
}
.et-ad-detail {
position: relative; margin: 1.75rem auto 0;
padding: 2.5rem 1.5rem 1.25rem; border-radius: calc(var(--et-radius) + 0.4rem);
border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent);
background: linear-gradient(135deg,
color-mix(in srgb, var(--primary) 10%, var(--surface)),
color-mix(in srgb, var(--primary) 3%, var(--surface)));
}
.et-ad-detail .et-ad__label { position: absolute; top: 0.85rem; right: 1rem; }
.et-ad-detail__main { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.25rem; }
.et-ad-detail__logo {
flex: none; display: grid; place-items: center; overflow: hidden;
inline-size: 4.5rem; block-size: 4.5rem; border-radius: var(--et-radius);
background: var(--surface); text-decoration: none;
border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
}
.et-ad-detail__logo img { max-inline-size: 80%; max-block-size: 80%; object-fit: contain; }
.et-ad-detail__logo .et-ad__ini { font-size: 1.6rem; color: var(--primary); }
.et-ad-detail__body { min-width: 0; }
.et-ad-detail__eyebrow {
display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em;
text-transform: uppercase; color: var(--primary); margin-bottom: 0.2rem;
}
.et-ad-detail__title { font-size: 1.3rem; line-height: 1.25; margin: 0 0 0.5rem; font-weight: 700; }
.et-ad-detail__benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.et-ad-detail__benefits li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.92rem; line-height: 1.4; }
.et-ad-detail__benefits .et-i {
color: var(--primary); margin-top: 0.1rem;
block-size: 1.1rem; inline-size: 1.1rem; min-inline-size: 1.1rem;
}
.et-ad-detail__cta {
flex: none; align-self: center; display: inline-flex; align-items: center; gap: 0.4rem;
background: var(--primary); color: var(--on-primary); text-decoration: none;
font-weight: 700; font-size: 0.95rem; white-space: nowrap;
padding: 0.65rem 1.3rem; border-radius: 999px; box-shadow: var(--et-sh-1);
transition: transform var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-ad-detail__cta .et-i { block-size: 1.05rem; inline-size: 1.05rem; min-inline-size: 1.05rem; }
.et-ad-detail__more {
display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.9rem;
font-size: 0.85rem; font-weight: 600; color: var(--primary); text-decoration: none;
}
.et-ad-detail__more .et-i { block-size: 1rem; inline-size: 1rem; min-inline-size: 1rem; }
.et-ad-detail__note { margin: 0.75rem 0 0; font-size: 0.76rem; opacity: 0.7; }
@media (hover: hover) {
.et-ad-detail__cta:hover { transform: translateY(-1px); box-shadow: var(--et-sh-2); }
.et-ad-detail__more:hover { text-decoration: underline; }
}
@media (max-width: 600px) {
.et-ad-detail { padding: 2.5rem 1.25rem 1.25rem; }
.et-ad-detail__main { grid-template-columns: auto 1fr; gap: 0.9rem 1rem; }
.et-ad-detail__logo { inline-size: 3.5rem; block-size: 3.5rem; }
.et-ad-detail__cta { grid-column: 1 / -1; justify-content: center; }
}
.et-actions { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-top: 0.75rem; }
.et-action {
display: inline-flex; align-items: center; justify-content: center;
inline-size: 2.5rem; block-size: 2.5rem; padding: 0; border-radius: 50%;
border: 1px solid var(--et-line); background: transparent; cursor: pointer;
color: var(--et-muted);
transition: background var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease), border-color var(--et-dur) var(--et-ease);
}
.et-action .et-i { inline-size: 1.25rem; block-size: 1.25rem; }
.et-action:hover { border-color: color-mix(in srgb, var(--primary) 45%, transparent); color: var(--primary); }
.et-action.is-on { border-color: var(--primary); color: var(--primary); }
.et-actions__more { position: relative; display: inline-flex; }
#et-more-menu {
inset: auto 0 calc(100% + 0.35rem) auto;
transform-origin: bottom right; min-inline-size: 11rem; inline-size: max-content;
}
.et-actions__more:focus-within > #et-more-menu {
opacity: 1; visibility: visible; transform: scale(1);
}
#et-more-menu li {
display: flex; align-items: center; gap: 0.6rem;
padding: 0.05rem 0.50rem; cursor: pointer; white-space: nowrap;
}
#et-more-menu li:hover { background: color-mix(in srgb, var(--on-surface) 8%, transparent); }
#et-more-menu .et-i { inline-size: 1.15rem; block-size: 1.15rem; }
.et-helpful {
display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem;
margin: 2rem auto 0; padding: 0.8rem 1rem;
border: 1px solid var(--et-line); border-radius: var(--et-radius);
background: var(--surface-container-low, var(--surface));
}
.et-helpful__q { font-weight: 600; }
.et-helpful__actions { display: inline-flex; gap: 0.4rem; flex: none; margin-inline-start: auto; }
.et-helpful__btn {
display: inline-flex; align-items: center; gap: 0.3rem;
padding: 0.35rem 0.8rem; border-radius: 999px;
border: 1px solid var(--et-line); background: var(--surface);
color: var(--on-surface); cursor: pointer; font-weight: 600; font-size: 0.9rem;
transition: background var(--et-dur) var(--et-ease), color var(--et-dur) var(--et-ease), border-color var(--et-dur) var(--et-ease);
}
.et-helpful__btn .et-i { width: 1rem; height: 1rem; min-inline-size: 1rem; }
.et-helpful__btn:hover:not(:disabled) { border-color: color-mix(in srgb, var(--primary) 45%, transparent); color: var(--primary); }
.et-helpful__btn.is-on { background: var(--primary-container); color: var(--on-primary-container); border-color: transparent; }
.et-helpful__btn:disabled { cursor: default; opacity: 0.85; }
.et-helpful__msg { color: var(--et-muted); font-size: 0.88rem; flex-basis: 100%; }
@media (max-width: 30rem) {
.et-helpful { gap: 0.6rem; }
.et-helpful__q { flex-basis: 100%; }
.et-helpful__actions { width: 100%; margin-inline-start: 0; }
.et-helpful__btn { flex: 1; justify-content: center; }
}
#et-more { position: relative; }
.et-more-menu { inset: auto 0 0 auto; min-inline-size: 13.5rem; border-radius: var(--et-radius); padding-block: 0.4rem; }
.et-more-menu > li > a { gap: 0.65rem; padding: 0.65rem 1rem; font-size: 0.9rem; cursor: pointer; }
.et-more-menu .et-i { inline-size: 1.15rem; block-size: 1.15rem; min-inline-size: 1.15rem; }
.et-more-menu [class*="et-silo-"] .et-i { color: var(--et-accent); }
.et-empty { color: var(--et-muted); margin: 0; }
.et-topsearch {
display: inline-flex; align-items: center; gap: 0.5rem;
min-inline-size: 15rem; block-size: 2.5rem; padding: 0 0.5rem 0 0.9rem; margin: 0;
border: 1px solid var(--outline-variant); border-radius: 9999px !important;
background: color-mix(in srgb, var(--on-surface) 4%, transparent);
color: var(--et-muted); font-size: 0.9rem; font-weight: 400;
box-shadow: none; cursor: pointer;
transition: border-color var(--et-dur) var(--et-ease), box-shadow var(--et-dur) var(--et-ease);
}
.et-topsearch:hover { border-color: color-mix(in srgb, var(--primary) 45%, transparent); box-shadow: var(--et-sh-1); }
.et-topsearch > span { flex: 1; text-align: start; }
.et-topsearch .et-i { inline-size: 1.1rem; block-size: 1.1rem; min-inline-size: 1.1rem; }
.et-topsearch kbd {
font-family: inherit; font-size: 0.72rem; font-weight: 600; line-height: 1;
padding: 0.25rem 0.5rem; border: 1px solid var(--outline-variant);
border-radius: 0.4rem; background: var(--surface); color: var(--et-muted);
}
.et-search-dialog {
position: fixed; inset: 0 auto auto 50%; transform: translateX(-50%);
inline-size: min(680px, calc(100vw - 1.5rem)); max-inline-size: none;
margin-block-start: 3.5rem; padding: 0; max-block-size: min(34rem, 85vh);
border: 1px solid var(--outline-variant); border-radius: 1rem !important;
background: var(--surface-container); color: var(--on-surface);
box-shadow: var(--et-sh-2), 0 0 0 100vmax rgba(0, 0, 0, 0.4);
overflow: hidden;
}
.et-search-bar {
display: flex; align-items: center; gap: 0.5rem;
padding: 0.6rem 0.75rem; border-block-end: 1px solid var(--outline-variant);
}
.et-search-bar > .et-ico { color: var(--et-muted); flex: none; margin-inline-start: 0.35rem; }
.et-search-bar input {
flex: 1; min-inline-size: 0; border: 0; outline: 0; background: transparent;
color: var(--on-surface); font-size: 1.05rem; padding: 0.4rem 0;
}
.et-search-results, .et-search-home {
overflow-y: auto; max-block-size: calc(min(34rem, 85vh) - 4.5rem);
padding-block-end: 0.5rem;
}
.et-search-label {
font-size: 0.68rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
color: var(--et-muted); opacity: 0.75; margin: 0; padding: 0.9rem 1.1rem 0.3rem;
}
.et-search-row {
display: flex; align-items: center; justify-content: flex-start; gap: 0.75rem;
margin-inline: 0.5rem; padding: 0.5rem 0.6rem;
border-radius: calc(var(--et-radius) + 2px);
text-decoration: none; color: var(--on-surface); text-align: start;
}
.et-search-row:hover, .et-search-row:focus,
.et-search-row.is-sel { background: color-mix(in srgb, var(--on-surface) 8%, transparent); }
.et-search-row__icon {
flex: none; display: inline-flex; align-items: center; justify-content: center;
inline-size: 2.25rem; block-size: 2.25rem; border-radius: 0.65rem;
background: var(--primary-container); color: var(--on-primary-container);
}
.et-search-row__icon .et-i { inline-size: 1.2rem; block-size: 1.2rem; min-inline-size: 1.2rem; }
.et-search-row__icon img { inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: inherit; background: var(--surface); }
.et-search-row[class*="et-silo-"] .et-search-row__icon { background: var(--et-accent); color: var(--on-primary); }
.et-search-loading { padding: 0.5rem 1.1rem 0.9rem; font-size: 0.8rem; color: var(--et-muted); }
.et-search-row__text { display: flex; flex-direction: column; align-items: flex-start; flex: 1; min-inline-size: 0; }
.et-search-row__title { max-inline-size: 100%; }
.et-search-row__title {
font-weight: 600; font-size: 0.95rem; line-height: 1.3;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.et-search-row__sub { font-size: 0.8rem; color: var(--et-muted); line-height: 1.3; }
.et-search-hit { color: var(--primary); }
.et-search-empty { padding: 1.25rem; text-align: center; color: var(--et-muted); }
.et-embed-dialog { max-width: 32rem; }
.et-embed-dialog__title { margin: 0 0 0.5rem; }
.et-embed-dialog textarea { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8rem; }
#et-toast {
position: fixed; left: 50%; bottom: 1.25rem; transform: translateX(-50%) translateY(1rem);
z-index: 1000; padding: 0.7rem 1.1rem; border-radius: var(--et-radius);
background: var(--inverse-surface, #2b2b2b); color: var(--inverse-on-surface, #fff);
box-shadow: var(--et-sh-2); font-size: 0.9rem; font-weight: 600;
opacity: 0; pointer-events: none; transition: opacity var(--et-dur) var(--et-ease), transform var(--et-dur) var(--et-ease);
}
#et-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }
@media (max-width: 600px) { #et-toast { bottom: 5rem; } }
.et-footer {
max-width: var(--et-max); margin: 3.5rem auto 0; padding: 2rem 1rem 1.5rem;
background:
linear-gradient(90deg, transparent, var(--et-line) 15%, var(--et-line) 85%, transparent)
top / 100% 1px no-repeat;
}
.et-footer__brand {
display: inline-flex; align-items: center; gap: 0.5rem; margin:2.15rem 0 0.75rem 0; justify-self: center;
font-weight: 700; font-size: 1.75rem; color: var(--on-surface); text-decoration: none;
}
.et-footer__brand img.et-logo { block-size: 2.5rem; inline-size: auto; border-radius: 0; }
.et-footer__desc {
color: var(--et-muted); margin: 0.75rem auto 0;
text-align: center; text-wrap: balance;
}
.et-footer__bottom {
display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
gap: 0.5rem 1.5rem; margin: 1.75rem 0 0; padding:0.90rem;
background:
linear-gradient(90deg, transparent, var(--et-line) 15%, var(--et-line) 85%, transparent)
top / 100% 1px no-repeat;
}
.et-footer__links { display: flex; gap: 0.5rem 1.25rem; flex-wrap: wrap; justify-content: center; }
@media (max-width: 600px) {
.et-footer__bottom { flex-direction: column; justify-content: center; gap: 0.75rem; }
}
.et-footer__links a { text-decoration: none; color: var(--et-muted); font-size: 0.85rem; }
.et-footer__links a:hover { color: var(--primary); }
.et-footer__meta { font-size: 0.85rem; color: var(--et-muted); margin: 0; }
.et-muted { color: var(--et-muted); font-size: 0.85rem; }
:where(button, .button, .chip, article, .surface, .surface-container, dialog, fieldset,
table, .field, input:not([type=checkbox]):not([type=radio]):not([type=range]),
textarea, select) { border-radius: var(--et-radius) !important; }
.circle { border-radius: 50% !important; }
nav:is(.top, .bottom) > a > i { border-radius: var(--et-radius) !important; }
@media (prefers-reduced-motion: no-preference) {
.et-card:hover { transform: translateY(-2px); box-shadow: var(--et-sh-2); }
.et-related__grid a:hover, .et-tile:hover { transform: translateY(-3px); box-shadow: var(--et-sh-2); border-color: color-mix(in srgb, var(--primary) 40%, transparent); }
button:active, .button:active, .chip:active, .et-tile:active,
.et-related__grid a:active, .et-pill:active,
.et-browse__row:active, .et-browse__back:active { transform: scale(0.97); }
.et-main > * { animation: et-rise 0.45s var(--et-ease) both; }
.et-result-hero__value.is-pulse { animation: et-pulse 0.5s var(--et-ease); }
}
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
@media (min-width: 993px) {
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
dialog::backdrop {
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
}
}
}
@keyframes et-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes et-pulse { 0% { transform: scale(1); } 35% { transform: scale(1.06); } 100% { transform: scale(1); } }
@media print {
nav.top, nav.bottom, .et-footer,
.et-actions, .et-helpful, .et-related, .et-faq, .no-print,
#et-toast, .et-embed-dialog { display: none !important; }
body { background: #fff !important; color: #000 !important; }
body:has(> main) { display: block !important; }
.et-main { max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.et-main > * { animation: none !important; }
.et-card, .et-results, .et-answer, .et-article .et-formula {
box-shadow: none !important; border: 1px solid #ccc !important; background: #fff !important;
break-inside: avoid;
}
.et-results { background: #f4f4f4 !important; }
.et-result-hero__value, .et-result__value, .et-result__label,
.et-result-hero__label, .et-results__title { color: #000 !important; }
.et-hero h1 i { background: none !important; color: #000 !important; }
.et-calc { display: block !important; }
.et-calc > * { width: 100% !important; max-width: 100% !important; }
.et-meta { color: #333 !important; }
a { color: #000 !important; text-decoration: none; }
.et-main::after {
content: "Lähde: Tassutori.fi — " attr(data-calc-id);
display: block; margin-top: 1.5rem; padding-top: 0.5rem;
border-top: 1px solid #ccc; font-size: 0.75rem; color: #555;
}
}
.et-vh {
position: absolute !important;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0);
white-space: nowrap; border: 0;
}
.et-skip-link {
position: absolute; left: 0.5rem; top: -3rem; z-index: 1000;
padding: 0.6rem 1rem; border-radius: var(--et-radius);
background: var(--primary); color: var(--on-primary);
text-decoration: none; font-weight: 600;
transition: top 150ms var(--et-ease);
}
.et-skip-link:focus { top: 0.5rem; }
.et-breadcrumb {
display: flex; flex-wrap: nowrap; align-items: center; gap: 0.10rem;
font-size: 0.85rem; color: var(--outline); margin-bottom: 1rem;
overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}
.et-breadcrumb::-webkit-scrollbar { width: 0; height: 0; display: none; }
.et-breadcrumb a,
.et-breadcrumb__sep { flex: 0 0 auto; white-space: nowrap; }
.et-breadcrumb a { color: inherit; text-decoration: none; }
.et-breadcrumb a:hover { color: var(--primary); text-decoration: underline; }
.et-breadcrumb__homelink { display: inline-flex; align-items: center; }
.et-breadcrumb__home { display: inline-flex; }
.et-breadcrumb__home .et-i { inline-size: 1.1rem; block-size: 1.1rem; }
.et-breadcrumb [aria-current="page"] { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.et-breadcrumb__sep .et-i, .et-breadcrumb__sep { block-size: 1rem; inline-size: 1rem; min-inline-size: 1rem; opacity: 0.6; }
.et-prose { font-size: 1.05rem; line-height: 1.7; color: var(--on-surface); }
.et-prose > * + * { margin-top: 1rem; }
.et-prose h2 { margin-top: 2rem; }
.et-prose h3 { margin-top: 1.5rem; }
.et-prose a { color: color-mix(in srgb, var(--primary) 60%, var(--on-surface)); text-decoration: underline; text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
.et-prose a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.et-prose img { max-width: 100%; height: auto; border-radius: var(--et-radius); }
.et-prose ul, .et-prose ol { padding-inline-start: 1.4rem; }
.et-prose li + li { margin-top: 0.35rem; }
.et-article__meta { display: flex; align-items: center; gap: 0.4rem; color: var(--on-surface-variant); font-size: 0.9rem; }
.et-article__hero { margin: 0 0 1.75rem; }
.et-article__hero img { width: 100%; height: auto; border-radius: 1rem; display: block; }
.et-tags { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.et-tags a { font-size: 0.8rem; padding: 0.25rem 0.7rem; border: 1px solid var(--outline-variant); border-radius: 999px; color: var(--on-surface-variant); text-decoration: none; }
.et-tags a:hover { border-color: var(--primary); color: var(--primary); }
.et-pagination { display: flex; justify-content: center; gap: 0.35rem; margin: 2.5rem 0; flex-wrap: wrap; }
.et-pagination .page-numbers {
display: inline-flex; align-items: center; justify-content: center;
min-width: 2.4rem; height: 2.4rem; padding: 0 0.6rem;
border: 1px solid var(--outline-variant); border-radius: 0.5rem;
color: var(--on-surface); text-decoration: none;
}
.et-pagination .page-numbers.current { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.et-pagination .page-numbers:hover { border-color: var(--primary); }
.et-browse__sep { padding: 0.9rem 1rem 0.3rem; font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--on-surface-variant); }
.et-menu-list { list-style: none; margin: 0; padding: 0; }
.et-searchform { margin: 1rem auto; max-width: 32rem; }
.et-tax-content {
max-width: var(--et-max);
margin: 2.5rem auto 0;
padding-block-start: 1.75rem;
border-block-start: 1px solid var(--outline-variant);
}
.et-fav-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
@media (min-width: 601px) { .et-fav-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 993px) { .et-fav-grid { grid-template-columns: repeat(4, 1fr); } }
.et-fav-card {
position: relative; display: flex;
background: var(--surface-container);
border: 1px solid var(--outline-variant);
border-radius: var(--et-radius);
overflow: hidden;
}
.et-fav-card__link {
display: flex; flex-direction: column; gap: 0.4rem;
padding: 0.85rem; text-decoration: none; color: var(--on-surface); flex: 1;
}
.et-fav-card__img { display: block; aspect-ratio: 4 / 3; background: var(--surface-container-high); border-radius: 0.5rem; overflow: hidden; }
.et-fav-card__img img { width: 100%; height: 100%; object-fit: cover; }
.et-fav-card__icon { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; color: var(--primary); }
.et-fav-card__icon .et-mico { width: 2rem; height: 2rem; }
.et-fav-card__title { font-weight: 600; line-height: 1.3; }
.et-fav-card__type { font-size: 0.78rem; color: var(--et-muted); }
