/* Sidebar styles */ .sidebar { width: 250px; background-color: var(--sidebar-bg); height: 100vh; padding: 20px; box-shadow: 2px 0 5px rgba(0,0,0,0.3); overflow-y: auto; transition: transform 0.3s ease; } .sidebar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; } .sidebar-close { display: none; background: none; border: none; color: var(--text-color); cursor: pointer; padding: 0.5rem; font-size: 1.2rem; } .hamburger-menu { display: none; background: none; border: none; color: var(--text-color); cursor: pointer; padding: 0.5rem; font-size: 1.2rem; margin-right: 0.5rem; } /* Hover effect for both hamburger and close buttons */ .hamburger-menu:hover, .sidebar-close:hover { color: var(--primary-red); } @media (max-width: 768px) { .sidebar { position: fixed; top: 0; left: 0; z-index: 1000; transform: translateX(-100%); } .sidebar.active { transform: translateX(0); } .sidebar-close { display: block; } .hamburger-menu { display: block; } body.with-sidebar { display: block; } .main-content-area { height: 100vh; display: flex; flex-direction: column; } #main-content { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; /* For smooth scrolling on iOS */ } } .sidebar h2 { color: var(--primary-red); margin: 0; display: flex; justify-content: space-between; align-items: center; } .add-feed-button { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 0.25rem; font-size: 1.2rem; transition: color 0.2s ease; } .add-feed-button:hover { color: var(--primary-red); } /* Feed list styles */ #feedList { margin-bottom: 2rem; } .feed-name { display: flex; align-items: center; justify-content: space-between; padding: 0.15rem; margin: 0.25rem 0; color: var(--text-color); text-decoration: none; border-radius: 4px; transition: background-color 0.2s ease; cursor: pointer; position: relative; padding-right: 2.5rem; } .feed-name:hover { background-color: rgba(255, 255, 255, 0.1); } .feed-spinner { width: 16px; height: 16px; margin-left: 8px; border: 2px solid transparent; border-top: 2px solid var(--text-color); border-radius: 50%; animation: feed-spin 1s linear infinite; display: none; } .feed-name.loading .feed-spinner { display: inline-block; } @keyframes feed-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .feed-category { margin-bottom: 1rem; } .feed-category-header { color: var(--primary-red); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.05em; margin: 0; border-bottom: 1px solid var(--border-color); } .feed-empty { color: var(--text-muted); text-align: center; padding: 1rem; font-style: italic; } .feed-error { color: var(--primary-red); text-align: center; padding: 1rem; background-color: rgba(244, 63, 63, 0.1); border-radius: 4px; } .feed-unread-count { display: none; background-color: var(--accent-color); color: white; border-radius: 10px; padding: 2px 6px; font-size: 0.8rem; margin-left: 8px; min-width: 20px; text-align: center; }