@layer base {
  *, *::before, *::after { box-sizing: border-box; }
  body {
    margin: 0;
    font-family: var(--font-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--color-text);
    background: var(--color-bg-gray);
    /* 德 / 俄长复合词（Datenschutzerklärung、Политика конфиденциальности）在 320–390 下单词比行宽，
       标题把整页撑出横向滚动（2026-10-22 开新语言时实测）。break-word 只在一个词整行都放不下时才断，
       且不改 min-content，能排下的文字一个像素都不变；别换成 anywhere（会改 flex 项最小宽度）。 */
    overflow-wrap: break-word;
  }
  img { max-width: 100%; display: block; }
  a { color: var(--color-text-link); text-decoration: none; }
  a:hover { color: var(--color-primary-dark); }
  h1,h2,h3,h4 { margin: 0; color: var(--color-text-strong); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); }
  .container { width: 100%; max-width: var(--container-max-width); margin: 0 auto; padding: 0 var(--space-md); }
  .section-gap { padding-top: var(--space-2xl); }
  .section-gap-b { padding-bottom: var(--space-2xl); }
  .gray-bg { background: var(--color-bg-gray); }
}
