/* NeuralWire — Glance-inspired dark dashboard theme */

:root {
    --bg: #0a0a0f;
    --bg-elevated: #111118;
    --accent: #00d4ff;
    --accent-blue: #0066ff;
    --text: #e0e0e0;
    --text-muted: #555566;
    --border: #1a1a28;
    --font: 'JetBrains Mono', monospace;
    --mono: 'JetBrains Mono', 'Fira Code', 'SF Mono', 'Consolas', monospace;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html, body { overflow-x: hidden; width: 100%; }
html { scroll-behavior: smooth; }

body {
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    line-height: 1.5;
    font-size: 15px;
}

a { color: var(--accent); text-decoration: none; transition: color 0.2s; }
a:hover { color: #fff; }

h1, h2, h3, h4 { font-family: 'JetBrains Mono', monospace; font-weight: 600; line-height: 1.25; color: #fff; margin: 0; }

/* ── Header ── */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(10, 10, 15, 0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}

.header-wrapper {
    max-width: 900px;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-logo { display: flex; align-items: center; }
.site-logo img { max-height: 28px; }
.logo-text {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    font-family: var(--mono);
    letter-spacing: -0.02em;
}

.site-nav { margin-left: auto; }
.nav-list {
    display: flex;
    list-style: none;
    gap: 1.5rem;
    align-items: center;
}
.nav-link {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-family: var(--mono);
    text-transform: lowercase;
    letter-spacing: 0.06em;
    font-weight: 500;
    transition: color 0.2s;
}
.nav-link:hover { color: var(--accent); text-decoration: none; }

/* ── Hero ── */
.hero {
    max-width: 900px;
    margin: 0 auto;
    padding: 3rem 1.5rem 1rem;
}

.hero-content h1 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.hero-subtitle {
    font-size: 0.9rem;
    color: var(--text-muted);
    font-family: var(--mono);
    margin: 0;
}

/* ── Articles ── */
.articles-grid {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.section-title {
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
    margin-bottom: 1.25rem;
    border: none;
    padding: 0;
}

.posts-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Post Card (dense list item) ── */
.post-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
    transition: background 0.15s;
    overflow: visible;
}

.post-card:last-child { border-bottom: none; }

.post-card:hover {
    background: var(--bg-elevated);
    transform: none;
    box-shadow: none;
}

.post-card-content { padding: 0; }
.post-card-tag { display: none; }
.post-card-image { display: none; }

.post-card-title {
    font-size: 0.95rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.35;
}

.post-card-title a { color: #fff; text-decoration: none; }
.post-card-title a:hover { color: var(--accent); text-decoration: none; }
.post-card-title a::after {
    content: ' ↗';
    font-size: 0.7em;
    color: var(--text-muted);
    opacity: 0;
    transition: opacity 0.15s;
}
.post-card:hover .post-card-title a::after { opacity: 1; }

.post-card-excerpt { display: none; }

.post-card-meta {
    display: flex;
    gap: 0;
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--text-muted);
    border: none;
    padding: 0;
}
.post-card-meta span + span::before {
    content: '·';
    margin: 0 0.4rem;
}

/* Featured post */
.post-card.featured { padding: 1.25rem 0; margin-bottom: 0.5rem; }
.post-card.featured .post-card-title { font-size: 1.4rem; font-weight: 600; letter-spacing: -0.01em; }
.post-card.featured .post-card-excerpt {
    display: block;
    color: var(--text-muted);
    font-size: 0.85rem;
    margin: 0.35rem 0 0;
    line-height: 1.5;
}

/* ── Newsletter CTA ── */
.newsletter-cta {
    max-width: 900px;
    margin: 1rem auto 3rem;
    padding: 1.5rem;
    background: var(--bg-elevated);
    border-radius: 0;
    border: none;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.newsletter-cta h3 {
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
    margin: 0;
    white-space: nowrap;
}

.newsletter-cta p {
    color: var(--text);
    font-size: 0.85rem;
    margin: 0;
    flex: 1;
    min-width: 200px;
}

.newsletter-cta form { display: flex; gap: 0; }
.newsletter-cta input[type="email"] {
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    font-family: var(--mono);
    outline: none;
    min-width: 200px;
}
.newsletter-cta input[type="email"]:focus { border-color: var(--accent); }
.newsletter-cta button,
.newsletter-cta input[type="submit"] {
    background: var(--accent);
    color: var(--bg);
    border: none;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-family: var(--mono);
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Pagination ── */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    font-family: var(--mono);
    font-size: 0.75rem;
    color: var(--text-muted);
}
.btn-prev, .btn-next {
    color: var(--accent);
    font-family: var(--mono);
    font-size: 0.75rem;
}

/* ── Footer ── */
.site-footer {
    border-top: 1px solid var(--border);
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    background: transparent;
}
.footer-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--text-muted);
}
.footer-inner a { color: var(--text-muted); }
.footer-inner a:hover { color: var(--accent); }
.footer-links { display: flex; gap: 1rem; }

/* ── Ghost Koenig ── */
.kg-width-wide { margin: 0 -8vw; max-width: calc(100% + 16vw); }
.kg-width-full { margin: 0 calc(50% - 50vw); max-width: 100vw; width: 100vw; }

/* ── Mobile ── */
@media (max-width: 768px) {
    .site-nav {
        display: none;
        position: fixed;
        top: 0; left: 0;
        width: 100vw; height: 100vh;
        background: rgba(10,10,15,0.98);
        z-index: 999;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .site-nav.open { display: flex; }
    .nav-list { flex-direction: column; gap: 1.5rem; }
    .nav-link { font-size: 1rem; }

    .nav-toggle {
        display: flex;
        flex-direction: column;
        gap: 5px;
        cursor: pointer;
        z-index: 1000;
        margin-left: auto;
        padding: 6px;
        background: none;
        border: none;
    }
    .nav-toggle span {
        display: block;
        width: 20px;
        height: 2px;
        background: #fff;
        border-radius: 1px;
    }

    .hero { padding: 2rem 1rem 0.5rem; }
    .hero-content h1 { font-size: 1.5rem; }
    .articles-grid { padding: 1.5rem 1rem; }

    .newsletter-cta {
        flex-direction: column;
        align-items: flex-start;
        margin: 1rem;
        padding: 1rem;
    }

    .footer-inner { flex-direction: column; gap: 0.5rem; text-align: center; }
}

@media (min-width: 769px) {
    .nav-toggle { display: none; }
}

/* ── Force JetBrains Mono everywhere ── */
*, *::before, *::after {
    font-family: 'JetBrains Mono', monospace !important;
}
/* Logo sizing */
.site-logo img {
    height: 48px !important;
    width: auto;
    display: block;
}
/* Nav lowercase force */
.nav-link, .nav-list a {
    text-transform: lowercase !important;
}

/* ── Article title cyan ── */
.post-card-title a {
    color: var(--accent) !important;
}
.post-card-title a:hover {
    color: #fff !important;
    text-decoration: none;
}
/* ── Logo size fix ── */
.site-logo img {
    height: 44px !important;
    width: auto !important;
    display: block !important;
}
/* ── Remove any ::after on logo ── */
.site-logo::after, .site-logo a::after {
    content: none !important;
}

/* ── Header logo + wordmark ── */
.site-logo {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none !important;
    flex-shrink: 0;
}
.site-logo .logo-icon {
    height: 36px !important;
    width: 36px !important;
    border-radius: 6px;
    display: block !important;
}
.site-logo .logo-wordmark {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.02em;
    text-transform: lowercase !important;
}
.site-logo:hover .logo-wordmark {
    color: var(--accent);
}

/* ── Site tagline ── */
.site-tagline {
    max-width: 900px;
    margin: 1.5rem auto 0;
    padding: 0 1rem;
    font-size: 0.85rem;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace !important;
}


/* ── Logo v2 ── */
.site-logo .logo-icon {
    height: 50px !important;
    width: 50px !important;
    border-radius: 8px;
}
.site-logo .logo-wordmark {
    font-size: 1.4rem !important;
}

/* ══ 5-Size Type Scale ══
   t1 → 2rem      — page/post title (h1)
   t2 → 1.25rem   — section headers (h2, h3)
   t3 → 1rem      — card titles, nav links, body
   t4 → 0.85rem   — meta, dates, tags, tagline
   t5 → 0.72rem   — labels, badges, footnotes
*/

/* T1 — Post/page title */
h1, .post-title {
    font-size: 2rem !important;
    color: var(--accent) !important;
    line-height: 1.2 !important;
}

/* T2 — Section headers */
h2, h3, .section-title, .related-articles h3 {
    font-size: 1.25rem !important;
    color: #ffffff !important;
}

/* T3 — Card titles, nav, body */
body, p, .post-card-title a, .nav-link, .logo-wordmark {
    font-size: 1rem !important;
}
.post-card-title a {
    font-size: 1rem !important;
}

/* T4 — Meta, dates, tags, tagline */
.post-card-meta, .post-card-date, .post-card-reading-time,
.post-card-tag-inline, .post-meta, .post-date,
.post-reading-time, .post-tag-inline, .site-tagline,
.footer-wrapper, .tag {
    font-size: 0.85rem !important;
}

/* T5 — Labels, badges */
.section-title, .category-label, .post-card-tag-inline {
    font-size: 0.72rem !important;
    letter-spacing: 0.08em;
    text-transform: uppercase !important;
}

/* Post title cyan override (explicit) */
.post-full .post-title {
    color: var(--accent) !important;
    font-size: 1.75rem !important;
}

/* ══ Font & Style Overhaul ══ */

/* Formal font: Inter for UI, Lora for article body */
*, *::before, *::after {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Article body uses Lora (serif, editorial) */
.post-content, .post-content p, .post-content li,
.post-content blockquote, .gh-content, .gh-content p {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 1rem !important;
    line-height: 1.85 !important;
    text-align: justify !important;
}

/* Paragraph spacing in articles */
.post-content p, .gh-content p {
    margin-bottom: 1.6rem !important;
}

/* Article page — constrained width with breathing room */
.post-full {
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 2rem 1.5rem !important;
}

/* Margin: title → meta → content */
.post-full .post-title {
    margin-bottom: 1.2rem !important;
}
.post-full .post-meta {
    margin-bottom: 2rem !important;
    padding-bottom: 1.2rem !important;
    border-bottom: 1px solid #1a1a28 !important;
}

/* Remove newsletter section display if leftover */
.newsletter-cta { display: none !important; }

/* Keep monospace only for labels/tags */
.section-title, .post-card-tag-inline, .post-card-date,
.post-date, .post-tag-inline, .nav-link, .logo-wordmark {
    font-family: 'Inter', sans-serif !important;
}

/* ══ Spacing & Layout Fixes ══ */

/* Pagination — tighten gap */
.pagination {
    margin-top: 1.5rem !important;
    padding-top: 1rem !important;
}

/* Section title gap — tighten between "LATEST ARTICLES" and first card */
.section-title {
    margin-bottom: 0.75rem !important;
    margin-top: 1.5rem !important;
}

/* Article content — same font as title (Inter) */
.post-content, .post-content p, .post-content li,
.post-content blockquote, .gh-content, .gh-content p,
.post-content h1, .post-content h2, .post-content h3,
.post-content h4, .post-content ul, .post-content ol {
    font-family: 'Inter', -apple-system, sans-serif !important;
}

/* Fix: article content stays INSIDE left/right margin */
.post-full {
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 2rem 2rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.post-full .post-content,
.post-full .gh-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
}
/* Ghost injects .kg-width-full / .kg-width-wide that break out — constrain */
.post-full .kg-width-full,
.post-full .kg-width-wide,
.post-full figure,
.post-full img {
    max-width: 100% !important;
    width: 100% !important;
}
/* Lists inside article stay within margin */
.post-content ul, .post-content ol,
.gh-content ul, .gh-content ol {
    padding-left: 1.5rem !important;
    max-width: 100% !important;
}

/* ══ Homepage spacing fixes ══ */
.section-title {
    margin-top: 1rem !important;
    margin-bottom: 0.4rem !important;
}
.posts-list {
    margin-top: 0 !important;
}
.pagination {
    margin-top: 0.75rem !important;
    padding-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.site-footer {
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
}

/* ══ Article: title + subtitle left-align, not justify ══ */
.post-title,
.post-full h1,
.post-full h2,
.post-full h3,
.post-full h4 {
    text-align: left !important;
}
/* Only paragraphs and lists justify */
.post-content p,
.gh-content p,
.post-content li,
.gh-content li {
    text-align: justify !important;
}

/* ══ Article links — visible & clickable ══ */
.post-content a,
.gh-content a {
    color: var(--accent) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer !important;
}
.post-content a:hover,
.gh-content a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ══ Code blocks — terminal/prompt style ══ */
.post-content pre,
.gh-content pre {
    background: #0d1117 !important;
    border: 1px solid #30363d !important;
    border-left: 3px solid var(--accent) !important;
    border-radius: 6px !important;
    padding: 1rem 1.25rem !important;
    overflow-x: auto !important;
    margin: 1.5rem 0 !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace !important;
    font-size: 0.85rem !important;
    line-height: 1.6 !important;
    color: #e6edf3 !important;
}
.post-content code,
.gh-content code {
    font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace !important;
    font-size: 0.85rem !important;
    background: #161b22 !important;
    color: #00d4ff !important;
    padding: 0.15em 0.4em !important;
    border-radius: 3px !important;
}
/* Inline code inside pre — reset */
.post-content pre code,
.gh-content pre code {
    background: transparent !important;
    color: #e6edf3 !important;
    padding: 0 !important;
}

/* ══ Fonts: Clash Display + Satoshi (openclaw.ai) ══ */
:root {
    --font-display: 'Clash Display', 'Inter', sans-serif;
    --font-body: 'Satoshi', 'Inter', sans-serif;
    --font-mono: 'SF Mono', 'Fira Code', 'Consolas', monospace;
}

/* Override all previous font rules */
*, *::before, *::after {
    font-family: var(--font-body) !important;
}
h1, h2, h3, h4, h5, h6,
.post-title, .section-title, .logo-wordmark {
    font-family: var(--font-display) !important;
}
.post-content pre, .gh-content pre,
.post-content code, .gh-content code,
pre, code {
    font-family: var(--font-mono) !important;
}

/* Font sizes matching openclaw.ai scale */
body { font-size: 1rem; line-height: 1.7; }
h1, .post-title { font-size: 1.4rem !important; }
h2 { font-size: 1.1rem !important; }
h3, .section-title { font-size: .95rem !important; }
.post-card-title a { font-size: 1rem !important; }
.post-card-date, .post-meta, .post-date,
.post-tag-inline, .tag, .site-tagline { font-size: .85rem !important; }
.nav-link { font-size: .85rem !important; }
footer, .footer-wrapper { font-size: .85rem !important; }

/* ══ Code copy button wrapper ══ */
.code-block-wrapper {
    position: relative !important;
    margin: 1.5rem 0 !important;
}
.code-copy-btn {
    position: absolute !important;
    top: 0.5rem !important;
    right: 0.6rem !important;
    background: #1a1a2e !important;
    border: 1px solid #30363d !important;
    border-radius: 4px !important;
    color: #8b949e !important;
    font-size: 0.72rem !important;
    font-family: var(--font-body) !important;
    padding: 3px 8px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    z-index: 2 !important;
}
.code-copy-btn:hover {
    color: var(--accent) !important;
    border-color: var(--accent) !important;
}
.code-copy-btn.copied {
    color: #3fb950 !important;
    border-color: #3fb950 !important;
}

/* ══ Code block — wrap instead of scroll ══ */
.post-content pre,
.gh-content pre {
    overflow-x: visible !important;
    overflow: visible !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
}
.post-content pre code,
.gh-content pre code {
    white-space: pre-wrap !important;
    word-break: break-word !important;
}

/* ══ Copy button — icon only ══ */
.code-copy-btn {
    padding: 4px 6px !important;
    line-height: 1 !important;
    font-size: 0.9rem !important;
}

/* ══ Code block layout fixes ══ */
.code-block-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}
.post-content pre,
.gh-content pre {
    flex: 1 !important;
    text-align: left !important;
    margin: 1.5rem 0 !important;
}
.post-content pre code,
.gh-content pre code {
    text-align: left !important;
}

/* Copy button — right middle, not top corner */
.code-copy-btn {
    position: static !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    top: unset !important;
    right: unset !important;
    margin: 0 !important;
}

/* ══ Code box: button inside, right-aligned ══ */
.code-block-wrapper {
    position: relative !important;
    display: block !important;
}
.post-content pre,
.gh-content pre {
    padding-right: 3rem !important;
}
.code-copy-btn {
    position: absolute !important;
    top: 50% !important;
    right: 0.75rem !important;
    transform: translateY(-50%) !important;
    align-self: unset !important;
    background: #1a1a2e !important;
    border: 1px solid #30363d !important;
    border-radius: 4px !important;
    color: #8b949e !important;
    padding: 5px 7px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.code-copy-btn:hover { color: var(--accent) !important; border-color: var(--accent) !important; }
.code-copy-btn.copied { color: #3fb950 !important; border-color: #3fb950 !important; }

/* ══ Post card — openclaw.ai/blog style ══ */
.post-card {
    border-bottom: 1px solid #1a1a28 !important;
    padding: 1.5rem 0 !important;
    margin: 0 !important;
}
.post-card:last-child {
    border-bottom: none !important;
}
.post-card-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}
.post-card-link:hover .post-card-title {
    color: var(--accent) !important;
}
.post-card-meta-top {
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    font-size: 0.8rem !important;
    color: var(--text-muted) !important;
    margin-bottom: 0.5rem !important;
    font-family: var(--font-body) !important;
}
.post-card-dot {
    color: var(--text-muted) !important;
}
.post-card-title {
    font-family: var(--font-display) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin: 0 0 0.5rem !important;
    transition: color 0.2s !important;
}
.post-card-excerpt {
    font-size: 0.9rem !important;
    color: var(--text-muted) !important;
    line-height: 1.6 !important;
    margin: 0 0 0.75rem !important;
}
.post-card-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
}
.post-card-tag {
    font-size: 0.75rem !important;
    color: var(--text-muted) !important;
    font-family: var(--font-body) !important;
}
.post-card-tag:hover {
    color: var(--accent) !important;
}
/* Remove old card styles that might conflict */
.post-card-meta, .post-card-tag-inline { display: none !important; }

/* ══ Post card — boxed with excerpt ══ */
.post-card {
    background: #0d0d1a !important;
    border: 1px solid #1e1e30 !important;
    border-bottom: 1px solid #1e1e30 !important;
    border-radius: 8px !important;
    padding: 1.25rem 1.25rem !important;
    margin-bottom: 1rem !important;
    transition: border-color 0.2s !important;
}
.post-card:hover {
    border-color: var(--accent) !important;
}
.post-card:last-child {
    border-bottom: 1px solid #1e1e30 !important;
}
.posts-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}
.post-card-excerpt {
    display: block !important;
    font-size: 0.875rem !important;
    color: var(--text-muted) !important;
    line-height: 1.6 !important;
    margin: 0.4rem 0 0.75rem !important;
}

/* ══ Tags in card — always visible ══ */
.post-card-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 0.75rem !important;
}
.post-card-tag {
    display: inline-block !important;
    font-size: 0.75rem !important;
    color: var(--accent) !important;
    font-family: var(--font-body) !important;
    opacity: 0.75 !important;
}
.post-card-tag:hover { opacity: 1 !important; }

/* ══ Article page fixes ══ */

/* Reduce paragraph line spacing */
.post-content p, .gh-content p {
    line-height: 1.65 !important;
    margin-bottom: 1.1rem !important;
}

/* Subtitles (h2, h3) bigger + bold */
.post-content h2, .gh-content h2 {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin-top: 2rem !important;
    margin-bottom: 0.6rem !important;
    color: #ffffff !important;
}
.post-content h3, .gh-content h3 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    color: #ffffff !important;
}

/* Share section */
.post-share {
    margin-top: 2.5rem !important;
}
.share-divider {
    border: none !important;
    border-top: 1px solid #1e1e30 !important;
    margin-bottom: 1.25rem !important;
}
.share-label {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--text-muted) !important;
    margin-bottom: 0.75rem !important;
    font-family: var(--font-body) !important;
}
.share-x-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: #000 !important;
    color: #fff !important;
    text-decoration: none !important;
    padding: 0.45rem 0.9rem !important;
    border-radius: 6px !important;
    font-size: 0.82rem !important;
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    transition: opacity 0.2s !important;
}
.share-x-btn:hover { opacity: 0.8 !important; color: #fff !important; text-decoration: none !important; }

/* ══ Article: tighter line spacing + bigger subtitles ══ */
.post-content p, .gh-content p {
    line-height: 1.5 !important;
    margin-bottom: 0.9rem !important;
}
.post-content h2, .gh-content h2 {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
}
.post-content h3, .gh-content h3 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}

/* Share label lowercase override */
.share-label {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
}

/* Nav Follow button */
.nav-follow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
}

/* Footer follow CTA */
.footer-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.6rem !important;
    text-align: center !important;
}
.footer-follow {
    margin-bottom: 0.25rem !important;
}
.footer-follow-cta {
    color: var(--text-muted) !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}
.footer-follow-cta strong {
    color: var(--accent) !important;
    font-weight: 800 !important;
    font-family: var(--font-display) !important;
    letter-spacing: 0.05em !important;
}
.footer-follow-cta:hover {
    color: #ffffff !important;
}
.footer-copy {
    font-size: 0.75rem !important;
    color: var(--text-muted) !important;
}

/* ══ FINAL OVERRIDES ══ */

/* Section title — force lowercase, no caps ever */
.section-title,
h2.section-title {
    text-transform: none !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.05em !important;
    color: var(--text-muted) !important;
    font-weight: 600 !important;
    font-family: var(--font-body) !important;
    margin-bottom: 0.5rem !important;
}

/* Post card tags — ensure visible */
.post-card-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
    margin-top: 0.6rem !important;
}
.post-card-tag {
    display: inline !important;
    font-size: 0.75rem !important;
    color: var(--accent) !important;
    opacity: 0.8 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Hide Ghost's built-in subscribe section */
.gh-subscribe, .subscribe-form, [class*="subscribe"] {
    display: none !important;
}

/* Article follow CTA */
.article-follow-cta {
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
}
.article-follow-link {
    display: block !important;
    color: var(--text-muted) !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    padding: 1rem 0 !important;
}
.article-follow-link strong {
    color: var(--accent) !important;
    font-weight: 800 !important;
    font-family: var(--font-display) !important;
    letter-spacing: 0.06em !important;
}
.article-follow-link:hover { color: #ffffff !important; }

/* ══ Article subtitles — openclaw.ai/blog style ══ */
.post-content h2,
.gh-content h2 {
    font-family: var(--font-display) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #f0f4ff !important;
    line-height: 1.3 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 0.75rem !important;
    padding-left: 0.85rem !important;
    border-left: 3px solid var(--accent) !important;
    text-align: left !important;
    text-transform: none !important;
}
.post-content h3,
.gh-content h3 {
    font-family: var(--font-display) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #f0f4ff !important;
    line-height: 1.3 !important;
    margin-top: 1.75rem !important;
    margin-bottom: 0.5rem !important;
    padding-left: 0.7rem !important;
    border-left: 2px solid var(--accent) !important;
    text-align: left !important;
    text-transform: none !important;
}

/* ══ Article paragraph — openclaw.ai/blog style ══ */
.post-content p,
.gh-content p {
    color: #8892b0 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 1.25rem !important;
    font-family: var(--font-body) !important;
}
/* Strong/bold text inside paragraphs — brighter */
.post-content p strong,
.gh-content p strong {
    color: #f0f4ff !important;
    font-weight: 600 !important;
}
/* Lists same treatment */
.post-content li,
.gh-content li {
    color: #8892b0 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

/* ══ Article title — openclaw.ai/blog style ══ */
.post-title {
    font-family: var(--font-display) !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #f0f4ff !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.75rem !important;
    text-align: left !important;
    text-transform: none !important;
}
@media (max-width: 640px) {
    .post-title { font-size: 1.6rem !important; }
}

/* ══ Code block — smaller font in article ══ */
.post-content pre,
.gh-content pre,
.post-content pre code,
.gh-content pre code {
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
}

/* ══ Footer openclaw badge ══ */
.footer-openclaw {
    text-align: center !important;
    margin-bottom: 0.5rem !important;
}
.footer-openclaw-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    text-decoration: none !important;
    font-size: 0.75rem !important;
    color: var(--text-muted) !important;
    transition: color 0.2s !important;
}
.footer-openclaw-link:hover { color: var(--accent) !important; }
.footer-openclaw-label {
    font-family: var(--font-body) !important;
}
.footer-openclaw-name {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    color: var(--accent) !important;
    font-size: 0.8rem !important;
}

/* ── Categories Dropdown ── */
.nav-dropdown { position: relative; }

.nav-dropdown-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: var(--text-muted);
    font-size: .85rem;
    font-family: inherit;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s;
}
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle[aria-expanded="true"] { color: var(--accent); }

.dropdown-arrow { font-size: .65rem; transition: transform 0.2s; }
.nav-dropdown-toggle[aria-expanded="true"] .dropdown-arrow { transform: rotate(180deg); }

.dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: #0f0f14;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    padding: 6px 0;
    min-width: 170px;
    z-index: 200;
    list-style: none;
    margin: 0;
}
.dropdown-menu.open { display: block; }

.dropdown-link {
    display: block;
    padding: 8px 16px;
    color: var(--text-muted);
    font-size: .8rem;
    text-decoration: none;
    transition: color 0.15s, background 0.15s;
    letter-spacing: 0.03em;
}
.dropdown-link:hover { color: var(--accent); background: rgba(255,255,255,0.04); }

/* ── Footer About link ── */
.footer-about {
    color: var(--text-muted);
    font-size: 0.7rem;
    text-decoration: none;
    letter-spacing: 0.03em;
    margin-left: 1.5rem;
}
.footer-about:hover { color: var(--accent); }

/* ── About Page ── */
.about-page { max-width: 680px; margin: 0 auto; padding: 4rem 1.5rem; }
.about-title { font-size: 1.5rem; color: var(--accent); margin-bottom: 1.25rem; }
.about-lead { font-size: 1rem; color: var(--text-primary); line-height: 1.7; margin-bottom: 2.5rem; }
.about-section { margin-bottom: 2rem; }
.about-section h2 { font-size: .85rem; color: var(--text-muted); text-transform: lowercase; letter-spacing: 0.05em; margin-bottom: .75rem; }
.about-section p, .about-section li { font-size: .9rem; color: var(--text-primary); line-height: 1.7; }
.about-section ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.tag-inline { color: var(--accent); }
.about-link { color: var(--accent); text-decoration: none; }
.about-link:hover { text-decoration: underline; }

/* ── Mobile: dropdown inside hamburger menu ── */
@media (max-width: 768px) {
    .nav-dropdown { width: 100%; text-align: center; }
    .nav-dropdown-toggle { justify-content: center; font-size: 1rem; color: #fff; }
    .dropdown-menu {
        position: static;
        background: transparent;
        border: none;
        padding: 0.5rem 0 0;
        min-width: unset;
        width: 100%;
        text-align: center;
    }
    .dropdown-link { font-size: .95rem; padding: 6px 0; }
}

/* ── Footer spacing fix ── */
.footer-inner { align-items: center; }
.footer-copy { line-height: 1; }
.footer-about { color: var(--text-muted); text-decoration: none; font-size: 0.7rem; }
.footer-about:hover { color: var(--accent); }

/* ── Mobile/Desktop nav visibility ── */
.nav-desktop-only { display: list-item; }
.nav-mobile-only  { display: none; }

.nav-cat-header {
    color: var(--text-muted);
    font-size: .8rem;
    letter-spacing: 0.05em;
    padding-top: 0.5rem;
}

@media (max-width: 768px) {
    .nav-desktop-only { display: none !important; }
    .nav-mobile-only  { display: list-item; }
}
@media (min-width: 769px) {
    .nav-mobile-only  { display: none !important; }
    .nav-desktop-only { display: list-item; }
}
