/* v5 refresh: stronger contrast, a lead story, a card grid, calmer article reading. Layered on v4. */
:root { --ink-soft: #2b3240; --ink-faint: #3d4555; --line: #b9c3d6; --focus: #0b3ea8; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
::placeholder { color: #4a5263; opacity: 1; }
::selection { background: #0b3ea8; color: #fff; }
.tags span { color: var(--ink); background: #e6ebf5; border: 1px solid #c3cde0; font-size: .78rem; padding: .12rem .5rem; }
.post-date { font-size: .8rem; }
.category-links a { font-size: .8rem; }
.tagline { color: #eaf0ff; }
.langswitch a { color: #e3ebff; }
nav.site a, .langswitch a { text-underline-offset: 4px; }
.langswitch a[aria-current], .langswitch .active { text-decoration: underline; text-decoration-thickness: 2px; }

/* Home: compact category strip */
.home-intent ~ .post-list, .category-strip ~ .post-list { margin-top: 1.2rem; }
.category-strip { background: transparent !important; border: 0 !important; border-top: 3px solid var(--ink) !important; border-radius: 0 !important; padding: .9rem 0 .4rem !important; }
.category-strip h1 { font-size: .85rem !important; letter-spacing: .14em; color: var(--ink-faint); margin: 0 0 .5rem !important; }
.home-intent { margin: .6rem 0 1.4rem !important; border-width: 2px !important; border-left: 8px solid var(--accent) !important; background: #f2f5fa !important; }
.home-intent h2 { font-size: 1.25rem !important; }
.home-intent .pdb-intent-in { font-size: 1.1rem; }

/* Home: lead story then a two-column card grid */
@media (min-width: 900px) {
  .home-intent ~ .post-list, .category-strip ~ .post-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 1.8rem; }
  .category-strip ~ .post-list > li, .home-intent ~ .post-list > li { display: flex !important; flex-direction: column; gap: .8rem; padding: 0 0 1.2rem; border: 0; border-bottom: 3px solid var(--ink); }
  .home-intent ~ .post-list > li:first-child { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1.25fr 1fr; gap: 1.8rem; align-items: center; padding-bottom: 1.6rem; }
  .home-intent ~ .post-list > li:first-child h2 { font-size: 2.3rem; line-height: 1.08; }
  .home-intent ~ .post-list > li:first-child .post-excerpt { font-size: 1.12rem; }
  .home-intent ~ .post-list > li:first-child:not(:has(img)) { grid-template-columns: 1fr; }
  .home-intent ~ .post-list > li:not(:first-child) .card-image img { aspect-ratio: 16/9; object-fit: cover; }
  .home-intent ~ .post-list h2 { font-size: 1.4rem; }
}
.post-list li { transition: transform .15s ease; }
.post-list li:hover h2 a { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .post-list li { transition: none; } }

/* Sponsor card: quieter, still labeled */
.ai-vps-promo, [class*="promo-card"] { border-radius: 2px; }

/* Article reading */
article .lede, .lede { font-size: 1.12rem; line-height: 1.55; color: var(--ink); border-inline-start: 5px solid var(--signal); padding-inline-start: 1rem; }
article h2, .post-body h2 { font-family: var(--head); letter-spacing: 0; line-height: 1.15; margin-top: 2.4rem; padding-top: .9rem; border-top: 3px solid var(--ink); }
.tldr { border: 2px solid var(--ink) !important; border-top-width: 6px !important; border-top-color: var(--signal) !important; background: #f2f5fa !important; }
.review-table { border-collapse: collapse; width: 100%; font-size: .92rem; }
.review-table th { background: var(--accent); color: #fff; text-align: start; padding: .55rem .6rem; }
.review-table td { padding: .55rem .6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.review-table tbody tr:nth-child(even) td { background: #f2f5fa; }
section:has(> .review-table) { overflow-x: auto; }
pre, code { font-size: .92em; }
pre { border: 2px solid var(--ink); border-inline-start-width: 8px; background: #eef1f7; }
blockquote { border-inline-start: 5px solid var(--accent); background: #f2f5fa; padding: .6rem 1rem; margin-inline: 0; }
a { text-underline-offset: 3px; }
footer { border-top: 5px solid var(--ink); }
.tldr h2 { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
[class*="pdb"] label, [class*="mdb"] label, .pdb-ctl label, .pdb-ctl span { color: var(--ink-soft) !important; font-size: .85rem; }
section.cta { margin: 2.4rem 0 1rem; padding: 1.2rem 1.3rem; border: 3px solid var(--ink); border-inline-start: 10px solid var(--signal); background: #f2f5fa; }
section.cta h2 { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
section.cta a { font-weight: 700; }
