   :root { --primary: #2563eb; --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
        body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: var(--bs-body-bg); transition: var(--transition); overflow-x: hidden; }
        
        .nav-header { position: sticky; top: 0; z-index: 1050; background: var(--bs-body-bg); border-bottom: 1px solid rgba(0,0,0,0.08); padding: 12px 0; }
        .search-pill { 
            border-radius: 50px; border: 1px solid rgba(0,0,0,0.1); padding: 8px 20px;
            background: rgba(0,0,0,0.02); font-size: 0.9rem; width: 100%; max-width: 250px;
            transition: var(--transition);
        }
        .search-pill:focus { outline: none; border-color: var(--primary); background: var(--bs-body-bg); box-shadow: 0 0 0 4px rgba(37,99,235,0.05); }

        .news-scroll { height: calc(100vh - 180px); overflow-y: auto; padding-right: 5px; }
        .news-scroll::-webkit-scrollbar { width: 4px; }
        .news-scroll::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 10px; }
        
        .news-card { 
            display: block; text-decoration: none; color: inherit; padding: 18px;
            border-radius: 16px; border: 1px solid rgba(0,0,0,0.05); background: var(--bs-tertiary-bg);
            margin-bottom: 12px; transition: var(--transition);
        }
        .news-card:hover { transform: translateY(-3px); border-color: var(--primary); box-shadow: 0 10px 20px rgba(0,0,0,0.03); color: inherit; }
        .news-card h6 { font-weight: 700; margin-bottom: 8px; line-height: 1.4; }
        .news-card p { opacity: 0.7; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

        .font-ctrl { cursor: pointer; padding: 4px 10px; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; font-size: 0.8rem; font-weight: bold; background: var(--bs-body-bg); color: inherit; }
        .focus-active { display: none !important; }
        .focus-wide { flex: 0 0 100% !important; max-width: 100% !important; }
        .badge-status { font-size: 0.6rem; font-weight: 800; color: var(--primary); background: rgba(37,99,235,0.1); padding: 3px 8px; border-radius: 5px; }
        
        /* Empty State */
        .empty-state { text-align: center; padding: 40px; opacity: 0.5; }