        :root { color-scheme: dark; }
        html { scroll-behavior: smooth; }
        .rich-html { color: #e2e8f0; font-size: 1.05rem; line-height: 1.8; }
        .rich-html p { margin: 0 0 .85em; }
        .rich-html h1, .rich-html h2, .rich-html h3 { font-weight: 700; margin: 1.1em 0 .45em; color: #fff; scroll-margin-top: 90px; }
        .rich-html h1 { font-size: 1.6em; } .rich-html h2 { font-size: 1.35em; } .rich-html h3 { font-size: 1.15em; }
        .rich-html ul, .rich-html ol { margin: 0 0 .85em 1.5em; }
        .rich-html ul { list-style: disc; } .rich-html ol { list-style: decimal; }
        .rich-html a { color: #93c5fd; text-decoration: underline; }
        .rich-html blockquote { border-left: 3px solid #818cf8; padding: .2em 0 .2em 1em; color: #cbd5e1; margin: 1em 0; font-style: italic; background: rgba(99,102,241,.06); border-radius: 0 .5rem .5rem 0; }
        .rich-html img { max-width: 100%; height: auto; border-radius: .75rem; margin: 1em 0; }
        .rich-html figure { margin: 1em 0; }
        .rich-html figcaption { font-size: .8rem; color: #94a3b8; text-align: center; margin-top: .3em; }
        .rich-html table { border-collapse: collapse; width: 100%; margin: 0 0 1em; font-size: .9rem; }
        .rich-html td, .rich-html th { border: 1px solid #334155; padding: 8px 10px; }
        .rich-html th { background: #1e293b; }
        .rich-html pre { background: #0f172a; border: 1px solid #334155; padding: .9em 1em; border-radius: .6rem; overflow-x: auto; font-size: .85rem; }
        .rich-html code { background: #1e293b; padding: 1px 5px; border-radius: 4px; font-size: .9em; }
        .clamp2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .clamp3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
        .post-card { transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
        .post-card:hover { transform: translateY(-3px); border-color: rgba(129,140,248,.6); box-shadow: 0 18px 40px -20px rgba(79,70,229,.7); }
        .skeleton { background: linear-gradient(90deg,#1e293b 25%,#273449 37%,#1e293b 63%); background-size: 400% 100%; animation: sk 1.3s ease infinite; }
        @keyframes sk { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
    
