/* blog.css — blog index and posts (prose on the quiet canvas). */
.blog__meta { color: var(--ug-text-faint); font-size: var(--ug-text-s); margin-top: .75rem; font-family: var(--ug-mono); letter-spacing: .04em; }
.blog__body h2 { font-size: var(--ug-display-s); margin: 2.2rem 0 .8rem; }
.blog__body h3 { font-size: var(--ug-text-xl); font-weight: var(--ug-weight-bold); letter-spacing: 0; margin: 1.6rem 0 .5rem; color: var(--ug-text); }
.blog__body ul, .blog__body ol { padding-left: 1.3rem; margin: 0 0 1.1em; }
.blog__body li { margin: .3em 0; }
.blog__body blockquote { margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--ug-accent-60); background: var(--ug-surface); border-radius: var(--ug-radius); color: var(--ug-text-quiet); }
.blog__body hr { border: 0; border-top: 1px solid var(--ug-border-quiet); margin: 2rem 0; }
.blog__body table { border-collapse: collapse; width: 100%; font-size: var(--ug-text-m); margin: 1.2rem 0; }
.blog__body th, .blog__body td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--ug-border-quiet); vertical-align: top; }
.blog__body img { border-radius: var(--ug-radius); }
.blog__rel { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .75rem; }
.blog__rel a { display: grid; gap: .3rem; padding: 1rem 1.1rem; background: var(--ug-surface); border: 1px solid var(--ug-border-quiet); border-radius: var(--ug-radius-l); text-decoration: none; color: inherit; box-shadow: var(--ug-shadow); }
.blog__rel a b { color: var(--ug-brand-strong); }
.blog__rel a span { font-size: var(--ug-text-s); color: var(--ug-text-quiet); }
.blog__serie { margin-bottom: 2.5rem; }
.blog__serie-d { color: var(--ug-text-quiet); max-width: 60ch; margin: -.5rem 0 1rem; }
.blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.blog__kort { display: grid; gap: .4rem; align-content: start; padding: 1.2rem 1.3rem 1.4rem; background: var(--ug-surface); border: 1px solid var(--ug-border-quiet); border-radius: var(--ug-radius-l); text-decoration: none; color: inherit; box-shadow: var(--ug-shadow); transition: transform .15s var(--ug-ease), box-shadow .15s; }
.blog__kort:hover { transform: translateY(-3px); box-shadow: var(--ug-shadow-pop); color: inherit; }
.blog__kort time { font-family: var(--ug-mono); font-size: var(--ug-text-xs); letter-spacing: var(--ug-tracking-label); text-transform: uppercase; color: var(--ug-text-faint); }
.blog__kort h3 { font-size: var(--ug-text-xl); font-weight: var(--ug-weight-bold); letter-spacing: 0; }
.blog__kort p { color: var(--ug-text-quiet); font-size: var(--ug-text-m); }

/* migrated legacy pages: keep inline SVGs small */
.blog__body svg { max-width: 3.5rem; max-height: 3.5rem; height: auto; display: inline-block; vertical-align: middle; }
