/* Loaded by baseof.html. (Theme never wires custom.css, so site tweaks live here.) 2026-06-10 */

/* ---- Blog page (minimal) ---- */
.blog-page { max-width: 760px; margin: 0 auto; padding: 2.5rem 1rem; }
.blog-page .blog-title { text-align: left; font-size: 1.75rem; font-weight: 600; margin: 0 0 2.2rem; }
.blog-section { margin-bottom: 2.6rem; }
.blog-section .section-title { font-size: 1.15rem; font-weight: 600; color: inherit; text-align: left; margin: 0 0 .9rem; padding-bottom: .4rem; border-bottom: 1px solid rgba(128,128,128,.16); }
.blog-section .section-desc { color: rgba(128,128,128,.95); line-height: 1.75; margin: 0 0 .6rem; font-size: .92rem; }
.highlight-link { display: inline-block; padding: 0; background: none; border: 0; border-radius: 0; color: inherit !important; text-decoration: none !important; font-weight: 500; border-bottom: 1px solid rgba(128,128,128,.4); transition: color .15s, border-color .15s; }
.highlight-link:hover { background: none; color: #2f8aa8 !important; border-bottom-color: #2f8aa8; }
.blog-page .article-list { list-style: none; padding: 0; margin: .4rem 0 0; }
.blog-page .article-list li { display: flex; align-items: baseline; gap: 1rem; padding: .45rem 0; border: 0; line-height: 1.6; }
.blog-page .article-list li .date { flex: 0 0 auto; min-width: 5.4rem; margin: 0; color: rgba(128,128,128,.8); font-size: .82rem; font-variant-numeric: tabular-nums; }
.blog-page .article-list li a { color: inherit; text-decoration: none; transition: color .15s; }
.blog-page .article-list li a:hover { color: #2f8aa8; }

/* ---- AI nav hover submenu (injected by js/ai-menu.js) ---- */
.menu .menu-inner .ai-has-sub { position: relative; display: inline-block; }
.menu .menu-inner, .menu { overflow: visible; }
.ai-submenu { position: absolute; top: 100%; left: 0; min-width: 150px; display: none; flex-direction: column; background: #fff; border: 1px solid rgba(128,128,128,.2); border-radius: 8px; padding: .3rem 0; box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 1000; }
.ai-has-sub:hover .ai-submenu { display: flex; }
.ai-submenu a { display: block; padding: .45rem 1rem; white-space: nowrap; color: #333 !important; font-size: .9rem; text-decoration: none !important; line-height: 1.4; }
.ai-submenu a:hover { color: #2f8aa8 !important; background: rgba(128,128,128,.08); }
[theme=dark] .ai-submenu { background: #2a2e33; border-color: rgba(255,255,255,.12); box-shadow: 0 8px 24px rgba(0,0,0,.45); }
[theme=dark] .ai-submenu a { color: #d6d6d6 !important; }

/* ensure header ancestors don't clip the AI dropdown */
.header, .header-wrapper, .header .header-wrapper, .header-inner, nav.menu, .menu { overflow: visible !important; }
.ai-submenu { z-index: 2000; }

/* ============================================================
   Minimal site refresh — Pass 1 (2026-06-10). Aesthetics only.
   Revert: delete everything below this banner + rebuild.
   ============================================================ */
/* reading comfort */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.single .content { line-height: 1.78; }
.single .content > p { margin: 0 0 1.15rem; }
.single-title { letter-spacing: -.01em; line-height: 1.28; }
.single .content h2, .single .content h3 { letter-spacing: -.005em; margin-top: 2rem; }

/* one restrained accent for content links (nav/menu untouched) */
.single .content a { color: #2f8aa8; }
.single .content a:hover { color: #22667c; }

/* home: a touch more air + readable intro */
.home-profile { padding-top: 1rem; }
.home .single .content, .home-profile .content { line-height: 1.8; }
.home .single .content ul { margin: .6rem 0 1rem; }

/* dropdown: stop header ancestors from clipping it */
#header-desktop, #header-desktop .header-wrapper { overflow: visible !important; }

