        :root { --paper: #F9F8F6; --ink: #111111; --accent-blue: #0047AB; }
        body { font-family: 'Inter', sans-serif; background-color: var(--paper); color: var(--ink); }
        .serif { font-family: 'Playfair Display', serif; }
        .body-serif { font-family: 'Libre Baskerville', serif; }
        
        #reading-progress { position: fixed; top: 0; left: 0; height: 3px; background: var(--accent-blue); z-index: 1000; width: 0%; transition: width 0.1s; }
        
        .marquee-container { background: var(--ink); color: white; overflow: hidden; white-space: nowrap; }
        .marquee-content { display: inline-block; animation: marquee 60s linear infinite; }
        @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

        .hover-lift { transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .hover-lift:hover { transform: translateY(-8px); }
        
        .category-tab { position: relative; font-size: 0.7rem; letter-spacing: 0.15em; font-weight: 700; text-transform: uppercase; opacity: 0.5; transition: opacity 0.3s; }
        .category-tab.active { opacity: 1; }
        .category-tab.active::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 2px; background: var(--accent-blue); }

        .glass-card { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); }
        
        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--paper); }
        ::-webkit-scrollbar-thumb { background: #d1d1d1; border-radius: 10px; }
    